Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

Content separate from pages

Avatar

Level 1

Hi,  I'm new to AEM and trying to figure out best practices around creating content separate from pages.  I have some content that I need created that needs to be reused across multiple pages and multiple sites.  I want to create a central repository for this content where authors can enter the content via forms or an easy to navigate interface.  Then I'd like to be able to reuse this content in as many ways as possible: create components where you can drag and drop the content onto a page, reference elements or attributes of the content in various pages.

Is there a recommended way to do this in AEM?  The out-of the box way seems limited to creating content as it exists on pages but not creating a set of content and content types that will exist across multiple pages.

1 Accepted Solution

Avatar

Correct answer by
Level 10

Question 1

In AEM - to share content across sites - you use Multi-site manager. This lets you get the same content into different AEM sites.

For information- see: 

https://docs.adobe.com/docs/en/cq/5-6-1/administering/multi_site_manager.html

Question 2

The JCR stores all sort of content.  Everything in the JCR is nodes and contain properties. You can store data not related to pages - for example, images. You can store application data in the JCR instead of a relational database. You can use the JCR API to get data into and out of the JCR. See this community article for more information:

https://helpx.adobe.com/experience-manager/using/querying-experience-manager-data-using1.html

Question 3

As shown in this article - you can write custom services to perform create, replace, update and delete operations on JCR data. 

TO learn how to model data in the JCR - read: http://wiki.apache.org/jackrabbit/DavidsModel

You can even write AEM services to store and read data in relational DBs as well -- for example: 

https://helpx.adobe.com/experience-manager/using/querying-persisting-cq-data-mysql.html

So when writing AEM apps - you are not bound to storing application data in the JCR. You can hook into relational databases if that is a requirement. 

As you can see - AEM is very flexible and powerful in that it lets you write custom OSGi services. 

View solution in original post

3 Replies

Avatar

Level 10

Here is a good community article that talks about this subject:

Reusing Content in Adobe Experience Manager

Hope this points you in the right direction. 

Also - as a new user - its recommended that you perform this walk through:

http://docs.adobe.com/docs/en/aem/6-0/develop/the-basics/website.html

Avatar

Level 1

Thanks that answered some of my question....A page can inherit content from parent pages through iparsys component.   A couple follow-up questions:

  1. Is there a way to share content across sites?
  2. Is there a way of creating content in the JCR without having a page associated to it?
  3. Is there a way of referencing content in another area (i.e. separate site or branch) of the JCR and pulling that content into a page?

Avatar

Correct answer by
Level 10

Question 1

In AEM - to share content across sites - you use Multi-site manager. This lets you get the same content into different AEM sites.

For information- see: 

https://docs.adobe.com/docs/en/cq/5-6-1/administering/multi_site_manager.html

Question 2

The JCR stores all sort of content.  Everything in the JCR is nodes and contain properties. You can store data not related to pages - for example, images. You can store application data in the JCR instead of a relational database. You can use the JCR API to get data into and out of the JCR. See this community article for more information:

https://helpx.adobe.com/experience-manager/using/querying-experience-manager-data-using1.html

Question 3

As shown in this article - you can write custom services to perform create, replace, update and delete operations on JCR data. 

TO learn how to model data in the JCR - read: http://wiki.apache.org/jackrabbit/DavidsModel

You can even write AEM services to store and read data in relational DBs as well -- for example: 

https://helpx.adobe.com/experience-manager/using/querying-persisting-cq-data-mysql.html

So when writing AEM apps - you are not bound to storing application data in the JCR. You can hook into relational databases if that is a requirement. 

As you can see - AEM is very flexible and powerful in that it lets you write custom OSGi services.