Creating Components

Last update: 2023-11-20

AEM components are used to hold, format, and render the content made available on your webpages.

Authoring Channels

The channel is the central object of content delivered to a set of displays. Therefore, a content author would typically open a channel in the editor to add or modify content. Since the Channel is a cq:Page it will follow the same traditional UX pattern to add and change components on the channel.

However, since components within a channel are typically rendered full screen, the authoring experience will suffer when trying to edit single components or compose new orders. Therefore the channel will rely on selectors to render different views of the components. The authoring environment uses the edit selector to activate the custom channel rendering.

For example, http://localhost:4502/editor.html/content/screens/we-retail/channels/idle.edit.html](http://localhost:4502/editor.html/content/screens/we-retail/channels/idle.edit.html

The user does not have to take care of adding the selector to the URL while editing. A client side logic is listening to the layer switch event and adds the selector if the channel has the dedicated resource type screens/core/components/channel.

Rendering Components

To enable proper authoring, components need to provide the following two renderings:

Component Renditions
my-component/my-component.html production rendering
my-component/edit.html editing rendering in a smaller view

The built-in components use the following client library categories:

Component Client Library
cq.screens.components.edit CSS and JS which has to be loaded during authoring
cq.screens.components.production CSS and JS which has to be loaded when the channel is running
cq.screens.components shared CSS and JS

To develop custom components, use the AEM Screens sample component template.

On this page