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.