Saturday 2 January 2021

All you need to know about Adobe Client Data Layer

What is Adobe Client Data Layer

A data layer in general consists of a JavaScript client side event driven data store that can be used on webpages, to collect data about what the visitors experience on the web page & to communicate this data to digital analytics and reporting servers(e.g. Adobe analytics or Adobe target)

What does it do?

The Adobe client data layer is a java script store for data and events happening on a page within the scope of a request. It reduce the effort to instrument websites by providing a standardized method to expose and access any kind of data for any script. 

It provides API to,

1) Register data that is to be merged into the data layer state
2) Trigger events that relate to the data stored in the data layer
3) Get the current data layer state of all merged data
4) Register listeners that are called for specific events or data changes

Steps to set up a data layer

1) Loading the data layer script
2) Declare the adobeDatalayer array

Once above steps has been configred, we can work on various push menthods(  Push the Data object/ Push Event Object/Push functions) Events (registering & unregistering)

The AEM Core Components are availed with Adobe Client Data Layer(Disabled by default - we need to enable it if we have plans to use it).

To push the data from website to Analytics, we need Adobe Client Data Layer extension & Adobe Analytics, Core Extensions to be configured.

Some of the use cases
1) Retrieving Analytics data & using it for Personalization
2) Trigger an update event on page when the stock market value changes

 Reference URLs:

 Adobe client data layer - https://github.com/adobe/adobe-client-data-layer

Wiki - https://github.com/adobe/adobe-client-data-layer/wiki

All you need to know about Project Firefly

 What is Project Firefly? 

Project Firefly is a run time framework for building 3rd party cloud native applications that extend the functionality of Adobe experience Platform(AEP) and Adobe experience cloud.

It provides everything we need to develop an application, even this is extendable - which grows with the needs.

What it contains?

  • Adobe I/O runtime - which is a server-less foundation for running 3rd party custom code on Adobe infra. It provides scaling in /out etc.
  • CLI & SDK - Enables local development, CI/CD. Streamlined way for developers to interact with core Adobe services and automated process.
  • Spectrum(Adobes design language) UI Framework - A React based UI framework for creating experiences that feels native comfort
  • Custom events - Publish and consume custom events with support for webhooks and journaling
  • Cloud services - a range of services for running managing and optimizing custom digital experiences.(Cloud storage, blob storage,CDN etc)
  • Set of Developer tools - Has UX modeling tools, IDE plugins(code completion) and other tools to aid in testing, debugging  and deploying custom experiences.


Whom it will be helpful?

  • System integration developers - who are typically specialized on integrating and extending Adobe enterprise solutions(AEM, Campaign, Marketo, Magento etc)
  • Enterprise developers - who works with enterprise customers to create business sue case demos etc.


What is the difference between I/O Runtime & project Firefly

Project Firefly is a complete app framework to build custom cloud native Adobe Apps, where in Adobe I/O runtime is a server-less platform for running custom code.

Project Firefly is built on top of Adobe I/O Runtime.

What are all the features of Project Firefly?

  • Storage services - We get all relevant storage services to work with a 3rd party app
  • Debugging - Provides various debugging options
  • Logging - Provides evident logging mechanisms
  • Action templates - Project starter templates
  • UI templates - React spectrum templates to help developers
  • Security - Firefly is highly secured


Some of the typical use cases of Firefly
1) Asset migration in AEM(External DAM to AEM) which are in Gigabytes(bulk uploads) - the task can be offloaded to a headless firefly app that uses content fragment API, so  that normal AEM tasks run without issues.

2) Offloading analytics data to Firefly - Firefly can pull the data from Adobe analytics and save it into DB or make it available for Target

3) Data ingestion monitoring - There are cases where we need to import Huge data into AEP and there could be errors in the process. We can use Firefly to monitor the Adobe i/O events and trigger the other system when something goes wrong to take corrective actions

4) Campaign stand dashboard for monitoring- unlike campaign classic, campaign standard doesnt provide a dashboard to monitor workflows. Using Firefly, we can create SPA that display the status of all workflows in Campaign standard - which helps marketers