Posts

Adobe AEM — How to Trigger Custom Workflow from Manage Publication(Manage Publish Wizard)

Image
  Trigger Custom Workflow from Manage Publish Wizard   Objective: There are many articles written on how to trigger a custom workflow from Manage Publish Wizard instead of the default one. But in this article, I am going to cover some of the deep insights with respect to permissions, underlying design which is not explained in many of the articles.   What is functionality of Manage Publish Wizard   Using Manage Publish we can Publish/Unpublish a content from Author to Publisher along with additional functionalities such as reference publish, scheduled Publish(Now or Later).   Underlying Architecture on Click of Manage Publish:   Permissions Required to Trigger Workflow Instead of Replication Process: User who needs to publish the content by triggering the default or custom workflow by triggering Manage Publish Wizard should not have replicate access to Content and should have minimal of read and write access to /var and /etc folder as shown below   Other

Adobe Connected Assets

Image
  Adobe Connected Assets     What is Connected Assets? It’s a Out of the Box functionality provided as part of adobe AEM 6.5 onwards to connect One AEM deployment instance assets to another AEM instance. So that Content Authors from one Experience Manager instance can search and utilize the Assets from another experience Manager instance Seamlessly. Architecture: Use Case: For example, if we have different AEM instance pertaining to different Line of Business in this case lets say Legal department has one AEM instance and Tax Department has one separate AEM instance.In this case either site content authors from Legal instance or Tax instance can seamlessly access the assets in other LOB seamlessly using Connected Assets Feature. Note: Asset instance (AEM instance which sources the Assets) and site instance(AEM instance which makes use of Assets from other instance for their site content) can either reside in On prem or AMS cloud or Cloud as a Service. Please refer

Direct integration Approaches with the Experience Cloud Identity Service

Image
 1.      Purpose Below approach will help the customers use the ID service on applications that does not support 1.            No Support for Adobe Launch or SDK or VisitorApi.js 2.            No Support for Adobe Launch or SDK but support for visiotrapi.js   2.      Methodologies ECID can be extracted using below methodologies 2.1 Direct trigger of API to fetch ECID(No Support for Adobe Launch or SDK or VisitorApi.js) We can fetch the ECID by directly triggering an http get to below DCS url of adobe along with corresponding Org ID.   Example: var org_id="-----------AdobeOrg";   "https://dpm.demdex.net/id?d_visid_ver=5.2.0&d_fieldgroup=MC&d_rtbd=json&d_ver=2&d_verify=1&d_nsid=0&d_orgid="+org_id; https://dpm.demdex.net/id?d_visid_ver=[VER]&d_fieldgroup=MC&d_rtbd=json&d_ver=2&d_verify=1&d_nsid=0&d_orgid=[ORGID]&ts=[TS]   ·   [VER] is the version of the JavaScript library you are trying to use. When I was testing this

Control Dependency Injection in OSGI at Runtime (Binding/Resolving the Component to a Service at Runtime)

Image
  Use Case:   As per regular pattern we bind a service interface for service implementation but there might be certain use cases for which we need to bind Service Interface to a Specific Implementation Class at run time as shown below.  This can be achieved using any of the following three methods depending upon our use case.   Options: 1)    Default mapping via Service ID By Default System will do the mapping to Service ID which is created First. In the above example since the Service Impl A is created First so it binds to A(Whose service ID is 8378 in this case when compared to service id for Impl B which is 8380). Refer below for Binding by Service ID.   2)    Mapping using Service Ranking In this option we can set specific service Ranking for each of the component implementing the service as shown below.In this case component implementation which has highest(Largest number) rank gets invoked.   Example: //Option 2 Binding by using Service Ranking w