This repository demonstrates an end-to-end BYOM setup that previews and publishes overlay pages via Adobe App Builder actions and the AEM Edge Delivery Services Admin API. It includes two actions (webhook, data-provider), demo blocks (user-profile, user-overview), and site/index configuration using the Configuration Service.
This repository also includes a public demo of Adobe App Builder actions that trigger an automated page publish:
- See
app-builder/byom-actions/README.mdfor an overview of the two actions:webhook: orchestrates preview → publish via the Helix Admin API.data-provider: returns HTML (user-profile.html) for overlay paths under/byom-page/*.- The demo includes Edge Delivery configuration under
config/site-config.jsonand an index definition inconfig/index-config.yaml.- Enable the Configuration Service and apply these via the Admin API; see the linked docs in
app-builder/byom-actions/README.md.
- Enable the Configuration Service and apply these via the Admin API; see the linked docs in
blocks/- Added demo blocks:
user-profile/: Renders a detailed user profile page.user-overview/: Renders a table/overview of users.
- Added demo blocks:
app-builder/byom-actions/: Contains two actions used in the demo:actions/webhook/: Triggers preview → publish on the Helix Admin API.actions/data-provider/: Generates HTML for/byom-page/*usingtemplates/user-profile.html.
- See
app-builder/byom-actions/README.mdfor full details and example commands.
config/site-config.json: Edge Delivery site configuration (including overlay to the data provider).index-config.yaml: Index definition for/byom-page/**to/user-index.json.
This specific repo has been slightly modified to be compatible with DA's live preview.
- Use this template to make a new repo.
- Install AEM Code Sync.
- Browse to https://da.live/start.
- Follow the steps.
- Follow the guide to enable and manage site configuration for Edge Delivery Services.
- Reference: Setting up the configuration service (
https://www.aem.live/docs/config-service-setup.md)
- See
app-builder/byom-actions/README.mdfor deploying and invoking the actions (webhook,data-provider).
Use the Admin API to apply config/site-config.json:
curl -X PUT "https://admin.hlx.page/config/<org>/sites/<site>.json" \
-H "content-type: application/json" \
-H "x-auth-token: {your-auth-token}" \
--data @config/site-config.jsonUse the Admin API to apply config/index-config.yaml:
curl -X POST "https://admin.hlx.page/config/<org>/sites/<site>/content/query.yaml" \
-H "content-type: text/yaml" \
-H "x-auth-token: {your-auth-token}" \
--data-binary @config/index-config.yaml- References:
- Indexing:
https://www.aem.live/developer/indexing.md - Admin API (index config):
https://www.aem.live/docs/admin.html#tag/indexConfig/operation/createIndexConfig
- Indexing:
- Clone your new repo to your computer.
- Install the AEM CLI using your terminal:
sudo npm install -g @adobe/aem-cli - Start the AEM CLI:
aem up. - Open the
{repo}folder in your favorite code editor and buil something. - Recommended: Install common npm packages like linting and testing:
npm i.