Tuesday 2 May 2017

AEM 6.3 New Features which a developer should be aware of

AEM 6.3 New Features Which a developer should be aware of..

Adobe has release 6.3 version which is termed as a Minor Release, with general availability date April 26, 2017. AEM 6.3 is basically an upgrade to AEM 6.2 code base. JCR version used in current version is Apache Jackrabbit Oak 1.6.1. Quickstart uses Eclipse Jetty version 9.2.19.

What is fresh in AEM6.3 ?
  •     Enhanced functionality
  •     Customer Fixes
  •     High priority customer enhancements
  •     general bug fixes for product stabilization
  •     Also includes feature pack, hot fix, and service packs
Release Notes: Read here

New things for administrators.
The latest AEM 6.3 introduces support for below operating systems and servers
  • Server OS
           Microsoft Windows Server 2016
  • Application Server
           IBM WebSphere version 9.0
           IBM WebSphere Server Continuous Delivery (LibertyProfile) with IBM JRE 1.8
Useful new features for developers are listed below based on the developer priority.

Content Repository Changes:
  • A new TarMK format is used in 6.3 which ensures optimized runtime and maintenance performance. Ensure if we are doing a release upgrade, the existing Tar files to be rewritten to the new Oak Segment Tar file format to comply with AEM 6.3.
User Interface Enhancements:
  • In AEM 6.3 the user interface has been fully transitioned to the Web Component based Coral 3 UI framework(To comply with 2017 Adobe Marketing Cloud UI design). Classic UI is still available but majority of the touch UI entry points for classic UI are disabled considering Adobe's plan to deprecate the Classic UI in AEM in April 2018.
Security Improvements:
  • Quick start install through command line asks user to setup admin password, so that default password in not in use.
  • For https access of AEM, an SSL setup configuration has been added now in 6.3
  • Now store all OSGI configuration properties in a protected encrypted form instead of plain text.
  • Cross-Origin Resource Sharing can be configured for separate policies(for different origins) and resource paths.
  • OAuth level enhancements for token authorization.
  • All closed user group operations are now more scalable, reliable, and faster with AEM latest version.
Scalability Additions
  •  To accelerate usage of AEM UI and content from author instance in a secure way, AEM 6.3 prompts usage of CDN's.
Upgrade related improvements
  •  Basically the upgrade process is much quicker now, with multiple automated processes.
  •  Pre-Upgrade Compatibility Checks are now faster.
  •  Pre-Upgrade Maintenance Optimization now uses Java Management Extensions(JMX) which allows for automation of methods.
  •  Post-Upgrade Check Automation now scan for errors after installation.
Projects and workflow Improvements
  •  Projects section provides a calendar view of projects. Also we now can quickly create projects reusing team structure.
  •  Workflow inbox are organised with calendar view which allows to search and filter tasks.
Page, Components and Template Editor Changes
  •  AEM 6.3 features various refinements, improved loading speed and smarter reloading.
  •  In 6.3 the Core Components are open source and distributed via GitHub, so a better distribution environment, ability for implementation partners and customers to contribute back.
Content & Experience Fragments
  •  Content Fragments allow working on text based content out-side the context of an experience.
  •  Experience Fragments allow to manage sections of experiences that can easily be reused and distributed.
Adobe Experience Cloud Integrations
  •  3rd party tags can be pulled through Adobe cloud integration now.
  •  The Page Editor provides a simple way to load the Activity Map, which provides a dashboard of real-time analytics to monitor audience engagement of the web pages.
MSM Add ons
  • Previous Blueprint Control Center is now replaced with new Livecopy Overview UI which provides an instant view of the status.
  • Commerce Integrations
  • Commerce Integrations made easier for some of the providers like Magento,Symphony, SAP hybris 6.x version.
Communities & Assets improvements
  •  Enhancements to Community Site management like New account management features with email-based verification, New We.Retail Community reference implementation etc.
  •  New and enhanced Assets Insights capabilities and integration like Assets Templates, better collaboration, 3D files support, Scalabilty and Performance, Search improvements.
 Dont have the AEM 6.3 Installer yet, still interested to see the UI? Please watch the video.

Related Links
Brands in AEM-Personalizaton 
Client Context

Friday 7 April 2017

Create Brands in AEM Personalizaton

Brands in AEM
We need to create brands for starting with Personalization.
The personalization configuration page can be opened by clicking on Adobe Experience Manager link as below.

On clicking on personalization will open further configuration for audiences, offers, activities.

Links to create audience, offers, activities.

Audiences: http://localhost:4502/libs/cq/personalization/touch-ui/content/audiences.html
Activities: http://localhost:4502/libs/cq/personalization/touch-ui/content/activities.html
Offers: http://localhost:4502/libs/cq/personalization/touch-ui/content/offers.html

Now let us see how to create brands

Both activities/offers help to create a new brand.

Once we are in activities/offers, click on create, Create Brand below screen appears.

Enter the Brand title and relevant tags, click on create.

Now we have a new brand created.

