oracle-commerceendeca-workbench

Migrating to the EndecaExperienceManager


What are the kind of challenges faced when we migrate/move from versions of ATG commerce (<10) that were not using EndecaExp Manager to versions that use it. For ex, would all the JSPs undergo a change in the way they are rendered, given that the pages will now have to be template driven ?

What would be some best practices here to have a minimum impact of the move on the UI & maximize the reuse of the JSPs ?

I have read the migration docs but they do not seem to cover this aspect.


Solution

  • As you know ATG and Endeca only really started integrating in ATG 10.2.x. So in older versions of ATG the integration requires a lot more work from the developer. I've worked on an ATG 9.2 and Endeca 3.1.2 implementation that does exactly that. Your question should really be how far off are you from migrating to a later version of ATG that does integrate nicely with Endeca and how much of your current system would you want to retain after such a migration? This is important as it will mean you either need to build a solution that mimics the ATG Assembler Pipeline functionality (giving you the most control over your templates and cartridges when integrating with Experience Manager) or a less intrusive approach, based on the InvokeAssembler droplet.

    The other thing to consider is how much do you want to render through Experience Manager. Typically you would do the homepage and category pages. The product detail page would call some components from Experience Manager (for example breadcrumbs) but the data in the index isn't usually as accurate as the data in the database (for example inventory levels) so for the PDP you go directly to the repository. You are also unlikely to build your checkout flow in Experience Manager. This should give you an indication that you are likely to retain a large number of your existing pages.

    Your quickest approach would be to build a droplet that will retrieve your contentItems from Experience Manager and then start to render them. Keep in mind that the content items are just glorified JSON responses so you can easily parse them when you get hold of them.