Wednesday, May 29, 2019

How to enable merge mode for the packages in Adobe Experience Manager(AEM)

How to enable merge mode for the packages in Adobe Experience Manager(AEM)


By default the packages build in AEM package manager is enabled with mode "overwrite", this will overwrite the target folder upon installing the package - the local changes under that folder will be lost.

This post explains the approach to enable the merge mode for the packages, this will help us to merge the package content with the repository content.

Create the package with required path and download to local file system

aem-package-merge-mode


Unzip the package zip file on your computer - jar -xvf test_mode-1.0.zip META-INF/vault/filter.xml

Open the file META-INF/vault/filter.xml in a text editor.

Add mode="merge" to the <filter ...> tag, the merge mode should be added to all the filters defined for example:

 <?xml version="1.0" encoding="UTF-8"?>
<workspaceFilter version="1.0">
<filter root="xxxxx" mode="merge" >
<exclude pattern="xxxxx" />
</filter>
<filter root="xxxx" mode="merge"/>
 </workspaceFilter>

 e.g

<?xml version="1.0" encoding="UTF-8"?>
<workspaceFilter version="1.0">
    <filter root="/content/we-retail/us/en/products/women" mode="merge" />
</workspaceFilter>

Available Filter Modes:


"replace" - This is the normal behavior. Existing content is replaced completely by the imported content, i.e. is overridden or deleted accordingly.

"merge" - Existing content is not modified, i.e. only new content is added and none is deleted or modified.

"update" - Existing content is updated, new content is added and none is deleted.

The default filter mode is "replace"

Re-zip the modified package contents so it includes the change - jar -uvf  test_mode-1.0.zip META-INF/vault/filter.xml
aem-package-merge-mode

Upload the modified package to target server - this will make sure the target server changes are not overwritten.

Sunday, May 19, 2019

How to Setup the AEM Author and Publish Instances with Shared S3 Datastore?

How to Setup the AEM Author and Publish Instances with Shared S3 Datastore?

This video explains how to setup the AEM Author and Publish Instances with Shared S3 Datastore

Sunday, May 12, 2019

How to setup Adobe Experience Manager(AEM) author and publish instances in WebLogic Server

How to setup Adobe Experience Manager(AEM) author and publish instances in WebLogic Server

This video explains how to setup AEM Author and Publish instances in WebLogic Server.



Wednesday, May 8, 2019

How to enable the components in Editable templates - Adobe Experience Manager(AEM)

How to enable the components in Editable templates - Adobe Experience Manager(AEM)


This video explains the steps required to enable the components in Editable templates - Adobe Experience Manager(AEM)


Resource-Only Cache Invalidation - Adobe Experience Manager(AEM)

Resource-Only Cache Invalidation - Adobe Experience Manager(AEM)

This video explains the approach to setup Resource-Only Cache Invalidation in Adobe Experience Manager(AEM)



AEM Content Fragment - Deep Dive

AEM Content Fragment - Deep Dive

This video deep dive into AEM Content Fragment



Adobe Search and Promote - Deep Dive

Adobe Search and Promote - Deep Dive

This video deep dive into Adobe Search and Promote


Grant access for additional users to OSGI System Console

Grant access for additional users to OSGI System Console

This video explains the steps to Grant access for additional users to OSGI System Console



How to Disable the Minification for specific client libraries(Java Script/CSS) in AEM

How to Disable the Minification for specific client libraries(Java Script/CSS) in AEM

Disable through Adobe Granite HTML Library Manager

Disable Minfication for specific client libraries




How to enable the access to ClientLibs under apps folder - Adobe Experience Manager(AEM)

How to enable the access to ClientLibs under apps folder - Adobe Experience Manager(AEM)

This video explains the approach to enable the access to ClientLibs under apps folder in Adobe Experience Manager(AEM)



How to clear the cache - JSP/Classes/HTML/JS and ClientLibs in AEM

How to clear the cache - JSP/Classes/HTML/JS and ClientLibs in AEM

This video explains the different approaches in AEM to clear the JSP/Classes/HTML/JS and ClientLibs caches


How to integrate Adobe Experience Manager(AEM) with Magento ecommerce platform - part3

How to integrate Adobe Experience Manager(AEM) with Magento ecommerce platform - part2

This video explains the AEM configuration details required to integrate Adobe Experience Manager(AEM) with Magento ecommerce platform


How to integrate Adobe Experience Manager(AEM) with Magento ecommerce platform - part2

How to integrate Adobe Experience Manager(AEM) with Magento ecommerce platform - part2

