Scaling up - Implement large-scale projects on AEM Edge Delivery Services
AEM Edge Delivery Services has evolved and can be used for much more than building small microsites or corporate blog pages. But is it possible to create multisite, multilanguage projects while preserving the performance, flexibility, and ease of use of Edge Delivery Services?
This presentation aims to explore strategies for implementing complex, global, multilingual projects within AEM Edge Delivery Services. We will cover topics such as project setup for developers, content organization, translation workflows, etc., based on real projects.
Attendees will gain a clear understanding of how to approach large-scale projects and their associated challenges, as well as the benefits Edge Delivery Services projects offer.
Tad
What sort of framework have you found works when creating a multi-region or localized site using Universal-Editor-driven EDS sites?
Anian Weber - TechDivision
Most EDS projects I came across don't use and don't need a Framework. Apart from that, Preact is a great fit for EDS for complex UIs, as it doesn't require a build process.
IF
Speaking of code reuse - what about cross-platform support for content ? Creating a mobile app may require to access JSON instead of HTML. Is this possible using crosswalk ?
Markus Haack - Adobe
"published" mean content from AEM Author (JCR) or doc-based (Sharepoint/Google) is published to Edge Delivery Services.
Beo
Can I overlay or extend a site with custom code?
Anian Weber - TechDivision
With the new "aem.live" architecture, you can build some custom logic that loads different JS files depending on some some conditions (e.g. some metadata). With the syncing of repositories, you can overwrite or customize whatever you want inside the sync process.
Markus Haack - Adobe
Yes, the are limits which apply to any Edge Delivery Services project.
Tomasz Sobczyk
What if I have a custom sharepoint url?
Markus Haack - Adobe
This works, the same. Any sharepoint collection can be connected to Edge Delivery Services. See https://www.aem.live/docs/setup-customer-sharepoint
Markus Haack - Adobe
No Sling mapping. But a path mapping from AEM Author to Edge Delivery Services can be applied, see https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/edge-delivery/wysiwyg-authoring/path-mapping
Nitin Gupta
For repositories with uber large content - how do we scale indexing , with respect to crosswalk - the AEM authoring could still use the oak search, but how does the same translate for the Delivery site ?
Nilesh Mali
Is there any best plan to move existing project into this new structure?
Anian Weber - TechDivision
Have a look at this documentation: https://www.aem.live/developer/upgrade
puradawid
What is the advantage of using one repository, if there are separated folders and files for each website anyway?
Markus Haack - Adobe
The repository only contains the code base, content will be separated. The advantage is to reuse the same code base without forking the Git repository again and again.
Anian Weber - TechDivision
Can't speak for Adobe, just a quick comment about unmaintainable & bad practice: I wouldn't consider the child GitHub repos as a duplication of code - they are just there, to get EDS to work, so to have separate sites with separate domains. No developer ever interacts with the child repos and you only have to monitor the sync process. But this should be quite robust, because you are only relying on very basic git commands and GitHub Jobs.
Tomasz Sobczyk
For Cross repo in github - we have used a service user + access token combination. In our case we kick off Workflows between repos but for your use case it should work as well (code sync)
Anian Weber - TechDivision
Thanks for the input! We didn't use a service user for some reason, but I forgot why. We'll have a look into it. Thanks!
Mariia Lukianets
How are the individual site requirements addressed in the Shared Repo setup?
Markus Haack - Adobe
Which " individual site requirements"? Individual metadata, index config, headers, CDN config etc. is all configurable via the config service.
Anian Weber - TechDivision
The sync process I described, is designed to work with independent GitHub repos, where the main repo syncs to the child repos. So the child repos "inherit" the code from the main repo. But you could implement your own custom sync process, that is based on different branches where each branch then syncs to another repo.
Tomasz Sobczyk
How do you deal with content refactoring in sharepoint? In aem world we use groovy scripts a lot, and that works fine with well structured content in jcr. What do you do in documents in sharepoint?
Markus Haack - Adobe
This is a tricky one :-) From our learning there is usually not soo much content restructuring and rewriting needed. Block code can be build to work with different content structures. However avoid spaghetti code, if there are too many content structures supported by one block maybe create a new block. On the content side there are different options if there is a need to rewrite word documents in bulk. Some projects to this be download, manipulating the docs locally and re-upload. Other projects use MS Power Automate for this.