Thursday, March 10, 2016

How Experience manager contents are Managed over multiple version and integrated with Assembler API?

Business users use Endeca experience manager to create multiple pages using page templates, cartridges, page slot and content slots. Onc... thumbnail 1 summary

Business users use Endeca experience manager to create multiple pages using page templates, cartridges, page slot and content slots. Once contents get previewed, Contents needs to push from authoring to Live.

As part of publishing content from authoring to live, ITL makes a /ws/config web-service call to each Dgraph and push updated pages, rules,thesaurus, keyword redirects and phrases to graphs. 

Oracle commerce 11.2 Release resolved query response size issue.Find out reason below in the post.
Sample lightweight query from 11.2 
/graph?node=0&offset=0&nbins=0&opts=xsearchreport&log=reqcom%3dMdexContentRequestBroker&irversion =652

Following changes can be seen over the period of multiple releases.

Endeca 3.1.1 and 3.1.2 -  

1. All Site pages are managed in Endeca IFCR repository.
2. All Rules contents under Shared contents are managed in Dgraph. Each Rule contains meta-data, all cartridges, any HTML content and everything gets pushed to Dgraph. Each Rule size generally around 4-10 KB average.
Find out sample content XML node for a rule at end of post

Endeca 11.1 - 

1. All Site pages and Rule content are managed in the zip file and zip file available to all application server.
2. All Rules metadata under Shared contents are managed in Dgraph. Only Content Meta-data pushed to Dgraph Engine. Each Rule size generally around below 1 KB.

Find out sample content XML node for a rule at end of post

Endeca 11.2 - 

All Site pages and Rule content with metadata are managed in a zip file and zip file available to all application server. Application server caches all rules in memory. 


As per my one of the previous blogs explain how assembler works.

Assembler makes  a super-lightweight query is executed that only returns Supplemental objects representing rules, location, properties name and few other information from Experience Manager.

This query gives average response size over multiple versions below for 20 rules:-

Endeca 3.1.1 and 3.1.2 -  Endeca query response size 160 KB.

Endeca 11.1 -  Endeca query response 8 KB.

Endeca 11.2 -  Endeca query response 0 KB as the call not required to get content however still makes a lightweight query to get other information.

Published Content XML to Dgraph

Endeca 3.1.1 and 3.1.2

<sv:node sv:name="Test">
<sv:property sv:name="jcr:primaryType" sv:type="Name">
<sv:value>endeca:unstructured</sv:value>
</sv:property>
<sv:property sv:name="contentType" sv:type="String">
<sv:value>Page</sv:value>
</sv:property>
<sv:property sv:name="jcr:created" sv:type="Date">
<sv:value>2016-02-05T03:09:29.807-05:00</sv:value>
</sv:property>
<sv:property sv:name="jcr:createdBy" sv:type="String">
<sv:value>admin</sv:value>
</sv:property>
<sv:property sv:name="jcr:lastModified" sv:type="Date">
<sv:value>2015-07-28T08:26:36.479-05:00</sv:value>
</sv:property>
<sv:property sv:name="jcr:lastModifiedBy" sv:type="String">
<sv:value>admin</sv:value>
</sv:property>
<sv:property sv:name="sling:resourceType" sv:type="String">
<sv:value>endeca/page</sv:value>
</sv:property>
<sv:node sv:name="content.xml">
<sv:property sv:name="jcr:primaryType" sv:type="Name">
<sv:value>nt:file</sv:value>
</sv:property>
<sv:property sv:name="jcr:created" sv:type="Date">
<sv:value>2016-02-05T03:09:29.807-05:00</sv:value>
</sv:property>
<sv:property sv:name="jcr:createdBy" sv:type="String">
<sv:value>admin</sv:value>
</sv:property>
<sv:node sv:name="jcr:content">
<sv:property sv:name="jcr:primaryType" sv:type="Name">
<sv:value>nt:resource</sv:value>
</sv:property>
<sv:property sv:name="jcr:uuid" sv:type="String">
<sv:value>1bba4fdc-e0ac-4df4-9e49-34a2289a8c1a</sv:value>
</sv:property>
<sv:property sv:name="jcr:data" sv:type="Binary">
<sv:value>PENvbnRlbnRJdGVtIHR5cGU9IlBhZ2UiIHhtbG5zOnhzaT50SXRlbUxpc3Q+CiAgPC9Qcm9wZXJ0eT4KPC9Db250ZW50SXRlbT4=</sv:value>
</sv:property>
<sv:property sv:name="jcr:lastModified" sv:type="Date">
<sv:value>2015-07-28T08:26:36.479-05:00</sv:value>
</sv:property>
<sv:property sv:name="jcr:lastModifiedBy" sv:type="String">
<sv:value>admin</sv:value>
</sv:property>
</sv:node>
</sv:node>
</sv:node>


Endeca 11.1: - This Does not contain Binary property as this contains rule data.

<sv:node sv:name="Test">
<sv:property sv:name="jcr:primaryType" sv:type="Name">
<sv:value>endeca:unstructured</sv:value>
</sv:property>
<sv:property sv:name="contentType" sv:type="String">
<sv:value>Page</sv:value>
</sv:property>
<sv:property sv:name="jcr:created" sv:type="Date">
<sv:value>2016-02-05T03:09:29.807-05:00</sv:value>
</sv:property>
<sv:property sv:name="jcr:createdBy" sv:type="String">
<sv:value>admin</sv:value>
</sv:property>
<sv:property sv:name="jcr:lastModified" sv:type="Date">
<sv:value>2015-07-28T08:26:36.479-05:00</sv:value>
</sv:property>
<sv:property sv:name="jcr:lastModifiedBy" sv:type="String">
<sv:value>admin</sv:value>
</sv:property>
<sv:property sv:name="sling:resourceType" sv:type="String">
<sv:value>endeca/page</sv:value>
</sv:property>
<sv:node sv:name="content.xml">
<sv:property sv:name="jcr:primaryType" sv:type="Name">
<sv:value>nt:file</sv:value>
</sv:property>
<sv:property sv:name="jcr:created" sv:type="Date">
<sv:value>2016-02-05T03:09:29.807-05:00</sv:value>
</sv:property>
<sv:property sv:name="jcr:createdBy" sv:type="String">
<sv:value>admin</sv:value>
</sv:property>
<sv:node sv:name="jcr:content">
<sv:property sv:name="jcr:primaryType" sv:type="Name">
<sv:value>nt:resource</sv:value>
</sv:property>
<sv:property sv:name="jcr:uuid" sv:type="String">
<sv:value>1bba4fdc-e0ac-4df4-9e49-34a2289a8c1a</sv:value>
</sv:property>
\<sv:property sv:name="jcr:lastModified" sv:type="Date">
<sv:value>2015-07-28T08:26:36.479-05:00</sv:value>
</sv:property>
<sv:property sv:name="jcr:lastModifiedBy" sv:type="String">
<sv:value>admin</sv:value>
</sv:property>
</sv:node>
</sv:node>
</sv:node>

Endeca 11.2: No content gets pushed to Dgraph

No comments

Post a Comment

Note: Only a member of this blog may post a comment.

Text Widget