This video explains the AEM configuration details required to integrate Adobe Experience Manager(AEM) with Magento ecommerce platform



How to integrate Adobe Experience Manager(AEM) with Magento ecommerce platform - part1

How to integrate Adobe Experience Manager(AEM) with Magento ecommerce platform - part1

This video explains the AEM configuration details required to integrate Adobe Experience Manager(AEM) with Magento ecommerce platform


Tuesday, May 7, 2019

nmEnroll/nmConnect commands fails on windows server- Weblogic 12.2.1

nmEnroll and nmConnect  command fails on windows server - Weblogic 12.2.1


The enroll of a domain with node manager and connecting to a node manager was failing in windows server for Weblogic 12.2.1

Steps followed to Enroll the domain:


Execute the following commands in command prompt

C:\Albin\SW\Weblogic\oracle\wlserver\common\bin\wlst.cmd

connect('weblogic','Albin123!','t3://localhost:7001')

nmEnroll('C:\Albin\SW\Weblogic\oracle\user_projects\domains\base_domain','C:\Albin\SW\Weblogic\oracle\user_projects\domains\base_domain\nodemanager')

nmConnect('weblogic', 'Albin123!', 'localhost', '5556', 'base_domain' ,'C:\Albin\SW\Weblogic\oracle\user_projects\domains\base_domain','ssl')

Error:


wls:/base_domain/serverConfig/> nmEnroll('C:\Albin\SW\Weblogic\oracle\user_projects\domains\base_domain','C:\Albin\SW\Weblogic\oracle\user_projects\domains\base_domain\nodemanager')
Enrolling this machine with the domain directory at C:\Albin\SW\Weblogic\oracle\user_projects\domainase_domain ...
Traceback (innermost last):
  File "<console>", line 1, in ?
  File "<iostream>", line 1661, in nmEnroll
  File "<iostream>", line 553, in raiseWLSTException
WLSTException: Error occurred while performing nmEnroll : Problem enrolling the machine. : C:\Albin\SW\Weblogic\oracle\user_projects\domainase_domain\security\SerializedSystemIni.dat (The filename, directory name, or volume label syntax is incorrect)
Use dumpStack() to view the full stacktrace :


The_filename_directory_name,_volume_label_syntax_incorrect

wls:/base_domain/serverConfig/> nmConnect('weblogic', 'Albin123!', 'localhost', '5556', 'base_domain' ,'C:\Albin\SW\Weblogic\oracle\user_projects\domains\base_domain','ssl')
Connecting to Node Manager ...
<May 7, 2019 9:35:58 PM CDT> <Info> <Security> <BEA-090905> <Disabling the CryptoJ JCE Provider self-integrity check for better startup performance. To enable this check, specify -Dweblogic.security.allowCryptoJDefaultJCEVerification=true.>
<May 7, 2019 9:35:58 PM CDT> <Info> <Security> <BEA-090906> <Changing the default Random Number Generator in RSA CryptoJ from ECDRBG128 to HMACDRBG. To disable this change, specify -Dweblogic.security.allowCryptoJDefaultPRNG=true.>
<May 7, 2019 9:35:58 PM CDT> <Info> <Security> <BEA-090909> <Using the configured custom SSL Hostname Verifier implementation: weblogic.security.utils.SSLWLSHostnameVerifier$NullHostnameVerifier.>
Traceback (innermost last):
  File "<console>", line 1, in ?
  File "<iostream>", line 111, in nmConnect
  File "<iostream>", line 553, in raiseWLSTException
WLSTException: Error occurred while performing nmConnect : Cannot connect to Node Manager. : Received error message from Node Manager Server: [Processing for domain 'base_domain' failed due to I/O error: [The filename, directory name, or volume label syntax is incorrect]]. Please check Node Manager log for details.
Use dumpStack() to view the full stacktrace :
wls:/base_domain/serverConfig/>

The_filename_directory_name,_volume_label_syntax_incorrect

The domain path on Windows must use double backslash '\\' as the path separator.

The domain was successfully enrolled after executing the below command

nmEnroll('C:\\Albin\\SW\\Weblogic\\oracle\\user_projects\\domains\\base_domain','C:\\Albin\\SW\Weblogic\\oracle\\user_projects\\domains\\base_domain\\nodemanager')

The_filename_directory_name,_volume_label_syntax_incorrect

nmConnect('weblogic', 'Albin123!', 'localhost', '5556', 'base_domain' ,'C:\\Albin\\SW\\Weblogic\\oracle\\user_projects\\domains\\base_domain','ssl')

The_filename_directory_name,_volume_label_syntax_incorrect