We are considering following setup for one of our projects and I would like to poll the community on their learnings having implemented such a setup in their projects.
Our front end layer would be served by an independent application (say using Angular/ReactJS hosted on Tomcat). AEM would be used purely as a content authoring and storage medium. The Angular app (desktop and mobile) would “load/fetch” content from AEM servers (including Dispatcher in front to enable content caching).
This setup is different from what usually is seen in typical AEM deployments where the content, code and presentation layer all reside in AEM. The suggested approach is finalised for implementation and I’m aware there are projects there in the wild that use this approach. It would be great if the community could share their learnings from having implemented something similar.
- What was good or bad about this design choice?
- Are there any specific pitfalls with this approach?
- AEM would be used as a content storage and serving layer, any learnings that should be kept in mind (Authoring/end user experience)?
One challenge that immediately comes to mind is Author preview feature. How authors would be able to “preview” the pages in such a setup where the presentation layer is NOT available in AEM. Any other challenges and how did you go about solving this would be great insight.
I agree with kunal -- ". I would suggest that you should not use AEM only as a content store in this case"
It sounds like your design choice is a standard web server app and you are only using AEM as a data store. Using this approach, you are not taking advantage of AEM authoring/publishing capabilities. You can still use AEM for authoring sites as well as using Angular to build components used in the site. Lokesh - one of our top community members submitted code that shows use of Angular with AEM. See: