Oracle Endeca Developer's Guide


Published on

This guide will help you understand the basic Endeca concepts + developing cartridges and some customization.

Published in: Software, Technology
1 Comment
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Oracle Endeca Developer's Guide

  1. 1. Oracle Endeca Introduction to Assembler Application & Cartridges - Keyur Shah ( Note: Source for some of the images is Oracle Endeca Documentation
  2. 2. Endeca Component Interaction
  3. 3. Endeca Component Interaction - 2 Offline processing raw data sources Endeca ITL Endeca MDEX Engine Endeca Application Tier Online processing Your Application User’s Browser
  4. 4. Endeca Pipeline  The end result is an Endeca index which possesses enriched source data and enhanced search and Guided Navigation capabilities Loading Data Caching & Joining Data Manipulating Data Dimension Mapping The Endeca pipeline
  5. 5. Endeca Index Architecture Crawl Website Configuration Content Database & File System Indexing MDEX Dgraph / Index Console WSDL CMS Connector File System JDBC Merge Record Store Record Store MDEX Compatibl e Output Dimension Mapping Manipulators Document Conversion Content Acquisition System Custom
  6. 6. ATG-Endeca Integration Endeca Content Acquisition System Product Record Store Dimension Record Store ATG Web Commerce Product Exporter Category Exporter Schema Exporter Schema Record Store Endeca Application Controller Endeca ITL Endeca MDEX Configuration Forge Web Application Product Catalog Indexing Admin ATG Deployment Template Module Endeca Configuration  Publish Product Catalog Assets to Endeca Records  Publish Categories to Endeca Dimensions  Publish Schema Metadata from ATG Web Commerce to Endeca  Operational Support
  7. 7. MDEX Engine The MDEX Engine uses proprietary data structures and algorithms that allow it to provide real-time responses to client requests. The MDEX Engine stores the indices that were created the Dgidx indexing program. After the indices are stored, the MDEX Engine receives client requests via the application tier, queries the indices, and then returns the results. The two primary components of the MDEX Engine package are the following: • Dgraph • Dgidx MDEX engine is designed to be stateless.
  8. 8. Overview of CAS & Crawler
  9. 9. Endeca – Type of Pages  Site may have 3 basic page types:
  10. 10. Page Structure & Content Type
  11. 11. Templates & Cartridges Work Together
  12. 12. Cartridge Structure
  13. 13. Endeca Assembler Application  The Endeca Assembler application enables a WEB application to query the MDEX Engine and retrieve the appropriate dynamic content based on user’s navigation state or other triggers  The Assembler application provides a RESTful web service API that returns results either in JSON or XML.  The Assembler API is powered by Java, but the query interface is language-agnostic web service
  14. 14. Example of JSON Returned by Assembler Application
  15. 15. Example of JSON http://localhost:8006/discover/?format=json Explicitly retrieve JSON from Assembler Open the JSON in Notepad++ Download the JSON Viewer for Notepad++
  16. 16. JSON Viewer in Notepad++  You can download the JSON Viewer for Notepad++ from Sourceforge   Unzip the download  This plugin is meant to display a JSON string in a Treeview. It also marks the error position in case of parsing errors.  Thats it!!! ============Instruction:============ 1. Paste the file "NPPJSONViewer.dll" to Notepad++ plugin folder 2. open a document containing a JSON string 3. Select JSON fragment and navigate to plugins/JSON Viewer/show JSON Viewer or press "Ctrl+Alt+Shift+J"
  17. 17. Cartridge Creation Workflow Review As we have seen, the high-level workflow for creating a basic cartridge is:  1. Create a cartridge template and upload it to Endeca Workbench  2. Use Experience Manager to create and configure and instance of the cartridge  3. Add a renderer to the front-end application FOR DEVELOPERS Step 2 is necessary during development in order to have a cartridge instance with which to test. However, once the cartridge is complete, the business user is typically responsible for creating and maintaining cartridge instances in Experience Manager.
  18. 18. Endeca Content & Indexing
  19. 19. What Happens @ Runtime?  The Assembler retrieves this configuration at runtime and uses it to build the response model that it returns to the client application.
  20. 20. How does it all work?
  21. 21. Hello Cartridge - Example To create and configure a basic “Hello cartridge”: Create a cartridge template 1. Open a new plain text or XML file 2. Type or copy the following contents to the file (with .xml extension) 3. Save the file into C:EndecaAppsDiscoverconfigcartridge_templates folder
  22. 22. Hello World Cartridge – Example (Cont’d) <ContentTemplate xmlns="" xmlns:editors="editors" type=“SecondaryContent" id="Hello"> <Description>A sample cartridge that can display a simple message.</Description> <ThumbnailUrl>/ifcr/tools/xmgr/img/template_thumbnails/sidebar_content.jpg</ThumbnailUrl> <ContentItem> <Name>Hello cartridge</Name> <Property name="message"> <String /> </Property> <Property name="messageColor"> <String /> </Property> </ContentItem> <EditorPanel> <BasicContentItemEditor> <editors:StringEditor propertyName="message" label="Message" /> <editors:StringEditor propertyName="messageColor" label="Color" /> </BasicContentItemEditor> </EditorPanel> </ContentTemplate> Save the file into C:EndecaAppsDiscoverconfig cartridge_templates folder
  23. 23. Save & Upload Cartridge
  24. 24. Add a Cartridge to a Page (Experience Manager)
  25. 25. Workbench & Experience Manager
  26. 26. “Add/Change” for Cartridge Selector
  27. 27. Add New “RightContent” 1 2 3 4
  28. 28. New RightContent Added “Hello Cartridge” Add the custom “Message” and “Color” values followed by clicking on the “SAVE CHANGES” BUTTON (right top)
  29. 29. Review the Changes in Discover Authoring Right Content Top Related Products Hello The error displays because we have not yet created a renderer for the Hello cartridge. http://localhost:8006/discover-authoring
  30. 30. Viewing the JSON for Cartridge Verification  At the footer of the discover authoring default page, you should see couple of interesting links “json” and “xml”  You can click on JSON or XML link to view the MDEX response (content type + content) to the page request  Clicking on “json” – you will be able to view the page response in json format  Goto the bottom of JSON response or search “Hello” in the response  You will be able to confirm the presence of Hello Cartridge
  31. 31. Hello.JSP – Bring It All Together Adding the Basic Renderer  Endeca application have no way to render the content to the front- end (Either JSON or XML or Custom XML)  Create a new JSP file (Hello.jsp) in the C:EndecaToolsAndFrameworks3.1.2referencediscover- electronics-authoringWEB-INFviewsdesktopHello folder (You need to create the Hello folder) <%@page language="java" pageEncoding="UTF-8" contentType="text/html;charset=UTF- 8"%> <%@include file="/WEB-INF/views/include.jsp"%> <div style="border-style: dotted; border-width: 1px; border-color: #999999; padding: 10px 10px"> <div style="font-size: 150%; color: ${component.messageColor}">${component.message} </div> </div> Color- coded For your copy-paste purpose
  32. 32. Testing the Hello.jsp  Once you have created the JSP and dropped in the Hello folder as described in previous slide, you are ready to test the changes  Just refresh the Discover authoring home page http://localhost:8006/discover-authoring , and you should be able to see the Hello World! Message as defined in the experience manager
  33. 33. Customize Cartridge Editor
  34. 34. Experience Manager Impact Cartridge Editor Customization  Previous  Now
  35. 35. Save & Confirm Changes In Authoring View
  36. 36. Customize Thumbnail Image Custom Image & Dimension  Create a custom JPG image in your favorite image tool e.g. You can use Windows paint application  Images are typically of 81x81 dimension in Experience Manager (below are examples of default images)
  37. 37.  You can copy/save the custom thumbnail image on your web or image server  For this example, We are saving the image to below folder Customize Thumbnail Image (Cont’d) – Common Location
  38. 38. Customize Thumbnail Image (Cont’d) – Modify the Cartridge XML We have commented the default ThumbnailUrl TAG, and customized the ThumbnailUrl TAG to use the Hello.jpg from the images folder where we saved this file in previous slide NOTE: Remember to run the set_templates script in Control folder
  39. 39. Customize Thumbnail Image (Cont’d) – Verify the changes