Skip to content

Instantly share code, notes, and snippets.

@knennigtri
knennigtri / Core Component event
Created February 1, 2023 17:12
Adobe Core Components ACDL event structure
//Access using adobeDataLayer.getState("event.eventInfo.path")
{
"event": <event-name>,
"eventInfo": {
path: '<component-path>'
}
}
@knennigtri
knennigtri / acdl-product.json
Last active March 14, 2022 20:33
CIF core product component output in the Adobe Client Data Layer
"event.message.eventInfo.component": {
"product-7fc286dec9": {
"xdm:currencyCode": "USD",
"xdm:categories": [
{
"repo:id": "category-086c143818",
"xdm:name": "Tops",
"xdm:asset": {
"@type": "image",
"repo:path": "https://jnz3dtiuj77ca.dummycachetest.com/media/catalog/category/outside.jpg",
@knennigtri
knennigtri / productCoreCmp.xdm:currencyCode.js
Last active February 1, 2023 17:22
Adobe Launch data element for xdm:currency from the CIF core product component.
var property= 'xdm:currencyCode';
var getCoreCmpJSON = _satellite.getVar("getCoreCmpJSON");
var coreCmpJSON = getCoreCmpJSON(event);
return coreCmpJSON.component[property];
@knennigtri
knennigtri / getCoreCmpJSON.js
Last active April 5, 2022 14:15
Adobe Launch data element for CIF and Core components
/*
* This method can get core components from the ACDL via eventInfo.path or by first occurance
* Example 1. With an event that contains event.message.eventInfo.path value (core cmp event)
* var cmpProperty = getCmpProperty(event);
* Example 2. It can be used to get the page component properties even if the event was not triggered by the event
* var pageCmpProperty = getCmpProperty(event, "page");
* Example 3. It can be used to get the first cmp instance of a specified component on the page
* var productCmpProperty = getCmpProperty(event, "component", "product");
* returns an JSON object that contains the
* this.path - the unique component path in the ACDL
@knennigtri
knennigtri / aemfed.sh
Created September 6, 2019 13:01
Conntect AEMFED tool to the jcr_root of a maven project for AEM sync
#!/bin/bash -x
aemfed -t http://admin:admin@localhost:4522 -w ui.apps/src/main/content/jcr_root/
@knennigtri
knennigtri / UploadCPScript.sh
Created September 6, 2019 13:00
content package install script using AEM package manager
#!/bin/bash
dir="internal"
for file in `find $dir -type f`
do
filename=`basename $file`;
echo $file
curl -u admin:admin -F package=@$file http://localhost:4502/crx/packmgr/service/.json/?cmd=upload
done
dir="external"
@knennigtri
knennigtri / jcr-locations.md
Last active May 8, 2023 09:15
Useful JCR Locations for AEM Templates and components
@knennigtri
knennigtri / dispatcher.any
Last active February 24, 2023 10:03
We.Retail dispatcher.any and httpd.conf
#To find the We.Retail Specific changes, search for "We.Retail Alert"
# Each farm configures a set of load balanced renders (i.e. remote servers)
/farms
{
# First farm entry
/website
{
# Request headers that should be forwarded to the remote server.
/clientheaders
@knennigtri
knennigtri / .gitignore
Created March 20, 2017 18:20
AEM Project gitignore for Eclipse
*.vlt
*.vlt-sync-config.properties
*.vlt-sync.log
*.project
*.DS_Store
*.brackets.json
*.MF
*.jar
@knennigtri
knennigtri / createUsers.sh
Last active March 26, 2019 17:15
Autocreation of AEM users
#This script only creates users and a single group. This does not set permissions or put the users into the group.
#Once this script is run, go to /useradmin and add all created AEM users to the created AEM group
#Open the created group and add Groups: Authors, DAM-users, tag-administrators, project-administrators, template-authors, workflow-administrators, /libs/cq/core/content/nav/personalization (full permissions)
#Number of AEM Accounts to be created
STUDENTS=13
#Name of group being created
GROUP=mygroup
#Name of AEM users