CPS 3.6 Documentation


1   Introduction

CPS is made of products for the Zope 2 application server. This document aims at providing links to documentation for each of these products.

CPS products are organized in three distributions:

This page follows this structure: first CPS-3-base products (up to CPSDefault), then CPS-3-standard (up to CPSSharedCalendar) and finally some products from CPS-3-full.

Additional information can be found at the cps-cms.org website.

Older documentation links (some may currently be broken):

2   CPSCore

CPSCore provides the essential functionalities of CPS : proxies (multiple access points to versioned content), indexing, caching of folder structure (portal_trees) for fast navigation, and general integration with the underlying Content Managing Framework (CMF) layer.


3   CPSSchemas

CPSSchemas supports the definition of CPS document types. It is used, for example, by CPSTypeMaker. It provides abstract data descriptors (schemas and field), form specifications (layouts and widgets) and a storage adapter system to apply on schemas.


4   CPSWorkflow

CPSWorkflow implements workflow capabilities for a CPS portal. Workflows control the control and flow of documents in the workspaces and sections of the portal. Roles determine who can preform which steps in the workflow. New workflows can be defined in a product's source code or in portal_workflow in the ZMI. Workflows are hooked to document types in a placeful way, through .cps_workflow_configuration objects in ZMI. This is, e.g, how in CPSDefault workflows in workspaces and sections can differ.


5   CPSDocument

CPSDocument provides the CPS document type system by building on CPSSchemas core concepts. It adds notably:


6   CPSDirectory

A CPSDirectory is a container for holding other things such as users. In addition, a CPSDirectory provides the following:

CPSDirectory relies on the concepts of CPSSchemas (schemas, layouts, adapters).


7   CPSSubscriptions

CPSSubscriptions provides the ability to manage user subscriptions to events occurring in the portal, such as document creation, publication, etc. It also takes care of sending the corresponding notifications. Like most CPS-3-base, it is highly expandable. For instance, CPSSharedCalendar leverages CPSSubscriptions to notify users of their attendance status changes.


8   CPSUserFolder

CPSUserFolder is a user folder designed to work in conjunction with CPSDirectory (and therefore CPSSchemas). Directories are used to describe what are the attributes of a user (using a schema) and where they are stored (depending on the type of directory). This is also used for roles and groups, so that, for instance, one can easily add additional properties to groups.


9   CPSI18n

CPSI18n provides translation helpers for CPS products developers.


10   CPSPortlets


11   CPSDesignerThemes

CPSDesignerThemes is the standard theming system for CPS 3.5.

Themes are designed to be almost static XHTML web sites, to give web designers maximal flexibility. They can be viewed as static sites in an ordinary browser, so that the designer can actually work without a CPS server around.

Each theme page defines a whole structure that can be applied in a CPS context. Portlet slots to render, and portlets external skinning are defined within the pages.

The typical work flow would be to start as a static site, then either to work directly on a CPS server to style the portlets or to include in the working theme pages sample portlets content taken from a CPS portal, e.g., simply copy/pasting from the browser html source view. This latter approach does not require deep access to the server system : just user level access to the web portal.

Any sample content within the slots is discarded by CPS while using the theme.


12   CPSSkins

CPSSkins has not been ported to CPS-3.6 yet. Being not necessary for proper operation, it does not ship with any of the three standard distributions. Here's nevertheless a short description:

CPSSkins enables the manager of a CPS portal to customize the look and feel of a CPS portal using a WYSIWYG editor that is accessed through the CPS portal. It was the standard theming system for CPS in CPS 3.3 and CPS 3.4.


13   CPSNavigation

CPSNavigation makes it very easy to create a kind of Explorer for each of the following:


14   CPSDefault

CPSDefault is the default integration component putting all the products from the CPS-3-base distribution together.


15   CPSTramline

This product makes it possible to store files on the filesystem instead of inside the ZODB. To do so it provides CPSTramlineFileField and CPSTramlineFileWidget as well as mixin classes to easily enhance fields and widgets derived from CPSField and CPSAttachedFileWidget. This product relies on Apache httpd + mod_python.


16   CPSRelation

The Relation Tool can manage several and different kinds of graphs representing labeled relations between objects.


17   CPSRemoteController

CPSRemoteController provides an XML-RPC API to manipulate a CPS portal and content. This includes notably users, groups, and of course documents. A client of that API to run inside a CPS portal is also included, thus giving CPS a basic synchronization capability between two portals.


18   CPSBlog

A simple Blog product for CPS.


19   CPSForum

CPSForum enables the site designer to add discussion forum capabilities to a CPS site.


20   CPSWiki

CPSWiki implements a simple Wiki capability within a CPS portal.


21   CalCore

CPSSharedCalendar, iCalendar, CalCore, and CalZope provide a shared calendaring system for CPS.


22   CPSSharedCalendar

CPSSharedCalendar, iCalendar, CalCore, and CalZope provide a shared calendaring system for CPS.


23   CPSUserForms

CPSUserForms give contributors the ability to create and publish forms to be filled by readers, and store the resulting data. It leverages CPSDocument flexible documents for the form construction and CPSDirectory for the storage. It comes with a predefined User Form document type, on which integrators can expand by adding new template widgets, or by creating their form document types.

CPSUserForms is the most recent of CPS products : it entered the CPS-3-full distribution for the CPS 3.5.4 release.