Total Pageviews

Monday, August 1, 2016

8 Great Features of AEM 6.2


AEM’s recent upgrade to 6.2 is offering both marketers and developers a bunch of new features, most of which were developed as a direct result of user requests to Adobe. Here are a few of the best:

  1. Search: The enhanced search feature is both intuitive and user friendly. The more robust function, now moved to the top nav bar for even easier use, can significantly improve the author experience when creating new pages. You can add items right from the search into your new page.
  1. Templates: With this latest version, authors can create templates. But the beauty is – there are controls that can be put in place to dictate who can do what. AEM’s new intuitive interface can allow your business to scale faster, without the risk of authors tinkering where they shouldn’t, by empowering the business users to create pages from templates newly designed on the fly.
  1. Content: Authors can generate content, independent of templates, which can allow for more creative, collaborative thinking. Authors can even work with text fragments that can be assembled into bigger content pieces. Then they can use the new Asset Insights to know how that content is performing.
  1. Social: The updated version of AEM is more powerful in connecting communities, and gives you a greater, more intuitive, capacity for reusing content across channels. In addition, there is a component to capitalize on user generated content, through newly developed forums, blogs and calendars, helping to keep your message fresh and authentic. And you can identify your ‘top user experts’ through a simple algorithm.
  1. Personalization: It’s true that 75% of consumers say they are frustrated by generic marketing messages. The demand for a one to one connection is real and you’ve got to provide useful messaging. The tighter 6.2 integration with Adobe Target allows you to test and target digital content quickly, so you can deliver the right message to the right customer at the right time. And better yet, you can geographically define ‘areas’ of your site to drill down even further.
  1. Forms: AEM forms lets you set up a form template that has specific content styles and layouts that you can then apply across any of the forms on your site. In addition it includes a concept called Form fragments. Which allows authors to easily use components of a form throughout the site such as an address block, signature or income details. In addition, 6.2 gives users the ability to output an interactive PDF form to fill out and submit. AEM forms also includes integration with e-sign for document signature and verification.
  1. Repository: In the latest version, Adobe has added some better performance and scalability with an enhanced data repository. It includes better support for a more enterprise level database system in the form of MongoDB Enterprise 3.2. In 6.2 they also have added support for s3 with a crx2oak migration tool. Allowing users to more easily transition to Oak. Addition of search enhancements like Faceted Search, Suggestions, Spellchecker and more.
  1. References: Let’s face it, Adobe does not have a great reputation for learning resources or support. But they are trying to change that with this latest release. They have created a reference site for developers that contains their best practices and some best in class components. It allows you to see how things work in AEM without having to spend a lot of time on your own figuring things out. You can download the AEM Package or review the source code.

Overall, Adobe has made some great enhancements to the upgrade and they are covered more in depth in some of the Summit presentations, available to watch online. And make sure you check back to our blog as we continue to offer great tips on successfully working in AEM from both a developer and a marketing perspective.

Friday, June 24, 2016

The 5 Hardest AEM Concepts for New Developers


Even experienced developers struggle when trying to transition to the Adobe Experience Manager (AEM) platform (formerly Day CQ5). Once you fully grok AEM, it can be a joy to develop against; the APIs are generally straightforward and it makes presenting content easier than any other platform I have encountered. So why do so many developers have trouble ramping up on AEM? AEM turns traditional WCMS products on their head. No other CMS really works in a similar manner and developers usually struggle with getting over their pre-conceived notions of how a CMS should work. Here are some of the most common concepts in AEM which trip up many new developers. 1 YOU ARE BUILDING STATIC HTML ...or at least you should be. Unlike most CMS systems, AEM comes with its own caching system, the Dispatcher. The dispatcher is an Apache Httpd module which proxies and caches static HTML and assets served by CQ Publishers. This significantly increases the number of requests which can be served and decreases the load on the publisher. The major impact of this is components must be created to be cachable manner and should not require server side logic to be executed with every request. If that is not the case, a single component can require the entire page to not be cached and the entire page be rebuilt for every request. Of course, most projects will require components which require server-side logic and developers will need to use tools such as AJAX and SSI to create sites which have server side logic but still enable caching. 2 OSGI & BUNDLES WILL SAVE YOUR PROJECT Often when projects start working on AEM, they start with developing JSPs exclusively. This is partially driven by the examples available for AEM as well as the training provided. Putting logic in JSPs can work for small, simple projects, but it usually results in the overall complexity of the site spiraling out of control and a quick decline in code quality as the project size grows. Fortunately, AEM provides a robust, flexible service framework in OSGi. By using OSGi, developers can separate the business logic from the presentation logic, provide modularity and reduce the code complexity. Creating OSGi Bundles for a project's service code does require some additional work, however it will save time in the long run. If you have not built an OSGi Bundle already for your project, please watch our webinar on AEM Maven Build and Deployments . 3 THERE ARE MULTIPLE WAYS OF DOING EVERYTHING IN AEM AEM is an amalgamation of a number of different open source projects, naturally it also exposes a number of different APIs and concepts for developing applications. Just from an API standpoint, AEM has the JCR, Sling and CQ APIs and the various APIs offer different development and architectural methodologies, often with overlapping functionality. For example, say you need to invoke code when content changes, you could use a JCR Observation Listener, Sling Eventing or CQ Workflow Launchers. The same situation applies for creating and reading content, responding to requests, creating automated tasks and many other common development activities in AEM. The important thing for newer AEM developers, is to keep in mind there are options and to make sure the approach they have chosen is the best, not just the first one they found. 4 AEM IS NOT JUST A CMS IT'S A WEB APPLICATION FRAMEWORK Many older CMS tools such as EMC Web Publisher, Alfresco, Fatwire or TeamSite rely on baking flat content which is then published to a web server. This serves to fundamentally de-couple the Content Management platform from the application serving the website. AEM works completely differently, AEM provides both the Content Management platform as well as the application server and both of which use the same underlying application and architecture. For pure-CMS types, this is a pretty shocking adjustment. It requires a more integrated skillset with both back end and front end skills to effectively adjust to developing on the AEM platform, since the CMS is so intertwined with the web application. Additionally, this presents a number of performance concerns and architectural questions which are normally not handled by CMS developers. It requires adjusting from a mindset of generating and pushing content to a black box into a mindset of generating and serving content and handling all of the complexity of the web. 5 AEM IS NOSQL Most developers come into AEM from a database-driven background, see tools like JCR-SQL2 and think, "oh, this works like a Relational Database". This is, unfortunately, completely wrong. AEM is based on the Java Content Repository model, which is much closer to a NoSQL database than a Relational Database. It has very different performance characteristics than a Relational Database, but also offers a much richer and more flexible data model. The blinders which come with the Relational Database mindset often either leads to developers attempting to map table-based data structures into AEM or adding excessive node type constraints. Mapping table-based data directly is problematic, as AEM does not handle large number of child nodes gracefully and you lose the value in understanding the relationships and hierarchy of your content. Excessive node type constraints limit developers freedom and generally provide little value beyond runtime exceptions.