Saturday 24 February 2018

AEM 6.4 Features

Our team had a chance to attend partner session of AEM 6.4 and excited to see the new features of AEM 6.4.

We are going to explain all of them in latest blog posts soon.

AEM 6.4 New Features

AEM 6.4 is a powerful digital marketing single platform which takes advantage of cloud, online & physical channel connectivity utilization of machine learning to personalized customer experience. AEM 6.4 is basically a cloud based architecture and shift content management from 'channel driven' to 'journey driven' now.
 

The latest AEM features are given below

1. Features based on cloud integration:
Efficient Omni-channel experience:
The latest tightly integrated Adobe Marketing cloud and Adobe experience cloud helps utilize content and data more closely than before. This helps in a fluid experience across all touchpoints.

Adobe Experience Cloud and Security:
Now the managed service clients have access to cloud manager which accelerates deployments and updates through a dedicated and powerful devops system which also ensures the security across channels.

Intelligent content delivery:
Utilizing the Sensei,  we can design , automate the best experiences to provide a 360 degree view of content which is most sensible to a specific user when ever he requires and in a suitable place.

What s Adobe Sensei?
 Adobe Sensei, is Adobe's Artificial Intelligence and machine learning framework, which automates the delivery of personalized content, empowering marketers to work smarter and faster.

Flexibility of accessing assets from Experience Manager to Creative cloud.
The Marketing cloud - Creative cloud(AMC-ACC) integration helps search, access, modify an asset stored in Experience Manager more quicker from a creative cloud.

3D capabilities:
Experience manager integration with Adobe Dimension CC, 3D assets can be easily convert to marketing assets.

2. Features based on AEM Usability

New Single Page Applications(SPA ) capability in AEM:
Now we can utilize the SPA editor and utilize any latest technology to integrate across multi channels.

Smart Tags and utilization:
Now using smart tags , we can discover relevant images easily & quickly. Utilizing

Dynamic Media Capabilities & Smart Imaging
Now utilizing the intelligent media capabilities, smart imaging understands the situation and compress the images and ensures a faster delivery. Smart crop is based on Adobe Sensei and detects the image which helps to crop the images more efficiently.

Automated Forms conversion:
A smart way of converting forms in other formats like PDF to a more user friendly mobile supported presentation.

Find our site violate something? Please notify us through the comments section or email us.

the Adobe Sensei capabilities, we can train the algorithm and in future use this information to automatically add metadata keywords.

https://www.youtube.com/channel/UCbDTGaDneAbj_RCX27VE4cA/videos



Subscribe Our YouTube Channel Here.


Read More

What’s New in Adobe Experience Manager

Adobe Redefines Content Intelligence to Transform Customer Experiences


AEM Capabilities


Interested in taking a first look at AEM 6.4 UI and dash board? Watch this video.

AEM 6.4 Features

Advantages of using Adobe Cloud Manager for AEM

Dynamic Media & Related Features in AEM 6.4

OVERVIEW  - AEM 6.4

Machine Learning Enabled Features in AEM
 

Tuesday 13 February 2018

WCMUsePojo class & Alternatives in AEM?

AEM’s component development needs a back end logic to retrieve values from back end. Sightly is a templating language which together with WCMPojo helps to create components.

This approach(Sightly + WCMUseClass) provided better decoupling of the presentation layer vs business logic, thus code will be more maintainable and also easier to debug. AEM 6.1 or 6.2 uses WCMUsePojo class (or even Sling Models) for back end logic. Adobe recommends Sling Models as a best way of implementing AEM WCM Components with version AEM 6.3.

So in Brief,

