Similar to HTTP requests, requests that are made to the Assembler use the paradigm of a request object and a response object. Both of these objects are of type com.endeca.infront.assembler.ContentItem
. There are two subclasses of ContentItem
, depending on the type of content being requested: com.endeca.infront.cartridge.ContentInclude
and com.endeca.infront.cartridge.ContentSlotConfig
.
ContentInclude
is used to request pages defined in the Pages section of Experience Manager. Invoking the Assembler for a page request is also referred to as “invoking the Assembler with a ContentInclude
.” The URI for a page request must begin with a /pages
prefix, for example, /pages/browse
. Endeca uses the /pages
prefix to distinguish page requests from content collection requests.
The handler for the ContentInclude
component first tries to retrieve the content at the exact URI specified in the ContentInclude
. If there is no content at that location, the handler attempts to find the deepest matching path. To return to our original example, assume a browse
page exists in the Experience Manager Pages definitions. Passing in a /pages/browse
path will match this browse
page. Passing in a /pages/browse/seo/url
path will also match this page because the deepest matching path the handler can find for /pages/browse/seo/url
is /pages/browse
(this example assumes that a browse/seo/url
page does not exist in Experience Manager).
ContentSlotConfig
is used to request content collections defined in the Content section of Experience Manager. Invoking the Assembler for a content collection request is also referred to as “invoking the Assembler with a ContentSlot
item.” A content collection request must specify the name of the content collection and the number of items to retrieve from that collection. The handler for ContentSlotConfig
, uses these parameters to form a content trigger request that fetches the top item (or items) from the collection by priority. The Assembler then processes the content items from the collection and returns them as part of the response for rendering.
The remainder of this chapter makes a distinction between ContentInclude
and ContentSlotConfig
when necessary. When the distinction is not required, the more general ContentItem
is used.
Note: For more information on the ContentInclude
and ContentSlotConfig
components and their handlers, refer to the Assembler Application Developer’s Guide in the Oracle Endeca Commerce documentation.