The previous chapter described the basic configuration of the repository indexing system. For some sites, this configuration may be sufficient. However, many sites have complex repositories that require custom handling of the XHTML output. For example, a repository may contain multiple versions of the same data, each in a different language. To enable the repository indexing system to handle situations like this, the ATG platform includes interfaces and classes that you can implement or extend to handle the particular needs of your site. The main interfaces are PropertyAccessor, which defines how the document loaders obtain property values, and VariantProducer, which specifies logic for creating multiple XHTML documents from the same repository item.

Classes that implement these interfaces must be stateless, because they can be accessed by multiple threads at the same time. Rather than maintaining state themselves, these classes instead use the Context class to store state information and to pass data to each other.

This chapter discusses:

 
loading table of contents...