Spiritually-Succeeding AEM: Advanced Author Customization in DA

Many of you know and love (tolerate?) the AEM Classic & TouchUI Authoring interface for its virtually-infinite customizability. However, many don’t know that Adobe's newest authoring tooling for Edge Delivery has a massively-customizable user interface which can solve for authoring needs in ways many current AEM customers have never dreamed of, or thought to be unfeasible with their developer budgets.

We will walk you through a variety of amazing authoring customizations which can make the Edge Delivery Authoring Experience faster and more flexible than most organizations thought possible, with shockingly-fast development time, especially with today’s AI code assistance.

Ben Zahler

What are best practices when your plugin needs “backend” - use edge functions or ?

Tad Reeves

We answered this a bit live on the stage, but I think that the best way to approach this is to know the limitations and strengths of the backends you have at your disposal. For items that are already accessing the JCR (like AEM Tags or AEM Assets metadata) it's easiest to just use a servlet. If you're asking for login data, or perhaps have a backend originSelector that goes to an old on-prem instance, it might be better to use an Edge Function to obfuscate and protect that backend server, let the CDN cache it, etc. Basically, "use the right tool for the job" rather than having another over-arching philosophy.

Gatar

Is there a way to create a plugin which intercept actions like ie. publishing the page in DA?

Tomasz

For all Adobe folks reading this - I would die for having a way to listen to publishing events in EDS - pretty please!

Tad Reeves

The way that I've handled this is with git actions. DA itself can't intercept publish actions, but at least you can take actions based on the publish event (like pushing a ticket update, pushing a search backend, kick off a workflow, etc). I've got some examples of this I can show you.

Tomasz

Did you consider using Universal Editor? Looking for your thoughts on wyswig Vs document-based authoring

Tad Reeves

We absolutely considered Universal Editor. While UE still has its uses on AEM Forms (it's really still the only way to author Xwalk forms on the AEM Forms product), there are a number of advantages to the DA approach. Main ones being: * Multi-user authoring is solved, and solved VERY WELL * User-accessible versioning is also solved very well * UI is dramatically faster * Copy/Paste works naturally and intuitively like a document should * Document-centric authoring is simply WAY faster for users than form-based authoring in UE * Bulk actions are dramatically more powerful in DA * UE is more-easily customizable with powerful customization options (noted in the talk) * Project setup is easier than UE and maintenance overhead is lower without the need for UE instrumentation * Now, with Experience Workspace, there is also in-context WYSIWYG authoring options as well, which eliminates that advantage that UE had. There's really not a compelling reason to use UE for page authoring.

Michal

Is it a time for DA commons? All your plugins seems like a nice extensions others could use.

Markus Haack

There is https://github.com/adobe-rnd/aem-apps happy to get your PRs. Also if you want to keep your own place you can share on: https://www.aem.live/developer/block-party/ which has a category for DA as well

Jose Maria

Many plugins and full screen apps are going to be common to many customers. Is Adobe planning to build and provide the most common ones?

latimko

Currently, there is the AEM Block Party: https://www.aem.live/developer/block-party/. This is a community showcase of tools, many of which have been developed by Adobe employees in response to customer needs. I don't know of a true replacement for acs-commons, but I believe this is the closest thing.

Michal

Is it possible to perform transactional/atomic actions? I can image the search and replace can break in the middle, is there a way to perform a rollback? Get back to a checkpoint?

latimko

For Search and Replace, there is an button to create a version prior to performing a change. We didn't show this in the demo. This creates a dated version of the page. If you mess up a replace, there is an Undo action within search and replace. We have also been able to build a standalone tool that does bulk version replacements, in case a series of operations has gone wrong. It was conscious decision to not automatically version pages prior to changes, to prevent flooding a document with versions if you make a series of changes, but if someone needed it, it could be added back in.