|
|
||||||||||||||||||
|
|
||||||||||||||||||
![]() |
![]() |
Issue 8 - Revision 8 / September 26, 2004
|
|||
|
Introduction to CPS - Collaborative Portal Server - - - - - - - - - - - - By Kristoph Kirchner | September 5, 2004 Introduction The Collaborative Portal Server (CPS) by Nuxeo is a Content Management System built on top of the Content Management Framework (CMF). The biggest problem when working with CPS is probably the lack of English documentation. At times this makes the simplest activities difficult, since one has to puzzle out how to work with the program. Since Nuxeo is a French company, almost all the documentation is in French. There is practically no English documentation, although there has been an effort to translate the documentation into Spanish and Italian. In addition, there is a mailing list for English speakers. However, internationalization allows CPS sites to be shown in English. As with CMF and Plone, a CPS site allows anyone to join. New members have their own member area where they can add new content to the site. A site administrator can add new sections and members can submit their content to be published in these sections. The latest version of CPS (v3.1.4) comes with a great number of content types already installed, e.g. Flexible Document, Forum, FAQ and Event, and the user can create customized content types as well.
From outside the member areas (CPS calls them "workspaces"), a site administrator can only add objects of the following types:
From within a member area / workspace, the list of available objects types is much longer:
A member can only add objects to his own workspace. As mentioned above, a member can submit objects to be published in one of the Website's sections, provided he has the correct permissions to submit content to that section. A reviewer must then decide whether to accept or reject this submission. If the submission is accepted, a copy of the object is transferred to the chosen section – the original remains in the member's workspace. The member may later check out an accepted version so that he can make changes and resubmit the changed version for approval, or he may make changes to his original object inside his workspace and then submit the changed object. If several members want to work together on one or more objects, a new workspace must be created for them. The workspace can be created inside the root of workspaces. After assigning the group, e.g Section_Members, the local role Workspace Member for the newly created workspace, all members of this group may add and edit objects inside this workspace. Creating New SectionsTo create the structure for your public Website and to allow your members to publish content in different places throughout the Website, you need to create sections. Sections are more or less just folders that appear in the navigation; you can have as many sections and subsections as you want. You can decide for each section whether it will appear in the navigation are not. To create a section you have to be logged in as administrator. First, click on the 'Root of Sections' tab. There, click on the link 'New' under "Object Actions" and create the section by choosing "Section" in the following form and then giving it a name. However, creating sections is not enough. You need to give users or groups specific local roles for each section in order for them to be able to submit objects to these sections. Being able to define local roles either for users or entire groups, allows for a very fine-grained security policy. Our first step now is to create a group so that we don't have to set the local role for each user of the group separately. Groups are created in the "Groups" directory, which you can find by clicking on the link Directories on the left-hand side under Portal Actions. This lists the following three directories: Groups, Members, and Roles. Click on Groups and then on the link "Create the new entry" on the right-hand side under "Object actions". Now create a group with the name Section_Members and choose the members of the Website shown automatically in the "Members" selection list that are to be in this group.
After you have created the group, you can go to a section you want to create a local role for. When you click on the link "local roles", you see a search form which you can use to look for a user name, a group name, or an e-mail address. Search for the group Section_Members and assign it the local role "Section reader".
In the following figure, you see the assigned local role for the group.
Remember, members will not be able to submit an object unless you have created sections and defined the security for these sections. If you do not want to assign local roles for the various sections, you can assign them at the topmost level in the root of sections. Due to Zope's acquisition, local roles apply to the sections they are assigned to as well as all their subsections, unless you break the acquisition hierarchy by assigning different local roles directly in the subsections. Creating New BoxesAnother nice feature of CPS is the box management which you get to by clicking the link "Root boxes management". The overview lists all boxes categorized by placement, e.g. Slot: Top or Slot: Left, and provides links for either editing or deleting a box.
To create your own boxes, use the link "Create box" at the upper right hand corner of the list. For example, let's create a tree box that shows the objects inside the workspace "Our Workspace"' in a tree format. After clicking on the link, you have to decide the type of box you want to create, which depends on the function it is going to serve. The following types are offered :
Once you've chosen the type of box you want, you come to the management screen "Box edition", where you first decide where you want to place the box (e.g., left slot or right slot) and what you want it to look like. There are a few skins for boxes you can choose from: let's use the frame box as a box skin. Use the title "Workspace", choose left slot and order 1 (which defines the placement of the box in the left slot) and the type nuxeo-default.
In the second half of the form, you define the parameters for the tree box. It is necessary, of course, to give the root of the tree. In this case, the root is '/workspaces/our_workspace/'. Then there are some more options for the tree, such as how many levels are displayed or whether icons are to be shown. Once you have made your choices, click "Save Changes" and you will see a box that looks like this:
Due to the number of box types and options for each type, the possibilities for defining new boxes are massive. CPSSkinsCPSSkins is a Zope product which enables you to easily create new CPS skins. It also comes with additional skins for CPS, such as the Autumn theme shown below. Once installed, your CPSSite will have a link "Portal Themes" in the category "Portal Actions". By the way, there's the CPSSkins book at http://www.medic.chalmers.se/~jmo/CPS/, which is the homepage of CPSSkins and it's in English.
The editor starts out in WYSIWYG mode. In this mode, you can move parts of the skin around by simply clicking and dragging them to where you want them. Compare Figures 8 and 9.
However, instead of moving parts around, which would change the default structure of Autumn Theme, you should go to the Themes Manager and create your own skin. In the Themes Manager, you can define what you want as the default theme, add new themes, delete themes and choose the theme renderer. The Layout mode allows you to easily define the skin's layout, i.e. how many columns there should be and how wide they should be, as you can see in the figure below.
The Mixed mode, obviously, is a mix between Layout mode and WYSIWIG mode. When creating your own skins, you will probably have to create your own styles. Styles are used to define various parts of a skin, such as the shape and color of a box or a font. Once you've created these styles, you can then choose them when defining parts like the left slot or the navigation box. Although getting started with CPSSkins is a bit tedious, it is definitely a nice product since you don't have to fiddle around with HTML. If you're using Plone and are interested in CPSSkins, there is a HowTo on the CPS project homepage which shows how to work with CPSSkins. This HowTo is a movie with comments in Italian but it can be followed even if you do not speak the language. See: http://www.cps-project.org/Public/documentation/howtos/cpsskins_plone_howto/view Note from ZopeMag: Did you like this Introduction to CPS? We would love to publish more articles on CPS and help make it more popular world-wide by providing quality (english language) documentation. We can't to this without more CPS article proposals. If you are interested please see our Writer's Guidelines. Thanks! Resources
Download CPS
CPS Community Site
CPS How-to's
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ZopeMag is committed to bringing you the best in Zope Documentation. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
Reproduction of material from any of ZopeMag's pages without prior written permission is strictly prohibited. Copyright 2003 - 2005 ZopeMag |
|