Content repositories in the Quincy Funds demo are designed to show a variety of approaches for structuring SQL repositories for the delivery of Web site content. Each repository is an implementation of ATG 2007.3’s Generic SQL Adapter (GSA). For detailed information on GSA content repositories, please refer to the SQL Content Repositories chapter in the ATG Repository Guide.

The Quincy Funds demo uses the following models. Note that both of these models are supported by ATG 2007.3’s SQL/File System Connector. This configuration is sometimes referred to as a SQL Repository with a Content Repository Loader.

  • Model 1: Hybrid content repository. Content is stored on the file system and metadata is stored in the SQL repository.

    In this configuration, a Content Repository Loader service monitors the file system on a specified path (or collection of paths) and loads data from content files on the file system into a GSA SQL repository, with a one-to-one mapping from a file to a content repository item. One of the properties of the repository item, tagged in the item-descriptor as the content-property, acts as a pointer to the file on the file system.

  • Model 2: Non-hybrid content repository. Both content and metadata are stored in the SQL repository.

    In this configuration, both metadata and the content itself are stored in the SQL repository, with the content being stored in a single column. The Content Repository Loader is used to load files in the file system to the SQL repository. Again, there is a one-to-one mapping from a file to a content repository item.

It is important to note that neither model provides a means of propagating changes made to repository items back from the repository to the source files. This behavior means that a user could theoretically make a change to a repository item through the ATG Control Center, which would then be overwritten the next time the content is loaded from the file system into the repository. To avoid this problem, the ability to create or edit repository items through the ATG Control Center or JSPs is disabled for the Quincy Funds demo.

For Model 1, note also that the metadata and the file content are not synchronized between the time when changes are made to the file content and the scheduled run time of the Content Repository Loader. Therefore a state could exist where the file content used by the Content Repository Loader to construct the repository item could have been modified, but the Content Repository Loader (because it is a scheduled service) has not yet propagated the modifications to the repository item. In this state, it is possible for targeting rules or scenarios to reference and serve the file content according to repository item properties that are no longer synchronized with their content. For this reason, Model 1 is suitable for content repositories where synchronization between the content and the metadata is not an important consideration, or where changes to the underlying content are very infrequent.

Model 2 does, however, guarantee synchronization of served content and metadata properties. With this configuration, the file content that the Content Repository Loader uses to construct the repository item is itself a property of the repository item; the item does not simply contain a pointer to the file. Therefore there is no possibility of a loss of data integrity between the metadata and the content.

The content repositories in Quincy Funds use these models as follows: