Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

From Bundle to installable package

Avatar

Level 2

Hello,

I started with AEM a few days ago and I have read a lot of documentations - they are quite good and so far all is clear for me concerning the documentation. But I still have a few problems to get the whole picture - so therefore I would like to write what I have understood (I hope it is right) and then I would expose my lack concerning the big picture.

0. the AEM architecture with author/publish instances and Dispatchers is quite clear

1. Over URIs content in CRX can be handled (CRUD - Sling form commands) -> content first

2. over sling:resourceType the script which handles the nodes and properties can be adjusted -> scripts which handles content

3. with maven a bundle can be created (in the pom there is a maven profile which makes it easy to install the bundle into AEM)

4. with JSP- Scriplets/Declarations/... it is possible to include behaviour (Java code) into view (unfortunately view and business code is nor separated)

5. under /content there are the nodes and properties which holds the content for frontend

6. under /apps the developed bundles are located

What I still not know is, if I have created my own bundle(s) and my own JSP(s) and my own /content- Nodes and Properties, how I can pack all this in a package to deliver it to a customer.

It would be great if someone could correct me if some statements above are wrong and could give me a hint concerning the question above.

Thanks a lot and all the best!!

Max

1 Accepted Solution

Avatar

Correct answer by
Level 10

Never build bundles under apps using CRXDE lite. As Jorg pointed out - always use Maven. See this article:

Creating your first AEM Service using an Adobe Maven Archetype project

Also as a new user - read this article:

Adobe Experience Manager Onboarding resources

You will find a lot of AEM How TO articles here:

http://helpx.adobe.com/marketing-cloud/experience-manager.html

View solution in original post

5 Replies

Avatar

Employee Advisor

Hi Max,

It's probably best if you start with the AEM maven archetypes, which create a maven project suitable for AEM development [1]; it also uses the content-package-maven-plugin to package all your files into a content-package for easy deployment.

kind regards,
Jörg

[1] http://docs.adobe.com/docs/en/cq/current/developing/developmenttools/how-to-build-aem-projects-using...

Avatar

Correct answer by
Level 10

Never build bundles under apps using CRXDE lite. As Jorg pointed out - always use Maven. See this article:

Creating your first AEM Service using an Adobe Maven Archetype project

Also as a new user - read this article:

Adobe Experience Manager Onboarding resources

You will find a lot of AEM How TO articles here:

http://helpx.adobe.com/marketing-cloud/experience-manager.html

Avatar

Level 2

OK, content-package-maven-plugin is the hint.

This Maven plugin does the packaging.

Thanks a lot Jörg!!

All the best.

Avatar

Level 2

Hi all,

I would have one more question. I really have problems understanding the concept of the whole lifecycle, from starting to create a bundle till installing it and publishing it. 

I read the article http://docs.adobe.com/docs/en/cq/current/developing/developmenttools/how-to-build-aem-projects-using..., so what's clear for me is the folder structure:

myproject -bundle pom.xml (inherits from parent pom) -content pom.xml (also inherits from parent pom) pom.xml

If I execute maven profile "autoInstallBundle" than the bundle is installed under /apps/myproject -> and there a config- and an install folder exists by default. What I couldn't get is,if it is possible to have html- websites in the bundle or is the bundle only a container for JSP (renderer) - currently I could'nt get the link between the html- pages in "siteadmin" and the JCR- content (JSPs, nodes, properties and so on)

I will apologize for this rather simple (stupied) question and thanks a lot for your help,

Max

Avatar

Level 8

Hi Max,

I think you are doing well so far! Be aware of the difference between a bundle and a content package:

  • Bundle: an OSGi thing -- packages your stuff that make up your OSGi service. 
  • Content Package: These packages contain xml representations of JCR nodes. Any JCR node can go into a package.

So, yes content packages can contain your html pages --  the JCR nodes that represent the html pages -- rather, the xml representation of the JCR nodes.

It would probably be a useful learning exercise to create a package using Package Manager, download it, then extract the contents. You will see what I mean by the xml-representation.

http://docs.adobe.com/docs/en/aem/6-0/administer/content/package-manager.html

Hope that helps

scott