We can use simple Pojo (without extending Adobe's class) with java-use-api. Cases where resources/services are not easily available, we can extend WCMUsePojo to get the ability to use resources/services. In an advanced way, we can go with Sling Models which will give more flexibility and ease, because it uses annotations.

Important Sling Annotation Reference are given below.

@Model : declares a model class or interface

@Inject : marks a field or method as injectable

@Named : declare a name for the injection (otherwise, defaults based on field or method name).

@Optional : marks a field or method injection as optional

@Source : explicitly tie an injected field or method to a particular injector (by name). Can also be on other annotations.

@Filter : an OSGi service filter

@PostConstruct : methods to call upon model option creation (only for model classes)

@Via : change the adaptable as the source of the injection

@Default : set default values for a field or method

@Path : only used together with the resource-path injector to specify the path of a resource

@Exporters/@Exporter/@ExporterOptions/@ExporterOption : for Exporter Framework

WCMUsePojo Vs Sling Models


  • Mixed POJOs - Pure POJOs
  • Extends from WCMUsePojo - Standalone class with '@Model' annotation and having no keyword
  • More code required to retrieve common objects or property values - Easier methods to retrieve common objects or property values
  • Uses  Felix annotation '@Reference' to reference to an available OSGI service - Uses '@Inject' or '@OSGiService'
  • In case of WCMUsePojo, we have to overwrite the activate() method - init() method will be called in the @PostConstruct annotation
  • Not annotation driven - Annotation driven

Thursday 1 February 2018

How do we estimate an AEM Migration project?

There are scenarios where we need to migrate any existing CMS content to AEM. The steps for migration are given in my previous post.

Now let us see how do we estimate the migration activities.






Below given the activities for doing a proper estimation. The assumption is that the entire site is re-created in AEM as is.
  1.         List down the templates: Identify all the templates in site.
  2.         Estimate the templates: Estimate time for creating each template.(Skip the same types, consider only unique ones)
  3.         List components: Identify all the identical components to be created.
  4.         Estimate the components: Define time for each unique component creation.
  5.         Analyze the current CMS content ( XML/JSON Data) : Analyse the content. It may have textual content, metadata, tags etc.
  6.         Estimate the scripts for each components (XML/JSON Data to AEM Component): Now estimate time required to migrate the content using any of the content migration approach/ scripts.
  7.         Analyse asset migration: Find out how the assets are organised in current system. Find out the ways to move them to AEM.
  8.         Estimate asset migration and categorization(Extract and update metadata for digital assets on AEM): Here we need to calculate time required to move entire asset(not duplicates) to AEM.
  9.         Estimate Analytics part: Calculate the analytics implementation
  10.         Analyse the integrations: Find out all integration points and ways to replicate it in AEM.
  11.         Estimate Integration (Login, Authorization, Search): List out the time for integration implementation
  12.         Analyse the workflows:Find all the workflows to be created in AEM
  13.         Estimate Workflow creation: Estimate time for creating workflows based on the complexity.
      
If the site has to be redesigned, we need to consider the design activities also as part of estimation. We also need to estimate time for,
  • Environment setup(dev,qa,prod,dr)
  • Testing
  • Release configurations & activities
  • Additional authoring after the content migration.
Above activities helps to provide a valid estimation for any migration project.
Migrating a CMS website content to AEM? Follow this steps:


Read More:
AEM Integration with DOJO
Analytics Integration with AEM
WCM Use class
AngularJS with AEM
New features in AEM 6.3
HTL Tips



Tuesday 30 January 2018

Steps to migrate third party CMS website to AEM

AEM(Adobe Experience Manager) is getting more and more popular, due to its enterprise capability for managing content. There are cases where we need to migrate third party CMS site to AEM.
Some examples could be Drupal to AEM, Salesforce to AEM e.t.c.

Let us understand the common process of migration. I will take you through the steps to migrate any third party CMS websites to AEM.

The estimation part of AEM project migration is given in this link.

Below listed are the major steps in a migration project.
  • Analysing the current system with integration elements involved
  • Define content strategy
  • Define asset Strategy
  • Design the new system with integration
  • Migrate the content to new system
  • Test the new system
Background

While migrating a site, we should have an understanding of the current site CMS; then map it with related elements in AEM.

For eg. A site made in Wordpress will have the content stored in a location and images, videos, pdfs in some repository. Understanding the layers in both CMS plays a big role in delivering a successful migration.

Setting up the environment
To ensure a smooth migration, we need an AEM DEV environment ready where we can quickly move the data from current system. The minimal DEV environment configuration could be just an author instance with 2 to 4 publish instances and a dispatcher.

Strategy to Migrate Content 
Below steps to be carried out for a smooth content migration
  •     Content Evaluation
  •     Cleaning up/ Sanitizing the content    
  •     Content Mapping - Organizing the content hierarchy
  •     Design
               - Based on the analysis of existing system, we need to design a solution which has proper
               digital asset structure, metadata, tagging, client library, target AEM templates and
               components
  •     Content Migration - There are many ways to do this.
              - Manual Migration(When the content in the old system is not structured)
              - Automation Migration(When the content in the old system is structured)
              - Hybrid Migration(When there is structured and unstructured content in the old system)
  •     Content Verification
Assets Strategy
Assets plays an important role in any CMS. We need to carry out,
  •     Asset migration and categorization
  •     Extract and update metadata from old system to AEM
Getting into action
Based on the design we need to have templates, components created.

We need to identify the tools/ methods available to export data from current system to AEM once the templates and components are ready. AEM follows hybrid way of content migration in almost all scenarios.

REST API for migration
Some of the CMS system provides a REST API layer where the content is exposed. We can invoke them in AEM and get those data exported into AEM directly.

To achieve this, our migration scripts should have,    
   -  Map the templates from current system to AEM
   -  Map the components from current system to AEM
           

 Once the content and assets are migrated, we can start manual testing on the pages by creating new pages as per design.

How do we estimate an AEM Migration project?
  •     List templates
  •     Estimate the templates
  •     List components
  •     Estimate the components
  •     Analyze the current CMS content ( XML/JSON Data)
  •     Estimate the scripts for each components (XML/JSON Data to AEM Component)
  •     Estimate asset migration and categorization(Extract and update metadata for digital assets on AEM)
  •     Estimate Analytics part
  •     Estimate Integration (Login, Authorization, Search)
  •     Estimate Workflow creation

 Need help?
If any one facing trouble in identifying the strategy, let us know through the comments section.

https://www.youtube.com/channel/UCbDTGaDneAbj_RCX27VE4cA/videos



Subscribe Our YouTube Channel Here.

Read More:
AEM Integration with DOJO
Analytics Integration with AEM
WCM Use class
AngularJS with AEM
New features in AEM 6.3
HTL Tips

   
   

Friday 12 January 2018

Rule Engine Integration with AEM

We have been integrating various applications with Adobe experience Manager. Some examples are search, social integration etc.

There are cases where we need to integrate Java based rule engines (For e.g Drools, IBM ODM, JRule etc.). Let us see how we can integrate them.

What is rule engine?
Rule engines are used to provide business based decisions while processing a data. For e.g., when a loan is to be processed based on a lenders salary, and many parameters, we can have a rule engine integrated with AEM.

How can we achieve this?
To achieve this we may need multiple layers as shown.





Business rule layer
As seen in diagram, The rule developer (skill set is prior working knowledge on rule engines) develops the rules, test them and deploy the rules. These rules are created on a rule engine.

The rule developed resides in a rule repository (back-end of the rule engine).

The Business professional (Skill set is business understanding of rules) who creates the rules, will have a UI access of rule engine and based on the rule developers rules, he creates new rules to satisfy a business condition.

Web service layer.
Here the Java is deployed on any server. The Java code will perform activities of invoking the Rule engine and process rules;  this rules will be handed over to AEM through an https layer in xml or json format.

Any questions, let us know through the comment section?

Read More
http://aem-cq-tutorials.blogspot.in/2016/09/integrate-aem-with-dojo.html
http://aem-cq-tutorials.blogspot.in/2017/03/aem-adobe-analytics-integration-with.html
http://aem-cq-tutorials.blogspot.in/2017/02/sample-wcmuse-java-file-for-aem.html
http://aem-cq-tutorials.blogspot.in/2017/02/integrating-angularjs-framework-into.html
http://aem-cq-tutorials.blogspot.in/2017/02/new-features-adobe-experience.html
http://aem-cq-tutorials.blogspot.in/2017/02/sightly-htl-tips.html

Thursday 4 January 2018

A program managers thoughts on site migration to AEM

Let us see how a project manager should think before he starts with a site migration to AEM. What things he needs to consider? The history of AEM has seen thousands of migration to AEM. But how many were successful? How many of them were cost effective? Let us do an analysis.

Planning before he starts.
There are multiple planning sessions to be done before actual migration starts.

Cost/ Budget Planning

The PM should think of the total cost estimated for the complete implementation. This includes initial setup, UI development/ UI changes, developing new feature additions, QA tools, platforms, integration costs, licensing costs etc.

Technical Planning

PM should get a clarity on the total number of sites, UX changes, data conversions, system integration, any analytical and personalization items.

Team Planning

Right mix of technology team is necessary for any development. For an AEM, the considerations should be the back-end, front-end capabilities of a developer including various integration through web-service layer, analytics, search etc.

Implementation Planning

Define the correct time frame with a proper sprint planning. Include the team in discussions is necessary for this.

Integration planning

Third party integration can be complex task when the developers are not aware of it. Always try to add a developer who knows the various integration like search, analytics, web-service etc.

QA Planning
Define a QA Strategy and ensure the test cases are prepared well before the actual development.

Deployment Planning

Ensure the DEV and QA work together to make the deployment process success. Define a deployment strategy considering latest tools and technologies available.

Set a well defined communication channel for the deployment process which makes the deployment smooth and success. Ensure the roll back and disaster recovery are considered in planning.

Post deployment planning

Regular Monitoring of performance and any backups are to be planned as part of this.

He or she should also consider the partnerships for AEM implementation, Adobe cloud solutions and infrastructure in course of time. Let me know your migration experiences through comments section.

Videos on AEM & Persistence
AEM Persistence TarMk & MongoMK Series 1
AEM Persistence TarMk & MongoMK Series 2  AEM with TarMK
AEM Persistence TarMk & MongoMK Series 3  AEM with MongoMK
AEM Persistence TarMk & MongoMK Series 4  TarMK Vs MongoMK

Read More
Rule Engine integration with AEM
 

Tuesday 12 December 2017

AEM With MongoMK - Options

We can have 2 types of MongoMK configurations for AEM Oak Clusters.

1) Failover for High Availability in a Single Datacenter




