Friday 20 May 2016

ATG - Endeca | Understanding Assembler Architecture

Here I am going to explain how assembler works behind the scenes.

Few key points about assembler.
1. Accepts Content Item in request.
2. Populates and returns response Content Item. 

Assembler
Assembler

In ATG-Endeca Integration Assembler can be invoked using one of the three ways.
1. InvokeAssembler Droplet [When portion of page is rendered using Assembler].
2. AssemblerPipelineServlet pipeline servlet [When complete page is rendered using Assembler].
3. Custom Droplet [Can be used to render complete or partial page using Assembler].

Here I will explain the assembler mechanism from invokeAssemler() method of the AssemblerTools. 
Below diagram explains this architecture.

Assembler Architecture
Assembler Architecture

Explanation :
1. Application Invokes the invokeAssembler() method of AssemblerTools.
2. Invoke Assembler method calls NucleusAssemblerFactory.
3. NucleusAssemblerFactory returns NucleusAssembler instance.
4. AssemblerTools invoke assemble method of NucleusAssembler.
5. NucleusAssembler creates initial version of root and sub content response items. Here it uses the XML     configuration for content along Experience Manager modifications (From Endeca Configuration repository).
6. NucleusAssembler invokes cartridge handlers on root and each sub content items. Cartridge handlers are used to manipulate the content items.
7. NucleusAssembler return the response content item to AssemblerTools.
8. AssemblerTools return the response content item to Application.

Wednesday 18 May 2016

MDEX | Revert Endeca Index to Particular Baseline

Follow below steps to revert\restore MDEX indexes to previous baseline update.

1. Stop the MDEX Engine.
2. Clean up dgraph_input and sub directories [Delete the content].
3. Copy the previous backup indexes from dgidx_output.<YYYY_MM_DD.HH_MM_SS> to dgraph_input directory.
4. Start the MDEX Engine. MDEX Engine reads the files in dgraph_input and its sub directories.

Here is the example.

1. Old baseline data

Old Indexed Data

2. Latest indexed data

Latest Indexed Data


3. Restore the old indexed data using above steps