Index: openacs-4/packages/acs-content-repository/www/doc/design.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/www/doc/design.adp,v diff -u -N -r1.2.2.1 -r1.2.2.2 --- openacs-4/packages/acs-content-repository/www/doc/design.adp 20 Aug 2015 17:19:49 -0000 1.2.2.1 +++ openacs-4/packages/acs-content-repository/www/doc/design.adp 25 Aug 2015 18:02:02 -0000 1.2.2.2 @@ -2,16 +2,21 @@ {/doc/acs-content-repository {Content Repository}} {Content Repository Design} Content Repository Design - - -

Content Repository Design

I. Essentials

II. Introduction

Serving content is a basic function of any web site. -Common types of content include:

+

Note that the definition of content is not limited to what is produced by the publisher. User-contributed content such as reviews, comments, or message board postings may come to dominate -active community sites.

Regardless of its type or origin, it is often useful for +active community sites.

+

Regardless of its type or origin, it is often useful for developers, publishers and users to handle all content in a consistent fashion. Developers benefit because they can base all their content-driven applications on a single core API, thereby @@ -20,28 +25,36 @@ the same management and production practices, including access control, workflow, categorization and syndication. Users benefit because they can enjoy a single interface for searching, browsing -and managing their own contributions.

The content repository itself is intended only as a +and managing their own contributions.

+

The content repository itself is intended only as a common substrate for developing content-driven applications. It provides the developer with a core set of content-related -services:

+

As a substrate layer, the content repository is not intended to ever have its own administrative or user interface. ACS modules and custom applications built on the repository remain responsible for implementing an appropriate interface. (Note that the ACS Content Management System provides a general interface for interacting with -the content repository).

III. Historical Considerations

The content repository was originally developed in the Spring of +the content repository).

+

III. Historical Considerations

+

The content repository was originally developed in the Spring of 2000 as a standalone data model. It was based on an earlier custom system developed for an ArsDigita client. Many of the principle design features of the original data model were also reflected in the ACS Objects system implemented in the ACS 4.0 core. The content repository was subsequently rewritten as an extension of ACS -Objects.

V. Design Tradeoffs

The content repository is a direct extension of the core ACS -Object Model. As such the same design tradeoffs apply.

The content repository stores all revisions of all content items +Objects.

+

V. Design Tradeoffs

+

The content repository is a direct extension of the core ACS +Object Model. As such the same design tradeoffs apply.

+

The content repository stores all revisions of all content items in a single table, rather than maintaining separate tables for "live" and other revisions. The single-table approach dramatically simplifies most operations on the repository, including adding @@ -56,11 +69,16 @@ arrangement is minimized by storing the actual content data in a separate tablespace (preferably on a separate disk) from the actual revisions table, reducing its size and allows the database server -to scan and read it more efficiently.

VI. Further Reading

The Object Model provides a +to scan and read it more efficiently.

+

VI. Further Reading

+

The Object Model provides a graphic overview of the the how the content repository is designed. The model links to pages of the API Guide that describe individual objects. The Developer Guide describes how to address common -development tasks using the content repository.


karlg\@arsdigita.com
+development tasks using the content repository.

+
+karlg\@arsdigita.com +
+ Last Modified: $Id: design.html,v 1.1.1.1 2001/03/13 22:59:26 ben Exp $ -