You're viewing help content for version:

These Feature Packs deliver updates to Content Fragments, the JSON Exporter and Core Components, to achieve feature parity with AEM 6.4:

  • Feature Pack 24425: July 2018 for AEM 6.3.2.2
  • Feature Pack 24424: July 2018 for AEM 6.3.2.1
  • Feature Pack 22818: May 2018 for AEM 6.3.2.0  

Caution:

The three feature packs listed above replace the set released in October 2017 (for the appropriate version of AEM).

AEM Content Fragments and Content Services are designed to generalize the description and delivery of content across channels and touchpoints.

AEM Content Fragment enhancements enable Content Fragments to describe and manage structured content. Structured content is defined in models that can contain a variety of content types; including text, numerical data, boolean, date and time, and more. Defining structured content relationships can be used to deliver AEM content via Content Services, to channels other than AEM pages. 

AEM Content Services enables the delivery of content to channels that are not traditional AEM web pages, using standardized methods that can be consumed by any client. These channels can include:

  • Single Page Applications
  • Native Mobile Applications 
  • other channels and touch-points external to AEM

Release Information

Product AEM Sites Feature Pack
Version 1.0
Type Feature Release
Compatibility
Date May 2018
Download URLs

The following packages are all required (the FP Package is dependent on the AEM version):

Description of Feature Pack Content Fragment Updates and Content Services

What Is Included in the Feature Pack

This set of Feature Packs includes enhancements to Content Fragments and Content Services capabilities. AEM Content Fragments now support structured content. Structured content relationships are especially important when delivering as Content Services to channels other than AEM pages. 

Key features and enhancements:

  • Content Fragments
    • Support for structured content. 
    • Ability to structure multiple content types in fragment models; including text, numerical data, date and time, boolean, enumerated lists, and content references.
    • User interface to create and modify Content Fragment models.
    • Content Fragment Editor enhancements:
      • Full set of AEM Rich Text Editor (RTE) functions. 
      • View-all-elements overview screen.
      • RTE full screen. 
    • New AEM Core Component for Content Fragments.
  • Content Services
    • JSON output for AEM Core Components.

Restrictions and Known Issues

Please consider the following restrictions and limitations when using the released functionality. Many of them are temporary and will be addressed in follow-on releases. 

  • Content Fragment Models
    • Content types are currently not customizable. 
    • Some properties are not yet consistently available across content types; for example, placeholder text and required flag.
    • The first entry of an Enumeration field can be empty.
  • Content Fragment Functionality 
    • The full-screen Rich Text Editor does not yet allow viewing and editing HTML source.
    • Content Fragments based on structured content only support syncing variations, or text summarization for Rich Text elements.
  • Content Fragment Core Component
    • Targeting variations and text paragraphs for output is not yet supported.
  • JSON Output
    • The previous Content Fragment Foundation component does not support JSON output. Please use the new Core Components, with JSON export capabilities (Sling Model Exporter) 
    • It is currently not possible to output Content Fragment JSON over the AEM Assets HTTP API.

Backward Compatibility

Caution:

Please consider the following restrictions and limitations when using the functionality released in these feature packs. Many of the changes are temporary and may be addressed in subsequent releases.

As this Feature Pack is a backport of the 6.4 codebase, you can upgrade seamlessly to 6.4 (or later).

However, you should be aware that changes and overlays to the following content structures will cause issues when you upgrade to 6.4, or a newer version, of AEM:

  • /libs/dam/cfm/admin/clientlibs
  • /libs/dam/cfm/admin/components/adminpage
  • /libs/dam/cfm/admin/components/assoccontent
  • /libs/dam/cfm/admin/components/authoring
  • /libs/dam/cfm/admin/components/contentrenderer
  • /libs/dam/cfm/admin/components/datasources
  • /libs/dam/cfm/admin/components/metadata
  • /libs/dam/cfm/admin/components/renderconditions/associatedcontent
  • /libs/dam/cfm/admin/components/renderconditions/fragment
  • /libs/dam/cfm/admin/components/shared
  • /libs/dam/cfm/admin/components/v2
  • /libs/dam/cfm/admin/content
  • /libs/dam/cfm/admin/migration
  • /libs/dam/cfm/clientlibs
  • /libs/dam/cfm/clientlibs/v2
  • /libs/dam/cfm/components/associatedassets
  • /libs/dam/cfm/components/coral
  • /libs/dam/cfm/components/datasources
  • /libs/dam/cfm/components/coral
  • /libs/dam/cfm/components/predicates
  • /libs/dam/cfm/components/renderconditions
  • /libs/dam/cfm/components/v2
  • /libs/dam/cfm/content
  • /libs/dam/cfm/models
  • /libs/dam/gui/content/assets/downloadcf
  • /libs/dam/gui/content/assets/metadataeditor/jcr:content/actions/annotate/granite:rendercondition
  • /libs/dam/gui/content/assets/metadataeditor/jcr:content/actions/editasset/granite:rendercondition
  • /libs/dam/gui/content/collections/collectiondetails/jcr:content/views/card/datasource/contentfragment
  • /libs/dam/gui/content/collections/collectiondetails/jcr:content/views/list/datasource/contentfragment
  • /libs/wcm/core/content/editor/jcr:content/sidepanels/plugin/associatedcontent
  • /libs/dam/cfm/admin/components/renderconditions/contentfragment
  • /libs/dam/cfm/components/cfpicker
  • /libs/dam/cfm/components/grid
  • /libs/dam/cfm/components/mmimage

