Avoid Binary Duplication – Multilingual Assets

Asset binaries occupy much larger storage space compared to metadata and tags. Therefore, if translating metadata and tags only serves your purpose, omit to translate the binaries. File Data Store and Amazon S3 Data Store provide a storage infrastructure that is best suited for these scenarios. These storage repositories store a single copy of asset … Continue reading Avoid Binary Duplication – Multilingual Assets


Restrict access to links in Global navigation panel

We often have to tighten the link access in AEM to limit user access to only few links, like only Sites, Experience fragments.   For AEM 6.3 touch UI, if you wish to revoke access on a link in Global Navigation Panel, you will have to follow 2 steps: Revoke access on the icon that … Continue reading Restrict access to links in Global navigation panel

cURL execution from Java program

cURL is a tool to transfer data from or to a server, using one of the supported protocols (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNETand TFTP). The command is designed to work without user interaction. With AEM, you can use cURL commands to modify repository, download json, access OSGi information etc. Snippet to download a json … Continue reading cURL execution from Java program

AEM Template Editor – Design configuration via policies

In template editors, policies are used to configure component design. Example: component's design configurations,  allowed components for a container, mapping asset into components etc. Configuring a template-editor's policy is similar to a Static template's design dialog. Following are the steps to define and access a new policy: Step 1: Create policy configuration dialog A component's policy dialog … Continue reading AEM Template Editor – Design configuration via policies

AEM – Coral 2 multifield with acs-aem-commons JSON_STORE

In AEM component dialog, we often implement multifield which comprise of multiple widgets. Here we would cover  multifield which would store values in json format using: Coral 3 multifield acs-aem-commons package javax.json.JsonObject API: Since, org.apache.sling.commons.json.JSONObject has been deprecated. STEP 1: Create a component. STEP 2: Create component dialog with multifield comprising of: textfield pathbrowser Add acs-commons-nested="JSON_STORE" … Continue reading AEM – Coral 2 multifield with acs-aem-commons JSON_STORE