Skip to main content

ATG Search - high level overview of product-catalog-output-config.xml and XHTMLs

  • The definition file format begins with a top-level item element that specifies the repository and item descriptor to use, and then lists the properties of that item type to include.
  • The top-level item element has the is-document attribute set to true. This attribute specifies that an XHTML document should be generated for each item of that type (in this case, each user item).
  • Property values that come from standard JavaBean properties of the RepositoryItem object (rather than dynamic bean properties) are specified using a dollar-sign ($) prefix.
  • The item element has an is-multi attribute for specifying multi-value properties. If a property is an Array, Collection or Map  you should set this attribute to true.
  • Eeach ATG Search document is uniquely identified by a URL (typically the path name of the file on the file system).
  • In the XHTML documents that the ATG platform generates from repository items, meta properties are represented by meta tags in the head of the document, while text properties are represented by div tags in the body of the document.
  • ATG uses a URL of the following form to uniquely identify each document:       atgrep:/repository-name/item-descriptor-name/repository-id
  • In addition to the properties you specify in the definition file, the output document also includes certain properties that provide sufficient information to identify the repository items represented in the document. The output for each item automatically includes the properties $repositoryId, $repository.repositoryName, and $itemDescriptor.itemDescriptorName.
  • The output for the document-level item also includes a $url property and a $baseUrl property, where each contain the URL representing this repository item. (The difference between these properties is that if a VariantProducer( Eg: locale specific) is used to generate multiple documents from the same repository item, the $url property for each document will include unique query arguments to distinguish the document from the others.)
  • At a minimum, you need to set the following properties on each IndexingOutputConfig component: bulkLoader , definitionFile.
  • The IncrementalLoader component uses an implementation of the PropertiesChangedListener interface to monitor the repository for add, update, and delete events. It then analyzes these events to determine which ones necessitate updating XHTML documents and creates a queue of the affected repository items. When a new incremental update is triggered, the IncrementalLoader processes the items in the queue, generating and loading a new XHTML document for each changed repository item.
  • PropertyAccessor defines how the document loaders obtain property values
  • VariantProducer specifies logic for creating multiple XHTML documents from the same repository item.

Comments

Popular posts from this blog

Eclipse plug-in to create Class and Sequence diagrams

ModelGoon is an Eclipse plug-in avaiable for UML diagram generation from Java code. It can be used to generate Package Dependencies Diagram, Class Diagram, Interaction Diagram and Sequence Diagram. You coud get it from http://marketplace.eclipse.org/content/modelgoon-uml4java Read more about it and see some vedios about how to create the class and sequence diagram @ http://www.modelgoon.org/?tag=eclipse-plugin Find some snapshots below which gives an idea about the diagram generation.

ATG Search Indexing - behind the scene steps explained

Read more about the search indexing @  http://tips4ufromsony.blogspot.com/2011/11/atg-search-architectural-flow-search.html ATG search indexing involves index file creation, deploying and copying the index file to the search engine's box. The steps can be divided into Initial stage, Preparing Content, Indexing and Deploying. Please find below the detailed analysis of each step. 1. Initial stage:        a. Check whether the folder deployshare configured correctly @ LaunchingService.deployShare  ( \atg\search\routing\LaunchingService.deployShare ). Lets assume that it is configured to \Search2007.1\SearchEngine\i686-win32-vc71\buildedIndexFiles.        b. Lets assume that the index file folder ( \Search2007.1\SearchEngine\i686-win32-vc71\indexFiles)  has the following segments (folders) currently :                     66900...

Eclipse Kepler - good features of Eclipse 4.3 ( Eclipse Kepler ) JDT / Workbench

Detached windows with sash When you detach a view or editor into its own separate window, it now has all the capabilities of a normal workbench window. They now support multiple stacks of views separated by sashes with arbitrary layouts. The detached parts will remain synchronized with the master window that they were detached from. This is especially handy for people developing with two or more monitors, so they can spread views across several monitors and keep them synchronized. Import nested projects The Import Projects wizard now has an option to continue searching for projects to import recursively within any project it finds. This allows you to import physically nested projects at the same time. Open Resource dialog enhancements The Open Resource (Ctrl+Shift+R) dialog now offers direct access to the Show In and Open With menus via drop-down buttons. On platforms that support mnemonics, the buttons are also accessible via Alt+W and Alt+H. Whole word option...

ATG Search troubleshooting tips

In this blog, I have listed some basic ATG Search troubleshooting tips in some general scenarios. 1. If the index did not deploy, consider the following possible causes : Is the DeployShare property configured @ /atg/search/routing/LaunchingService component ?  Is enough space available @ deployment share box for the index ?  Are the RMI ports configured correctly in the RoutingSystemService component ?  If the search engine application is running in a separate box, this application is invoked through a RemoteLauncher running in these boxes. Check whether these RemoteLaunchers are running in these boxes ? 2. If you have trouble in launching one or more search engines, try the following remedies: If the Search engine is standalone, set the /atg/search/routing/LaunchingService component’s engineDir property to the absolute path of the Search engine directory.  3. Search unavailable in the estore page, even when the SearchEngine is in "Running" st...

Search Facets - how to create a new search facets in ATG Search

A Facet is a search refinement element that corresponds to a property of a commerce item type. ATG supports the search result refinement using the Faceted Search concept. Read more about facted search @  http://en.wikipedia.org/wiki/Faceted_search . Facet can either be ranges or specific values. Each facet is stored in the RefinementRepository as a separate refineElement repository item. Facets are divided into Global and Local facets. Global facets apply to all the categories and local facets only to the category in which they are created. For example Price/Brand can be considered as the facets that are common for all skus and New Release/Coming Soon can be considered as the facets that are specific to Physical Media products like Vidoe/DVD/Blue-ray/Books. We can use the ATG BCC - Merchandising UI to create facets. The Faceting Property depends on the meta-properties defined in the \atg\commerce\search\product-catalog-output-config.xml ( the def...