Leverage your existing Experience Manager investment by extending the use of assets, pages and structured content in mobile apps. With version 6.3 Adobe Experience Manager Mobile introduces an SDK that allows app content creators to reuse assets and pages authored and managed in Experience Manager.
Enhancements to Experience Manager Mobile also address the need to have oversight of all of your organization’s apps, allowing you to manage both hybrid and native apps in one place.
Before we get started with the lab I would like to set the stage on why we are here.
Throughout this lab we will be exploring content from the fictional Mixology entertainment brand. They are an existing AEM customer that already has a large amount of authored site content as well as an extensive library of image and video assets being managed by AEM.
The Mixology brand would like to extend their current investment in AEM and all of its content to a mobile application. They already have a team of mobile developers building an app and are ready to find a solution that will deliver the content in a format that is desirable to the mobile app. The solution must be seamless for content authors and allow the app developers to continue using their preferred tools. Meanwhile their existing delivery channels (website) must also be able to continue consuming the same content.
What these requirements really boil down to then is that any content being managed by AEM should also have the potential to be easily delivered to multiple channels such as mobile screens in order to create an overall fluid experience.
At a high level our app developers have designed the following schema for the data they expect to receive.
The data has been grouped into several logical buckets for easier consumption.
News articles and featured drink images will need to reference existing Sites and Assets content.
Additional structured data will also need to be defined and authored in order to extend the utility of the mobile application. This new structured data will allow drink recipes to be authored from a common list of ingredients and then delivered to the mobile application. In the future this new structured content will also be consumed by components on the website as well to further facilitate content reuse.
Now that we know why we are here, let’s get started!
The lab is broken into 5 modules that walk you through the complete content services features of AEM.
We’ll start by getting our lab machines set up and then briefly look at the app management capabilities of AEM.
From there we’ll look at how existing content in AEM can be delivered to mobile applications via content services.
Finally, we will explore the management of models and entities with structured content.
The term “content services” has now been mentioned a few times. What is it?
Content Services is new in AEM 6.3 and is a lightweight, read-only feature for requesting content that is managed by AEM. This provides app developers with a consistent and extensible means to retrieve content without having to have deep knowledge of AEM's content repository and web framework. It allows the requesting applications to be decoupled from the content repository.
AEM Backend
Leverage existing AEM infrastructure
Create and maintain content with the same AEM tools
Reuse existing content, but generate a format that is separate from display, and repository information
Decoupled Front end
Channel Independent Content
Content and assets not tied to display format
Presentation can be handled using native, hybrid or any other components.
Content does not dictate the presentation layer.
You can expect to hear more about AEM content services in the future.
Today we will be exploring a number of new concepts and constructs related to content services.
These concepts enable flexibility and enable future expansion by providing an abstraction layer between the AEM managed content and the mobile apps consuming the content.
1. The first new concept is the Model
- A model describes a type of content and denotes what information will be available to the mobile application. A model can also provide the rules for how content can be created.
AEM 6.3 will provide a few out of the box models for common objects such as assets and pages
2. Next we have an Entity
- An entity is an instance of a model that has associated authored content.
3. Entities are stored in spaces
A space is used to organize entities for easy access.
4. The resulting data from content services is configurable and extensible for full control. While this lab will be focusing on the delivery of JSON data content services does allow different media types to be used.
Here are the specific goals we will achieve by the end of this lab.
The first module will start up two instances of AEM. AEM may take a few minutes to start up. You can start both instances simultaneously but refrain from continuing with the lessons until both start up sequences have completed.
Once AEM has started finish up Module 1 and then immediately proceed to the Module 2 lessons.
Both modules should take no more than 15 mins.
Next we will be looking at how content services can be used to reuse existing content from Sites and Assets.
AEM includes built-in models to facilitate this reuse in order to deliver the desired JSON data.
Lets have a look at how AEM content services work with existing AEM Sites pages
For the mobile app, we want to use the same authored content, but not for generating HTML. We just want the content.We will create a page entity using the out of the box Page Model and reference an authored PageThe out of the box Page Model provides a description and instructions for how to transform the authored page into a decoupled format. The entity retains a reference to the authored content, even when published. Therefore, any changes in the page, will be reflected in the entity data
Now lets look at how AEM content service works with individual assets
The AEM content services Asset Model provides instructions to create an asset entity that provides access to a list of assets once published.The asset entity retains a reference to the assets even when published. Therefore, any changes in the asset, will be reflected in the entity data
Next, we will be exploring the model management capabilities of content services.
Models are like a blueprint and describe how content needs to be created. They define a set of supported properties as well as how the relationships between models need to be enforced.
We're doing great and have almost made it to the end of the lab.
Now that we have created some models we are ready to tackle entity management.
We have already briefly explored entities when using the Page and Asset models.
Entities are always based on a model and can be combined with other entities to create more complex structures.
Entities also become the rendering endpoint for content services.
If you want to and have extra time feel free to tackle the final module as well.
This module setting up content services in AEM and then view the data being consumed by an actual mobile application.
Congratulations! We have made it to the end of the lab!
I would like to leave you with the following 3 takeaways of content services in AEM.
1. AEM allows ALL of your mobile apps to be managed together
2. Content services allows channel independent reuse of your Sites and Assets content
3. Content services provides FULL control of how content is delivered to your mobile apps