Remote App

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. See 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.

API Layer

  • Content Data - For the Universal Editor, neither the source systems of the content data nor the way it is consumed is important. It is only important to define and provide the required attributes using in-context editable data.
  • Persisting Data - For each editable data there is a URN identifier. This URN is used to route the persistence to the right system and resource.

Persistence Layer

  • Content Fragment Model - To support the panel for editing Content Fragment properties, the Content Fragment Editor, and form-based editors, models per component and content fragment are required.
  • Content - Content can be stored anywhere, such as in AEM, Magento, and so on.

Persistence layer

Universal Editor Service and Backend System Dispatch

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.

Universal Editor Service

Rendering Pipelines

Server Side Rendering

Server side rendering

Static Site Generation

Static site generation

Client Side Rendering

Client side rendering

recommendation-more-help