Under the new brand we have options to create Folder or Offer, Area, Area As Live Copy.

Based on the requirement we can now create any levels of various personalized content this way.

Related Posts:

Personalization in AEM 6.2 and later

Personalization in AEM 6.2

In AEM 6.2 personalization works based on Experience, Activities and ContextHub. Let us see how can we test a basic Personalization in AEM 6.2.

Below are the steps to create personalization in Latest AEM.

  • -Add and configure ContextHub Segments
  • -Create a Brand and related Activity, (We need to select ContextHub as Engine and create its Experiences from the new segments);
  • -Add targets and relevant personalization components for each Experience.
  • -Configured the targeted component to use ContextHub as Engine;
Programmatic Personalization: Previous Posts
Programmatic personalization
Create personalization in older version of AEM
Watch the Personalization video here

Let us create a sample personalization component in Geometric site.

Once we open a Geometric Outdoors page we can see the  Targeting option as below. By default BRAND is selected as 'Geometric Outdoors'.

To create our own activity for the selected brand, click on the '+' symbol as shown below . In the new activity form  Enter a name (For eg:'My Target') and select target engine. (Context Hub is selected to ensure we are using our own segmentation from AEM). We can also use Adobe Target configuration to create personalization.

Once new activity is created, select the activity as shown below.

Now in Targeting mode, click on 'Start Targeting', A default experience will be always enabled. Now add new experience by clicking on  '+ Add Experience Targeting'

Select the Context Hub Segments which you have created referring Previous post. Basically we have one male(Test Male CH) and one female(Test Female CH) ContextHub segments created as experience.

Now author an image component in empty area of the page.

Right click , select Target, so that the component is enabled for target.

Now right click and  select Experiences,

Once you select the 'My Target', you can see all configured experiences appearing.( We can disable any of them in case they are not needed.)

Now go back to targeting mode, start targeting, select the component and select the experience to be updated. Click on 'add offer'.

Select the new image to be appeared on the corresponding experience. Click 'Next' for 'Create', 'Target', 'Goals & Settings' and save the Targeting.

We are done with our targeting configuration.

Testing the configuration:

Now click on preview select the user/ Persona and change for male and female.

Once male user is selected from PERSONA

Once female user is selected from PERSONA

We can test the persona, Geo-changes using Client context also.

Watch the video here

Related Posts:

ClientContext in AEM

The Client Context holds dynamic user data. Content Targeting works based on Client Context. Various user aspects can be used to target specific people and this data comes from Client Context. Client Context data can be used for analytics and other usage in a page using Javascript. Touch UI uses Context Hub instead of Client Context.

Client Context works based on below aspects:

The session store: Holds the dynamic user data.
The Simulation UI: Which displays the user data and assists in simulating the user experience.
A javascript API: Page can interact with session stores.

In classic UI, selecting the icon opens the Client Context as shown.

Related Posts:

Simulation examples:

We can click on the user icon as shown below and select different types of users and test the user personalization in various pages.

Now click on preview select the user/ Persona and change for male and female.

Once male user is selected from PERSONA

Once female user is selected from PERSONA

ContextHub/Segments - Audience Creation

ContextHub/Segments - Audience Creation

ContextHub is a new form(Touch based) of Segments available in previous version of AEM. The ContextHub page provides information about the default and user created stores and UI modules that have been created, the client library folders that are loaded, and links to useful pages.

Click on below link to open your local ContextHub Audience Page in AEM 6.2

It provides grid/ list views.

Related Posts:

ContextHub 'Create' provides 2 options

  1. Create Target Audience: Helps to configure the Target Audience by selecting the Target Configuration, which is already configured.
  2. Create Context Hub Segment: A section where we can add new segments and update existing ones.

Below screen lists the segments available.

Once you click on Create Context Hub Segment, below screen appears
Enter the segment title and boost value if it has to be boosted on evaluation

Once Context Hub Segment is created, select the newly created one and edit it

Now click on the + Icon and Insert New Component,  select 'Container AND'

Again click on the newly added container AND and select 'Comparison: Property - Property'

Now the container appears as below with property null.

Now edit the property as below , so that the newly added Context Hub Segment becomes a 'male' test based on profile.

Once we select the user/persona as shown below the Segment satisfy the condition

If persona is selected as female the condition becomes un-satisfied.

Related Posts:

Monday 27 March 2017

Upgrading Previous versions of CQ/AEM to AEM 6.2

Notes on Upgrading to AEM 6.2

We worry a lot when we get a request from client to Upgrade AEM from older version to AEM 6.2. Let us see some important things to be taken care while doing this activity.
Basically we go with product upgrades for two reason. Firstly the support for old versions gets expired. secondly, there are lots of new features and security upgrades in newer versions. AEM upgrade activities should include implementation, regression, full testing, downtime, go-live and production operations etc.

Adobe recommends In place upgrade method for upgrading to AEM Latest versions. This is one of the most tested method whith in Adobe. There are many individual tasks that are performed during an in-place upgrade. Also AEM 6.2  requires JRE 1.7.x (64bit) or later.

