Learn about the architecture of the Universal Editor and how data flows between its services and layers.
The Universal Editor is made up of four essential building blocks that interact to allow content authors to edit any aspect of any content in any implementation in order to deliver exceptional experiences, increase content velocity, and provide a state-of-the-art developer experience.
This document outlines each of these building blocks and how they exchange data.
If you’d like to see the Universal Editor and its architecture in action, please refer to the document Getting Started with the Universal Editor in AEM to learn how to get access to the Universal Editor and how to start instrumenting your first AEM app to use it.
To make an app in-context editable within the Universal Editor, the DOM must be instrumented. The remote app must render certain attributes in the DOM. Please see the document Attributes and Types for details regarding the necessary metadata. See the document Getting Started with the Universal Editor in AEM for an example of the instrumentation in AEM.
The Universal Editor strives for a minimal SDK, thus the instrumentation is the responsibility of the remote app implementation.
The Universal Editor dispatches all content changes to a centralized service called the Universal Editor Service. This service, running on Adobe I/O Runtime, loads plugins available in the Extension Registry based on the provided URN. The plugin is responsible for communicating to the backend and returning a unified response.
To learn more about the Universal Editor, see these documents.