oracle endeca developer's guide

Post on 14-Feb-2017

20.805 Views

Category:

Software

11 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Oracle EndecaIntroduction to Assembler Application & Cartridges

- Keyur Shah (http://www.linkedin.com/in/keyurkshah)

Note: Source for some of the images is Oracle Endeca Documentation

Endeca Component Interaction

Endeca Component Interaction - 2

Offline processing raw data sources

Endeca ITLEndeca MDEX Engine

Endeca Application Tier

Online processing

Your Application

User’s Browser

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

Endeca Index Architecture

Crawl

Website

Configuration

Content

Database & File System

Indexing

MDEX Dgraph / Index

ConsoleWSDL

CMS Connector

File System

JDBCMerge

Record Store

Record Store

MDEXCompatible Output

DimensionMapping

Manipulators

DocumentConversion

Content Acquisition System

Custom

ATG-Endeca Integration

Endeca Content Acquisition

System

Product Record Store

DimensionRecord Store

ATG Web Commerce

Product Exporter

Category Exporter

Schema Exporter SchemaRecord Store

Endeca Application Controller

Endeca ITL Endeca MDEX

ConfigurationForge

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

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.

Overview of CAS & Crawler

Endeca – Type of Pages

Site may have 3 basic page types:

Page Structure & Content Type

Templates & Cartridges Work Together

Cartridge Structure

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

Example of JSON Returned by Assembler Application

Example of JSONhttp://localhost:8006/discover/?format=json

Explicitly retrieve JSON

from Assembler

Open the JSON in Notepad++

Download the JSON Viewer

for Notepad++

JSON Viewer in Notepad++ You can download the JSON Viewer for Notepad++ from Sourceforge http://sourceforge.net/projects/nppjsonviewer/?source=dlp 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 folder2. open a document containing a JSON string3. Select JSON fragment and navigate to plugins/JSON Viewer/show JSON Viewer or press

"Ctrl+Alt+Shift+J"

Cartridge Creation WorkflowReviewAs 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.

Endeca Content & Indexing

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.

How does it all work?

Hello Cartridge - ExampleTo create and configure a basic “Hello cartridge”:

Create a cartridge template

1. Open a new plain text or XML file2. Type or copy the following contents to the file (with .xml extension)3. Save the file into C:\Endeca\Apps\Discover\config\cartridge_templates folder

Hello World Cartridge – Example (Cont’d)

<ContentTemplate xmlns="http://endeca.com/schema/content-template/2008" 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:\Endeca\Apps\Discover\config\cartridge_templates folder

Save & Upload Cartridge

Add a Cartridge to a Page(Experience Manager)

Workbench & Experience Manager

“Add/Change” for Cartridge Selector

Add New “RightContent”

12

3

4

New RightContent Added“Hello Cartridge”

Add the custom “Message” and “Color” values followed by clicking on the “SAVE CHANGES” BUTTON (right top)

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

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

Hello.JSP – Bring It All TogetherAdding 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:\Endeca\

ToolsAndFrameworks\3.1.2\reference\discover-electronics-authoring\WEB-INF\views\desktop\Hello 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

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

Customize Cartridge Editor

Experience Manager ImpactCartridge Editor Customization Previous

Now

Save & Confirm ChangesIn Authoring View

Customize Thumbnail ImageCustom 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)

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

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

Customize Thumbnail Image(Cont’d) – Verify the changes

top related