AEM Guides with Headless Integrations
How to Create a Structured DITA Document Using AEM Guides Module and Develop a Strategy for Headless Integrations
- by carlos
- July 19, 2023
Structured content has become necessary for any organization that creates content at scale. The Darwin Information Typing Architecture (DITA) is a popular structured authoring framework that helps content creators to organize and publish content more effectively. In this blog, I will discuss my recent research on creating a structured DITA document using the Adobe Experience Manager (AEM) Guides module and developing a strategy to expose it for headless integrations using Content Fragments.
1. Create a Structured DITA Document:
Developers can create a structured DITA document using the AEM Guides module to get started. The DITA structure helped me author content in a modular format, which can be reused across different projects. The structured content also made maintaining consistency, improving accuracy, and streamlining content updates easier. The AEM Guides module has a drag-and-drop interface allowing easy, structured content authoring without requiring specialized knowledge of the underlying XML.
2. Create a Map:
Once the authors created the structured DITA document, they made a map that organized the modules into chapters. The map provides a high-level view of the content structure and helps create a logical information flow. The map also made creating different versions of the content easier by selectively including or excluding modules from the output.
3. Output in PDF:
The AEM Guides module provides built-in PDF output capabilities, which helped to generate a PDF version of the structured DITA document quickly. The PDF output included a table of contents and other styling features, which enhanced the readability of the content.
4. Output in AEM Sites:
Besides generating PDF output, the AEM Guides module allowed authors to publish the content on AEM Sites as a web page. This new channel made the content accessible to a broader audience through a web browser. The output in AEM Sites was also responsive which could adapt to different screen sizes, making it accessible across other devices.
5. Initiate a Project to Translate the Site:
With the content structured and published, authors can initiate a translation project to translate the content into multiple languages. The structured content allowed them to translate content modularly, significantly reducing content translation efforts easily.
6. Create Content Fragments for Headless Integration:
To expose the structured content for headless integration, developers can focus on creating Content Fragments. A Content Fragment is a persistent content representation that different channels, including headless systems, can consume. AEM provides an Assets API that can create Content Fragments programmatically, allowing for more streamlined integration.
7. Test Content Fragments with GraphQ
To test the Content Fragments, developers can integrate them with GraphQL, a popular APIs query language. The GraphQL integration allows them to retrieve the content fragments in a structured format and add filters and sorting criteria to the queries. The integration also facilitates faster development by decoupling the frontend and backend development efforts.
8. Create a Headless App to Consume Content Fragments:
To finally consume the Content Fragments, the developer can create a headless app to get the content using GraphQL queries. The app gets the content fragments modularly, enabling a more dynamic and flexible user experience. The headless approach also allows for easier integration with other third-party systems.
Conclusion
Using the AEM Guides module to create a structured DITA document, Architects and Developers can design a strategy to expose the content for headless integrations. The structured content makes it easier to maintain consistency and streamline updates. The Content Fragments provided a more flexible and dynamic way to consume the content, while the GraphQL integration allowed for faster development and decoupled frontend and backend development. This approach helps organizations to effectively publish structured content, reducing content creation and maintenance efforts while increasing content accessibility.