About cartridges and content items
This section describes how cartridges expose content in an application.
Copyright ©
Legal Notices
Assembler Application Developer's Guide
Documentation Home
Highlighting
Prev
Up
Next
Contents
Search
Preface
About this guide
Who should use this guide
Conventions used in this guide
Contacting Oracle Support
About the Assembler
Introduction to the Assembler
What is the Assembler?
Assembler Libraries
The Role of the Assembler in an Oracle Commerce Application
Basic Assembler concepts
About Content Items
About Cartridges and Cartridge Templates
About Cartridge Handlers
Example: The Results List Cartridge
Configuring Assembler applications in Experience Manager
Assembler Search and Guided Navigation Features
Example: The Results List cartridge
Default Cartridge Configuration
Instance Configuration
Request-Based Configuration
Assembler Architectural Overview
The Assembler processing model
Example
About content items
About ContentInclude and ContentSlotConfig objects
Defining a ContentInclude object
Defining a ContentSlotConfig object
About nesting content items
About serialization and de-serialization
The Assembler eventing framework
Assembler event framework reference
Event payload
About Assembler error handling
Error handling in the Assembler service
About cartridges and content items
About cartridges
Structure of cartridges
Designing an Assembler Application
Planning an Assembler Application
About planning your application sitemap
About page types
About page structure and content types
About mapping pages to services
Creating a page
About content folders
Content folders example
Creating a content folder
About moving content folders
About sites
Site storage
Site Awareness
Creating Experience Manager Templates
About creating templates
Anatomy of a template
Template identifiers
About the group of a template
Setting a template group
Specifying the description and thumbnail image for a template
About using thumbnail images in Experience Manager
Specifying the default name for a cartridge
Defining the content properties and editing interface
Template properties
Defining the editing interface for properties
Configuring editor default values
Structural properties
Adding a content item property
Adding a content item list property
About cartridge selectors
About keyword redirects groups
Implementing keyword redirects in templates
Associating keyword redirect groups with pages
About multiple locales
Managing Experience Manager Templates
Updating Experience Manager templates
Troubleshooting problems with uploading templates
Troubleshooting invalid templates
About modifying templates that are used by existing pages
Managing template changes
Retrieving the current templates from Experience Manager
Developing an Assembler Application
Deploying the Assembler
Assembler environment requirements
Port usage
Threads
About authoring and production environments
Assembler dependencies
About deploying the Assembler
Assembler configuration
Assembler factory
About configuring cartridge handlers
HTTP servlet request access
Search and navigation request configuration
MDEX resource configuration
Navigation state builder configuration
Filtering requests
Combining site-based filters and URL filters
Site state builder configuration
About configuring cartridge handlers that make search and navigation queries
About configuring cartridges to retrieve dynamic content
About configuring the Assembler servlet
Response writers
Reference implementations
Invoking the Assembler
Invoking the Assembler in Java
Invoking the Assembler with a ContentInclude item
Invoking the Assembler with a ContentSlotConfig item
Querying the Assembler Service
Querying the Assembler Service in a multiple site deployment
Making dynamic content queries to the Assembler servlet
The Assembler servlet response format
About building an Assembler query string
About retrieving Assembler results using the packaged services
The Dimension Search Service
The Record Details Service
The Guided Search Service
Configuring dynamic content for the Guided Search Service
Handling the Guided Search Service response
About retrieving content item properties from packaged services
Retrieving information from the Assembler response
About handling the Assembler response
About rendering the Assembler response
Implementing Multichannel Applications
Overview of multichannel applications with the Assembler
About creating templates for mobile channels
Tuning an Assembler application
Enabling the preview application for Workbench
About the preview application
Enabling your Java application for preview
Adding Preview resources
Enabling auditing and editing
Device-specific auditing and editing
Decorating the page
Enabling non-Java applications for preview
Preview CSS
Standard Web page
RequireJS (AMD-based) Web page
addContentItemId(pElement, pContentItem)
initialize(pContentItem, pCallback)
addContentItem(pContentItem, pElement, pParentElement)
removeContentItem(pElement)
addHotspots(pElement, pTraverseDom)
removeHotspots(pElement, pTraverseDom)
on(pEvent, pListener, pScope)
off(pEvent, pListener)
Enabling your preview application
Changing the preview link service
Managing the preview application in Workbench
Formatting the Assembler Service URL
Testing your preview application
Disabling preview
Configuring logging for an Assembler Application
Configuring the RequestEventInitializer and the MdexQueryInfoInitializer
Instantiating a ContentItemAugmentAdapter
Instantiating a LogServerAdapter
Dgraph request logs
Customizing logging information
Customizing session ID information
Customizing request ID information
Configuring the Log4J logger
Configuring logging for custom events
About request events
The NavigationEventWrapper class
About request event adapters
The SessionIdProvider interface
The RequestIdProvider interface
Request event adapters in the reference application
About registering a request event adapter
Request event adapter configuration in the reference application
Request event adapters in the reference application
Client side click events
Configuring cartridge performance logging
Debugging MDEX Engine query results
Query debugging features
Enabling query debugging features
URL parameters for query debugging features
Query debugging results in the reference application
Optimizing Application URLs
About the URL optimization classes
Package contents
Introduction to URL optimization
Overview of URL optimization capabilities
Integration of keywords into the URL string
Canonicalizing the URL string
Configuring the word separator string
Moving URL parameters out of the query string
Encoding Parameters
URL canonicalization
Working with Application URLs
About application URLs
About Actions
Action fields
Using action fields
About using Actions with the packaged services
Working with URL parameters
URL configuration in the reference application
Configuring URL parameters
Configuration for navigation and record paths
URL formatter configuration
The basic URL formatter
The SEO URL formatter
About working with canonical links
The Canonical Link Builder
Output content items
Preparing your application
Preparing your dimensions
Preparing your properties
Handling images and external JavaScript files
URL transitioning
Building optimized URLs
Core URL optimization classes
UrlState
UrlFormatter
QueryBuilder
Overview of building URLs using the URL optimization classes
Parsing an incoming query and sending it to an MDEX Engine
Informing the UrlState of the navigation state
Creating link URLs from a UrlState
Configuring URLs
Anatomy of an optimized URL
General URL References
Optimized URLs
misc-path
path-param-separator
path-params
query string
About the URL configuration file
Creating a URL configuration file
About optimizing the misc-path
navStateFormatter
navStateCanonicalizer
erecFormatter
aggrERecFormatter
Formatting misc-path strings in optimized URLs
Optimizing URLs for navigation pages
Canonicalization configuration options
Sort direction
Sort method
Optimizing URLs for record detail pages
Optimizing URLs for aggregate record detail pages
Configuring the path-param-separator
About optimizing the path-params and query string
Moving parameters out of the query string
Encoding parameters
Removing session-scope parameters
Passing non-parameters to the API
Moving parameters out of the query string
Encoding parameters
Removing session-scope parameters
About passing non-parameters to the API
Using the URL configuration file with your application
Integrating with the Sitemap Generator
The Sitemap Generator urlconfig.xml file
Using the URL configuration file with the Sitemap Generator
Extending the Assembler
Extending and Developing Cartridges
Cartridge Basics
First steps with a new cartridge
Adding a basic renderer
Elements of the example cartridge
The cartridge template
The cartridge instance configuration
The cartridge renderer
Overview of cartridge extension points
Customizing the Experience Manager interface
Adding embedded user assistance to a cartridge
Using the core Experience Manager editors
About custom editors
About Cartridge Handlers and the Assembler
About the CartridgeHandler interface
About initializing the cartridge configuration
About the NavigationCartridgeHandler class
Implementing a cartridge handler
Cartridge handler development scenarios
About using event listeners to extend the navigation cartridges
Creating an event listener
About registering an event listener
Sample Cartridges
About using the sample cartridges
Setting up a test application based on Discover Electronics
Creating a Spring context file for sample cartridges
RSS Feed cartridge
Creating the cartridge template
Creating the cartridge handler
Creating the cartridge renderer
Custom Record Details cartridge with availability information
Creating the cartridge handler and supporting classes
Custom Results List with recommendations
Creating the cartridge handler and supporting classes
"Hello, World" cartridge with layered color configuration
Creating the cartridge handler and supporting classes
Creating the cartridge renderer
Testing the "Hello, World" cartridge with layered color configuration
Developing Custom Editors
The Editor SDK
Editor API
Editor(pConfig) constructor
Life cycle methods
initialize(pTemplateConfig, pContentItem)
editorReady( pProperty )
editorError(pLocalizedMessage)
dispose()
handleAttached()
handleDetached()
Property API
About developing custom editors
Building custom editors
Example: StringEditor editor.js file
Registering custom editors
Overriding an existing editor with a custom editor
Reusing custom editors across multiple applications
About creating and uploading a cartridge template
About custom editors in multiple locales
Creating resources properties files
Retrieving localized content for your custom editor
Template Property and Editor Reference
Experience Manager editors mapping reference
Editor label configuration reference
Basic content properties
Adding a string property
Adding a string editor
Adding a choice editor
About numeric properties
Adding a numeric stepper
Adding a Boolean property
Adding a Boolean editor
Adding an item property
Adding a list property
Adding a group label
Complex property editors
About the microbrowser
Data service configuration reference
About the Select Records dialog
Select Records data service configuration reference
About the Dynamic Slot editor
Creating a cartridge template with a dynamic slot
Specifying a cartridge handler for a dynamic slot template
Adding a Link Builder
About configuring the Link Builder
About the Media editor
About the Media Browser
Adding a Media editor
About Media editor configuration
Working with videos and images
Uploading media to the Endeca Configuration Repository
About resolving media paths in content items
About media root elements
Enabling the Media Browser
Using an MDEX Engine to index media assets
Interaction between Experience Manager and the media MDEX Engine
Interaction between a media MDEX Engine and Experience Manager
Interaction between the media content source and an Assembler application
Overview of the reference data application
Software requirements
Reference CAS crawl
Media MDEX Forge pipeline
Deploying the reference data application for Discover Electronics
Pipeline configuration for a media crawl
Required properties
Properties and dimensions provided in the reference data application
Search interface requirements
Adding a Boost-Bury Record editor
About configuring the boost-bury record editor
Adding a Guided Navigation editor
Adding a Dimension Selector
Adding a Dimension List editor
Adding a Dimension Value Boost-Bury editor
Adding a Dimension Value List editor
Adding an Image Preview
Adding a Rich Text editor
Adding a Sort editor
Adding a Spotlight Selection editor
About configuring the spotlight selection editor
Application feature property reference
Query configuration mappings
Navigation Cartridge Configuration Reference
Navigation cartridge URL parameter reference
About this section
URL parameter description format
Core URL query parameters
N (Navigation)
Ntt (Record Search Terms)
Ntk (Record Search Key)
Ntx (Record Search Match Mode)
Nf (Range Filter)
Nfg (Geocode Filter)
Examples
Nr (Record Filter)
Nrs (Endeca Query Language Filter)
R (Record)
Examples
Rsel (Featured Records Selector)
Examples
A (Aggregated Record)
Ntp (Auto-Phrasing)
Examples
Ntl (Language ID)
Examples
Cartridge-specific URL query parameters
Dy (Dimension Search)
Nty (Auto-Correct / DYM)
Nrmc (Refinement Menu Config)
Results List cartridge URL query parameters
Nrpp (Records Per Page)
Ns (Sort Key and Sort Order)
No (Record Offset)
Nrt (Relevance Ranking Search Terms)
Nrk (Relevance Ranking Search Key)
Nrm (Relevance Ranking Match Mode)
whymatch (Record Match Info)
whyrank (Record Rank Info)
About the navigation cartridge configuration models
Overview of the navigation cartridge configuration models
Default cartridge configuration
Feature configuration in the MDEX Engine
Cartridge instance configuration
Request-based configuration
Search cartridges
Search box
MDEX Engine configuration for the Search Box cartridge
Dynamic configuration
Static configuration
Template configuration for the Search Box cartridge
Auto-suggest search results
Dimension search results
Configuration model for the Dimension Search Results cartridge
MDEX Engine configuration for dimension search results
Dynamic configuration
Static configuration
Cartridge handler configuration for Dimension Search Results
Template configuration for the Dimension Search Results cartridge
URL request parameters for the Dimension Search Results cartridge
Search adjustments
Configuration model for the Search Adjustments cartridge
MDEX Engine configuration for the Search Adjustments cartridge
Dynamic configuration
Static configuration
Dgidx flags
Dgraph flags
Cartridge handler configuration for Search Adjustments
Template configuration for the Search Adjustments cartridge
URL request parameters for the Search Adjustments cartridge
About implementing automatic phrasing
Interaction with the Did You Mean feature
Phrase search scenario: Automatically applying phrases
Phrase search scenario: Phrases as a search suggestion
Keyword redirects
Cartridge handler configuration for keyword redirects
Content XML for keyword redirects
About using keyword redirects with the Assembler service
About handling keyword redirects in an application
The Assembler response
Using the Assembler response
Guided Navigation cartridges
Refinement menu
Dimension value boost and bury
Configuration model for the Refinement Menu cartridge
Notes on sorting
MDEX Engine configuration for Guided Navigation
Static configuration
Cartridge handler configuration for the Refinement Menu cartridge
Template configuration for the Refinement Menu cartridge
URL request parameters for the Refinement Menu cartridge
About Nrmc URL parameter syntax
Navigation Container
Configuration model for the Navigation Container
Cartridge handler configuration for the Navigation Container
URL request parameters for the Navigation Container
Breadcrumbs
Cartridge handler configuration for Breadcrumbs
Results cartridges
Results list
About the order of records in the record list
Record boost and bury
Configuration model for the Results List cartridge
MDEX Engine configuration for the Results List cartridge
Dynamic configuration
Static configuration
Dgidx flags
Cartridge handler configuration for the Results List cartridge
Template configuration for the Results List cartridge
URL request parameters for the Results List cartridge
Enabling snippeting in record results
Record details cartridges
Record details page
Configuration model for the Record Details cartridge
MDEX Engine configuration for the Record Details page
Dynamic configuration
Cartridge handler configuration for the Record Details cartridge
Template configuration for the Record Details cartridge
Content and spotlighting cartridges
Record Spotlight
Configuration model for the Record Spotlight cartridge
MDEX Engine configuration for a spotlight
Dynamic configuration
Cartridge handler configuration for the Record Spotlight cartridge
Template configuration for a record spotlight
Media Banner
Configuration model for the Media Banner cartridge
MDEX Engine configuration for a media banner
Dynamic configuration
Cartridge handler configuration for the Media Banner cartridge
Template configuration for the Media Banner cartridge
Dynamic triggering cartridges
About dynamic slots
Dynamic slot prerequisites
Request Event Attributes
Base request event attributes
Navigation cartridge request event attributes
Search Terms