Here a primary MongoDB will be used for Read/Write. So the multiple Oak instances accessing a MongoDB replica set within a single data center.
This setup helps for high availability and redundancy in the event of a hardware or network failure

Major advantages are,

  • Scalability
  • High availability
  • redundancy
  • automated failover of data layer

One of the disadvantage of this setup is, there are some performance issues when compared with TarMK.

2) Failover Across Multiple Datacenters

Here multiple Data Centers are involved. Primary MongoDB will be replicated to secondary systems. So multiple Oak instances accessing a MongoDB replica set across multiple data centers. In this configuration, MongoDB replication provides the same high availability and redundancy as comapared to previous configuration but it also includes the ability to handle a data center outage.



Major advantages are,
  • Scalability
  • High availability
  • Redundancy
  • Automated failover of data layer

Final notes:
Always remember this. Adobe highly recommends TarMK as the default persistence technology for both the AEM Author and Publish instances, except in the use cases outlined here.

Foot notes:
What is MongoDB Arbiter. Why we need an Arbiter?

In software the CAP theorem says, "If there are equal number of servers on either side of the partition, the database cannot maintain CAP (Consistency, Availability, and Partition tolerance). An Arbiter is specifically designed to create an -imbalance- or majority on one side so that a primary can be elected in this case."

As per MongoDB site(https://docs.mongodb.com/v3.4/tutorial/add-replica-set-arbiter/) "Arbiters are mongod instances that are part of a replica set but do not hold data. Arbiters participate in elections in order to break ties. If a replica set has an even number of members, add an arbiter. Arbiters have minimal resource requirements and do not require dedicated hardware. You can deploy an arbiter on an application server or a monitoring host."

If you get an even number of nodes on both sides, MongoDB will not elect a primary and your set will not accept writes.

Videos on AEM & Persistence
AEM Persistence TarMk & MongoMK Series 1
AEM Persistence TarMk & MongoMK Series 2  AEM with TarMK
AEM Persistence TarMk & MongoMK Series 3  AEM with MongoMK
AEM Persistence TarMk & MongoMK Series 4  TarMK Vs MongoMK

Read More
Rule Engine integration with AEM


https://www.youtube.com/channel/UCbDTGaDneAbj_RCX27VE4cA/videos



Subscribe Our YouTube Channel Here.