Integrate DOJO developed website with AEM
This is basically a migration of one technology to AEM. There are cases when clients wants to replace the backend technology only. AEM can be integrated with any Java script libraries. Here we are showcasing how feasible it is to integrate DOJO developed site in AEM. Adobe Experience Manager implementation requires a technical team that understands the unique development challenges a custom CMS poses.
Feasibility?
Dojo is a front end development technique Toolkit by the Dojo Foundation featuring DHTML and AJAX functions. Dojo work well with all of the front end techniques like HTML5, JQuery etc. to use with any backend system/applications. Dojo development requires skilled developers who are good at DOJO and dtl language.
Dojo can be integrated with AEM through an interaction Layer. AEM exposes many of the methods to integrate with any third-party applications. This enables applications to work seamlessly when integrated. A JSON layer is used to integrate AEM with dojo in this case.
Can we migrate a project which runs on DOJO to AEM?
The asnwer is yes. We can create a package of DOJO front end files (Including .html) to upload into AEM. This can be created either using package manager or through maven build.
Once this package is ready, it can be directly uploaded into to AEM Package maneger and install. This package may have differnt page setup and locations compared to a normal AEM Project.
Any Drawbacks?
Yes, the template, page concept is not involved in this and we are just reusing the existing normal front end html files with DOJO. We can have an authoring environment for authoring the components but the preview is not available since we will have to develop a new page in addition to DOJO Migrated page. Also there may be some Javascript path remapping issues, which we may have to fix once deployed.
How does the DOJO normal files talk to AEM Backend?
We can have a JSON layer which talks between the DOJO and AEM. The authoring environment can invoke the osgi layer to create custom JSON files which DOJO is expecting.
Integration Details
AEM is used as backend service . OSGi (Open Service Gateway Initiative) is the Java framework which runs on AEM and generates the JSON Layer. The generated JSON layer is used to interact with dojo application.
Authoring, JSON Generation.
The data is authored by an author and this gets saved in AEM. User friendly authoring environment allows users to drag and drop the component and immediately start authoring.
--------------Similar Posts:----------
-------------------------------------------
JSON Generation:
Once the component is saved, OSGI runs in AEM helps to generate a JSON. A Java service used to generate OSGI Bundles needs to be created to generate JSON from the authored component.
Any format of JSON can be generated as per dojo requirement here. Dojo needs to configure above data path of JSON while interacting and generating a page component.
DOJO Layer
We need to move all DOJO Libraries to AEM. Dojo related components and templates to be moved to respective folder of AEM.
Once all settings are done, while reloading the page, UI will be loaded with the respective component by its templates from dojo but content from AEM.
AEM Project Maintenance w.r.t dojo
New versions of AEM are available so often. Upgrades can be done without much challenges since the front end is separated from backend.
Some of the issues we faced during migration
Cannot use AEM image rendering concept, since DOJO uses own images and paths.
File name conflicts. Space is there in DOJO
AEM Caching is not used
Deployments are complex
Previews are not possible
Site management becomes complex