Those paths are flagged as granite:InternalArea or granite:FinalArea (the last four paths) in 6.4. These annotations are not supported for 6.3 SP2, although the same restrictions apply.

Refer to Sustainable Upgrades for further details.

Caution:

In general you must not change anything in the /libs path.

This is because the content of /libs is overwritten the next time you upgrade your instance (and may well be overwritten when you apply either a hotfix or feature pack).

Installation Instructions

Download and install:

Post-Install Instructions

The following steps are required to complete the installation:

  • Manual ACL Setup for everyone
  • Permissions Required to Edit Content Fragments
  • Manual Addition of an Oak Index

Manual ACL Setup for everyone

To allow content fragments that are based on a content model to be rendered on either a publish instance, or with a user that does not have read access to models, the following additional ACL needs to be added manually by:

  1. Open CRXDE Lite.

  2. Select the node:

    /conf

  3. Open the Access Control tab.

  4. Add a new ACL - in the Access Control List click the + icon.

  5. In the Add New Entry dialog:

    • To the Principal named: everyone
    • For the Type of privilege: Allow
    • For the Privileges: jcr:read
    • With the Restrictions (Advanced): rep:glob set to /*/settings/dam/cfm/models/*
    CF-FP22818-01
  6. Click OK to save.

Note:

For further information see Access Rights Management.

Permissions Required to Edit Content Fragments

To edit a content fragment the Group and/or User account must have Delete permission for the content fragment node(s) within /content/dam.

For further details see:

Manual Addition of an Oak Index

Log into CRXDE Lite as an admin user:

  1. Navigate to /oak:index/damAssetLucene/aggregates/dam:Asset
  2. Create a new node, following the established pattern (e.g. include9), of primary type nt:unstructured
  3. Add a path property (type String) with value jcr:content/data/*
  4. On /oak:index/damAssetLucene, change the reindex property to true
  5. Save the JCR session, by clicking on Save All in the top toolbar (left side)

Note:

For further information see Queries and Indexing.

Enabling/Disabling Structured Content Fragments

The functionality for structured content fragments can be enabled or disabled using:

Note:

When the feature packs are installed, the feature is active (i.e. the flag is checked) as default.

CFM-FP-02

Further Information for Users of the October 2017 Feature Pack

There are some differences and incompatibilities between this and the first set of Feature Packs for Content Fragment Updates and Content Services.

These are primarily related to internal content structures and components. Of most importance are the changes to the JSON output format:

Caution:

These changes are not directly caused by the Feature Packs, but by changes in the Core Component.

NPR-19008 NPR-22818
NPR-24424
NPR-24425
Description
:items elements Top level key used to define the details of elements present in the content fragment.
:itemsOrder elementsOrder Top level key used to define the order of elements as contained in the content fragment.
multiValued - Was a key within an element used to determine if that element is multivalued. If required this information can be obtained by checking type of value of value key present inside an element. An array would mean the element is multivalued.
displayValues - Was a key within an element which provided string representation of the value of the element. This has been removed with no replacements. Ideally the consumer/view should decide how to interpret the raw value of the element.
contentType - Was a key within elements which are multi line text elements (textual elements containing multiple lines (paragraphs)) used to determine the mime type. The mime type information can be found in element's :type property of these elements.
- dataType Is a new key within an element used to define data type of value of the element. For the possible values see com.adobe.cq.dam.cfm.BasicDataType
- paragraphs Is a new key within elements which are multi line text elements. It's value is an array containing paragraphs of the element which are obtained by rendering the fragment using
com.adobe.cq.dam.cfm.content.FragmentRenderService and splitting it into paragraphs.

Related Documentation

Helpful Resources

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy