Why we need JSON Formats?
Content Fragments are not just for web pages. A Content Fragment is made available to external applications through JSON format delivery methods. These applications could be,
· Single Page Applications
· Native Mobile Applications
· other channels and touch-points external to AEM
AEM 6.4 core components having the capability to export its data to JSON format. This structured content can then be used to deliver to cross channels other than AEM pages.
Difference between Content Fragment & Experience Fragment
The major difference between Content Fragment & Experience Fragment is that Content Fragment is pure content, without design and layout, but Experience Fragments are fully laid out content - a fragment/portion of a web page.
There are 2 types of content fragments
Simple fragments: Which does not have any predefined structure(only text, and images). A simple Fragment template is a supporting element for this.
Fragments that contain structured content: This is based on a content fragment model. This model will give a defined structure.
How do we generate the JSON format of a Content Fragment?
AEM 6.4 version also supports JSON Exporter with Content Fragment Core Components. Using this AEM JSON exporter, we can deliver the contents of an AEM page in the JSON data model format. This can then be consumed by any third party applications other than AEM.
JSON Exporter is supported by suffixing a url with '.model.json'
Access JSON Format of a Content Fragment
Say we have created 'My Simple Fragment(my-simple-fragment)' Content Fragment,
We can see the complete content using url,
http://localhost:4502/content/dam/my-simple-fragment/_jcr_content/model.json
As you see the output
{
"jcr:primaryType": "nt:unstructured",
"jcr:title": "Simple Fragment",
"version": 2,
"jcr:description": "A simple fragment, containing one single element and no predefined variations",
"precreateElements": true
}
Accessing the JSON output of a Content Fragment authored on a page.
Step1: Access the page JSON
Now I have authored my previously created 'My Simple Fragment(my-simple-fragment)' in We-retail site. (/content/we-retail/language-masters/en/men.html)
Its JSON output can be access through url,
http://localhost:4502/content/we-retail/language-masters/en/men.model.json
Step2: Access the Content Fragment JSON
We can see the content fragment on this page as shown.
To get the authored 'Content Fragment JSON', access the '.model.json' url of the content fragment as below,
http://localhost:4502/content/we-retail/language-masters/en/men/jcr:content/root/responsivegrid/contentfragment_1655772226.model.json
As you see the JSON will have all elements including variations created/authored.
No comments:
Post a Comment
If you have any doubts or questions, please let us know.