Here are some sketchy notes about what's inside the new release.

Hope that makes things a bit clearer. (I've already been told so by some
people :) ).

Live version is online at:
http://svn.nuxeo.org/trac/pub/file/CPS3/trunk/doc/tech-notes.txt

  S.

-- 
Stéfane Fermigier, Tel: +33 (0)6 63 04 12 77 (mobile).
Nuxeo Collaborative Portal Server: http://www.nuxeo.com/cps
Gestion de contenu web / portail collaboratif / groupware / open source!
Technical notes on CPS 3.4.0b1
==============================

These notes are intended for developers.

Status: draft.

Platform
--------

CPS 3.4.0b1 must be installed on Zope 2.9.0, which itself depends on Python
2.4.2.

See 
http://svn.nuxeo.org/trac/pub/file/CPS3/trunk/doc/announcements/CPS-3.4.0beta.rst
for more information.

CPS Components
--------------

CPS is made of several (currently, 61!) products or Zope packages.

Some of these components constitute a "basic" CPS, with its documents types,
versionning, workflow, commenting, search, customisable UI, etc. This
mininal set of components which carry the CPS "indentity", is what we call
the "base profile".

Other components are extensions: they provide additional functionalities,
which may useful in some situations and not in others. Hence they are not
mandatory.

Some of the components are "framework" components: they provide services
to developers but are hardly visible directly by users. Others provide
applicative functionalities (like the webmail, the calendar, etc.) directly
usable by the users.

Components configuration
------------------------

Configuration, upon instanciation of a "CPSDefault Site" from the "Add menu" of
the Zope ZMI, is now taken care of by the new GenericSetup component provided
by the CMF.

Some components can now be optionally activated as "Optional Extensions" in
the Add menu.

XML files, placed in the "profiles/" directory of the components,
describe the configuration of the components.

The "portal_setup" tool at the root of a CPS instance can help save
configuration snapshots, upgrade a configuration, etc.

It is possible, and recommended, to write additional profiles, if you want
to create specific variants of CPS for your own purposes.

See http://svn.zope.org/GenericSetup/trunk/README.txt?rev=41338&view=markup
for some more specific information about GenericSetup.

Base components
---------------

CMF:
  The CMF (Content Management Framework), developped by Zope Corp and
  the Zope Community, is the basis of CPS.

  Included in this CPS release is a SVN checkout of CMF, from the CMF 1.6.0
  branch. This was made necessary by the decision to use GenericSetup for
  components configuration, a big improvement over the previous CPS setup
  system (CPSInstaller).

Five:
  Five is a framework component that makes the Zope 3 "component architecture",
  and other Zope 3 functionalities, available to Zope 2 developpers.

  We include Five in CPS because the Five release included in Zope 2.9.0
  has some issues. This release of Five won't probably be necessary when
  Zope 2.9.1 is out.

CPSCore:
  CPSCore provides the core functionalities of CPS: the document repository,
  versionning, etc.

CPSWorkflow:
  Extensions of the DCWorkflow, included in the CMF.

CPSDefault:
  CPSDefault provides the default behaviours (some of which is configured
  through the "default" GenericSetup base profile) for CPS. CPSDefault's
  profile is the only base profile available in CPS. All other profiles
  (CPSWiki, CPSSubscriptions, CPSForum, ...) are extensions profiles that takes
  CPSDefault's profile as foundation.

CPSDirectory:
  CPSDirectory provides directory management for users, groups ans roles (by
  default), as well as for any other kind of ressource.

  It can be backed by the ZODB (default), LDAP or a SQL database. Directories
  can then be merged into compound virtual directories by entry aggregation
  (MetaDirectory) or by entry stacking (StackingDirectory).

CPSUserFolder:
  CPSUserFolder is a Zope user folder (aka: "acl_users") backed by
  CPSDirectory.

CPSSchemas:
  Provides the basis of the CPS Document model: fields, schemas, widgets
  and layouts.

  Schemas and layouts are also used to build directories and portlets.

CPSDocument:
  Provides the CPS document model, as well as default documents types.

CPSUtil:
  Utilities that are used in several places, without being suitable for
  CPSCore.

  CPSUtil/bin also hosts scripts for developers and sysadmins to automate site
  maintenance tasks such as ZODB packing for instance.

CPSSkins + CPSPortlets:
  CPSSkins and CPSPortlets provide a completely customisable (using a WYSIWYG
  editor) look and feel for presenting a portlets-based information to the
  users.

  More information on: http://www.medic.chalmers.se/~jmo/CPS/

CPSNavigation:
  Provides UI to navigate in hierarchical set of objects / documents. This
  framework component is then used by some navigational widgets and by the
  navigation portlets.

CPSCompat:
  CPSCompat provides "monkey patches" to fix bugs found in the
  supported Zope or CMF releases, without touching the code (of course,
  the fixes are ported to the corresponding code for the future releases).

Localizer / TranslationService / CPSI18n:
  Provide the framework and utilities for application internationalisation
  (i18n) and localisation (l10n).

ExternalEditor:
  Provides "edit in place" fuctionality.

FCKEditor:
  A WYSIWYG HTML editor for recent web browsers.

PortalTransforms:
  Transform document from one document type to another (e.g.: MS-Word -> HTML).
  Needs some third party software for some transformations (wvware, ppthml,
  xlhtml, xpdf...).

CPSInstaller:
  Obsolete. Kept here for compatibility with old instances.

Extra components
----------------

CPSSubscriptions:
  Subcription system, that provides the users awareness of various types
  of events (like document submission, publication, etc.) through email
  notifications.

CPSForum:
  The default CPS forum, that also provided an implementation of the
  CMF comment system.

CPSBlog:
  An application component that provides blogs and blog aggregators.

CPSWiki:
  A wiki.

CPSChat:
  A chat.

CPSBoxes:
  A deprecated component that used to provide the portal interface of CPS.
  It is still included for sites that still rely on it.

iCalendar / CalCore / CalZope / CPSSharedCalendar:
  Provides a shared calendaring system

CPSCalendar:
  Old shared calendaring system, kept for compatibility and upgradability.

CPSMailAcces:
  A webmail.

CPSWebMail
  Old webmail, kept for compatibility and upgradability.

CPSNewsLetters:
  A newsletters system.

CPSOOo:
  Provides specific support for OpenOffice.org documents.

CPSRSS:
  Provides RSS streams agregation.

CPSCollector:
  An "information collector", used for instance for making forms or polls
  available to your users.

LDAPUserGroupFolder:
  Provides LDAP support to CPSDirectory.

CPSRemoteControler:
  Provides an XML-RPC API to some important CPS functionalities.

CPSTypeMaker:
  Provides a way to easily create new document types with a simplified
  interface.

CPSRelation:
  Provides relations between objects, using the RDF model. May use
  either a ZODB backend, or specific RDF DBMS like redland or rdflib.

CPSonFive:
  A framework components that bridges Five (hence Zope 3) with CPS.

CMFQuickInstallerTool:
  This product make it easier to install third-party components.

_______________________________________________
cps-devel mailing list
http://lists.nuxeo.com/mailman/listinfo/cps-devel

Reply via email to