                            CPSPortlets draft

           $Id: cpsportlets-draft.txt 12505 2004-09-03 01:21:12Z janguenot $

Goals :
---------

 - ./goals.txt
 - ../../CPSSkins/doc/CPS3-Integration.txt

Implementation :
-----------------

 - CPSPortlet : Base class for all portlets. Child of CPSDocument. It means
   you can use the schemas / layouts  machinary with the portlets.
   Notice one portlet == one portal_type now.

   The FlexibleTypeInformation is patched and holds now a cps_is_portlet
   property so that it's easy to filter the portal_type defined to be
   portlets.

   It means for a portlet will have schemas and layouts (generics and
    specifics) with eventually specific widgets. (most of the time)
    Check the PortletWidgets sub-folder (README.txt)

 - PortletsContainer : Container (BTreeFolder2) holding the portlets. Store,
   create, delete portlets. Simple API


   PortletsContainer are Placefuls. They are used to store local
   portlet configurations overriding or extending global portlet
   configuration. The id used within CPS for those is '.cps_portlets'

 - PortletsTool : Inherits PortletsContainer and redefines methods to cope
   with global and local portlets. Global portlets are stored within

Misc :
-------

 - Schemas / Layouts / Vocabularies / FTIs are defined within the skins

Comments :
-----------

 - Notice CPSPortlets deals only with portlet content. CPSSkins take care of
   the way it is displayed the cache etc...