Upgrade Steps in High Level

  • Analysis
  • Planning
  • Preparation
  • Execution
  • Post Upgrade Activities

AEM upgrade has two steps basically.
1)Upgrading the repository. (Using crx2oak tool)
2)Upgrading AEM to 6.2.
Note: For AEM 6.1 to 6.2 upgrade, we don't have to do step (1) since we already have OAK(CRX3).

Version dependencies:
AEM versions 5.4 to AEM 6.1 can be directly upgraded to 6.2.
AEM 5.3 and below versions needs to upgrade first to version 5.4 or above, then to AEM 6.2.
AEM 6.1 to 6.2 upgrade can be carried out by just upgrading AEM(Not repository), In all other versions we need to upgrade the repository.

Some precautions. 

If your code is well maintained, and components are granular, you are safe. Ensure the infrastructure team is fully understood the architectural changes. Another success factor is you testing the upgrade activities minimum 3 times in development machines, to ensure all integration, third party APIS work perfectly.

Upgrade Steps:

Preparing the source instance: Here we are ensuring our environment is ready for upgrade.

  •     Create a full backup - Take a backup of content and any custom codes
  •     Cleanup any content -  remove unwanted content, packages, workflows
  •     Consistency and Traversal Checks - Validate system checks using Adobe tools
  •     Run a test suite - Ensure you have a test suite with all  functionality checking
  •     Disable custom authentication mechanisms - Disable any hooks related to authentications.
  •     upgrade customization - Upgrade your customs codes to reflect new APIs, removing deprecated ones.
  •     Stop the instance 
  •     Archive then delete the log files - Delete all old log files.

Content Repository Migration : Migrate the repository to Apache Oak Using crx2oak tool.

AEM Upgrade: Start the AEM 6.2 quickstart jar with the appropriate run modes (author, publish)

Post Upgrade : 

  • Verify the upgrade.log and error.log for any issues.
  • Ensure the home page is loading fine.
  • Run the same test suite which you ran before upgrade and ensure things are normal.
Related Posts:

Current scenarios: At present teams are upgrading various cq/aem versions as below.
CQ 5.3 to AEM 6.2
CQ 5.4 to AEM 6.2
CQ 5.5 to AEM 6.2
CQ 5.6 to AEM 6.2
CQ 5.6.1 to AEM 6.2
AEM 6.0 to AEM 6.2
AEM 61. to AEM 6.2

Thursday 9 March 2017

AEM: Adobe Analytics integration with Adobe Campaign

Basically Analytics integration for AEM website and mobile app procedure remains same. Below given mobile app procedures.

Adobe campaign: 

Adobe Campaign lets you design and orchestrate targeted and personalized campaigns on multiple channels, such as e-mail, direct mail, SMS, Wap Push, search, social etc.

Adobe Analytics: 

Analytics service provide various levels of views like visitor geo-location, what days they come the most frequently, and how long they’re staying as well as several metrics based on e-commerce data, CRM attributes, engagement, etc

Adobe Analytics data can be used to create effective Adobe campaign across channels. Adobe Analytics & Campaign Combined Together can delver following capabilities.

  • Performance measurement in real time
  • 360-degree qualification and targeting
  • Highly personalized re-marketing

Campaign to Mobile App

The Mobile App Channel lets you use the Adobe Campaign platform to send personalized notifications to iOS and Android terminals via apps. Basically there are two delivery channels available:

  • An iOS channel
  • An Android channel
--------------Similar Posts:----------

There are ways to optout it. The NMAC opt-out management (mobileAppOptOutMgt) workflow updates notification unsubscriptions on mobile devices.

Adobe Campaign is compatible with both binary and HTTP/2 APNS.

To use the functionalities of the Adobe Campaign Mobile App Channel, you need to change/adapt your mobile application to integrate it into the Adobe Campaign platform using Two SDKs (one for android , other for iOS)

How Campaign Collects Data
Action, Event activities support below data collection methods.

1) The Data loading- RDBMS: The Data loading (RDBMS) activity lets you access this external database directly and to collect only the data required for targeting.

2) The Loading- SOAP: The Loading (SOAP) activity is used in addition to the data loading (RDBMS) activity when it is not possible to collect data directly via the FDA in an external database.

3) Data loading (file): The Load (File) activity lets you directly access a source of external data and use it in Adobe Campaign. A scheduler can be run to retrieve the file.

Campaign set up procedure steps are given below. 

Configure connectors
Collecting information (collect the technical specifications which define the set of parameters that enable Adobe Campaign and the mobile application to communicate, like integration key, variables, urls etc)

Creating the service
Adobe Campaign administrator needs to create and configure a service linked to the mobile application

Push Notification services.
APNS (Apple Push Notification Service) for Apple
GCM (Google Cloud Messaging) for Android

Adobe Campaign uses two types of APIs:
•    Generic data access APIs for querying the data model data
•    Business specific APIs that let you act on each object: deliveries, workflows, subscriptions, etc.