First beta release of CPS3
Nuxeo has made today the first packaged release of CPS3 : CPS-3.0beta1
CPS was previously only available as components (CPSCore, CPSDefault...) on the Nuxeo public CVS
This release is not intended for end-users, since CPS3 still has a few shortcomings, but more as a technology preview for developers since CPS3 includes a few innovations in the Zope/CMF world.
If you want to experiment a solid collaborative work and Web content publishing application, we still recommend CPS2
About CPS3
CPS3 is the next generation of Nuxeo Collaborative Portal Server.
It comprises the following products:
- CPSCore : key framework services
- CPSDefault default implementation of service, skins and documents
- CPSSchemas : a framework to deal with fields, schemas, widgets, layouts and vocabularies, the way they are displayed to the user and the way user input is validated
- CPSDocument : provides flexible documents for the CMF (and so for CPS)
- NuxMetaDirectories and NuxUserGroups : meta-directory management, used for flexible users and groups management
- The CMF (CMFCore, CMFDefault, DCWorkflow, CMFCalendar, CMFTopic)
- TranslationService and Localizer: interface internationalisation
- BTreeFolder2: for the document repository
- PortalTransform: manages transformation from one file format to another
- Epoz: for WYSIWYG HTML editing using either IE or Mozilla
About CPSCore
This product declares the key framework services for the Nuxeo Collaborative Portal Server (CPS) v3 (or CPS3).
Features
- Flexible revision and translation framework for content.
- Single repository for content objects, that stores versions of documents.
- Event service: flexible tool to manage loose communication between tools.
- Everything is workflow-driven, with placeful (local) workflow association. Workflow can be tuned for very different purposes (e.g. collaboration vs. publication).
- (...)
About CPSDefault
This product declares basic content objects and provides default implementation of some of the framework services for the Nuxeo Collaborative Portal Server (CPS3).
Features
- A complete default skin set.
- Portal customisation system based on "boxes" with several boxes types already provided.
- Two basic content objects "Dummy" (just an example of a specific
class-based CPS document type) and "Folder".
See CPSDocument and CPSSchemas for more default objects and easy, flexible and powerful way to create no object types.
- English and French translation (.po files).
About CPSSchemas
This package adds a framework to deal with fields, schemas, widgets, layouts and vocabularies, the way they are displayed to the user and the way user input is validated.
Schemas define what's stored in an object, at the level of individual fields. A field can be an integer, a string, a list of strings, a file object, etc.
Vocabularies define an ordered list of options presented to the user and the associated underlying values stored in the object. For instance a list of countries where only country codes are stored but full country names are displayed.
Widgets define how one or several fields from a schema are displayed to the user. They can be displayed in several modes (typically "view" and "edit"). Some modes may take input from the user and validate what the user entered, so that if the entry is incorrect an appropriate message can be displayed. Widgets can be parametrized and rewritten by the administrator if a different widget is needed.
A Layout is a way to assemble several widgets together to display them. A layout adds a level of graphical display that can for instance add labels before the widgets, or borders, or display validation errors. Layouts, like widgets, can be displayed in several modes.
The above talks about storing data in an object, but using a storage adapter it is possible to do anything else with the data (sending it to an SQL database, accumulating it for statistics, or just getting the resulting dictionary for further treatment).
About CPSDocument
This provides a Flexible Document for CMF (it is independent of CPS). It is based on the framework of CPSSchemas which gives us all the fields, widget and validation we need.
This package adds a new FlexibleTypeInformation with which documents that automatically obey a schema and some layouts can be created. It also provides a mixin for documents who can have their schemas and layouts inferred from a FlexibleTypeInformation or directly found in the instance, which gives us the "flexible" part.
More information
You can find more information about CPS3 in the EuroPython slides
See also the Nuxeo web site and CPS Project for more details.
Getting involved
There is now a cps-devel mailing list for CPS3 (and CPS2) developers. CPS users lists (cps-users (english) and cps-users-fr (french)) are also available.