Sunday, August 30, 2015

Side Country at Blue Cow


A few 30 minute hikes off the side of Blue Cow at the Perisher Snow Resort found us a nice nest of trees and some untouched slushy snow. Something different than a weekend of riding groomers!

Thursday, August 27, 2015

AEM 6.1 Archetype Details

There's a new Adobe Maven Archetype 10 with Adobe Experience Manager 6.1 and a few new options that are available. This has disappeared from the Adobe Docs so here's the details.

When creating a new project from the command line, the minimum maven generate parameters are only the archetypeGroupId, archetypeArtifactId and the archetypeVersion. The rest of the required parameters are prompted for population as the script runs.
mvn archetype:generate \
 -DarchetypeGroupId=com.adobe.granite.archetypes \
 -DarchetypeArtifactId=aem-project-archetype \
 -DarchetypeVersion=10
The following table details the additional parameters that are required to generate an AEM 6.1 project using the Adobe AEM Archetype 10.

Property 
Description 
groupId
This is the standard Maven group property that uniquely represents the path to the artifact within a repository manager such as Nexus, Artifactory or Archiva.
artifactId
This is the standard Maven property that uniquely represents the artifact within the above Group.
version
This is the standard Maven property that defines the version of the artifact.
package
This is the java base package that is used within the modules of the maven project that is created.
appsFolderName
This defines the AEM Apps folder names for the project.
artifactName
This defines the description in pom.xml
componentGroupName
This defines the name that is used to group all the components in the sidekick/content finder within AEM.
contentFolderName
This defines the AEM content folder names for the project within the JCR structure.
cssId
This defines the prefix used when generating CSS.
packageGroup
This defines the name of the content package group. This value configures the group parameter for the Package goal of the Content Package Maven Plugin.
siteName
This configures the AEM site name.

The following describes how the project is generated and how each archetype parameter influences the project build.

/artifactId
├─ /core
|  ├─ /src/main/java/package.core
|  ├─ /src/test/java/package.core
|  └─ pom.xml {
|        <sling-model-packages>
|            package.core
|        </sling-model-packages>
|    }
├─ /it.launcher
|  ├─ /src/main/java/package.it.launcher
|  └─ /src/test/java/package.it.launcher
├─ /it.tests
|  ├─ /src/main/java/package.it.tests
|  └─ /src/test/java/package.it.tests
├─ /ui.apps
|  ├─ /src/main/content/jcr_root/apps/appsFolderName
|  ├─ /src/main/content/jcr_root/etc/designs/appsFolderName
|  └─ pom.xml {
|        <group>packageGroup</group>
|     }
├─ /ui.content
|  ├─ /src/main/content/jcr_root/content/contentFolderName
|  |  └─ .content.xml {
|  |        <jcr:content jcr:title="siteName" ></jcr:content>
|  |     }
|  ├─ /src/main/content/jcr_root/content/dam/contentFolderName
|  |  └─ .content.xml {
|  |        <jcr:content jcr:title="siteName" ></jcr:content>
|  |     }
|  └─ pom.xml {
|        <group>packageGroup</group>
|     }
└─ pom.xml {
       <groupid>groupId</groupid>
       <artifactId>artifactId</artifactId>
       <version>version</version>
       <artifactName>artifactName</artifactName>
   }