EP2005 > CPS Portlets : architecture overview
Julien Anguenot <ja@nuxeo.com>
29 Juin 2005
OUTLINE
History Framework orthogonality CPSPortlet architecture Cache and performances Summary
2
History
CMF main_template and macros CPSBoxes CPS-3.0 -> 3.2
macro based system sucks ! a mess to maintain (pb of skins overrides) no need to reinvent the wheel all the time. CPS / EPR5 sprint in Paris 2004 CPS3 / CPSSkins integration New design ! major refactoring Chalmers / Nuxeo development See Jean-Marc's presentation
3
CPSPortlets
CPSSkins / CPSPortlets
0rthogonality
CPSSchemas based
reuse of schemas / layouts / vocabularies in between documents, directories and portlets
Unification of the CPS3 architecture Only one concept to learn now to integrate on CPS. PlonePortlets uses the same paradigm with AT.
4
CPS Portlet
Cope only with portlet content
CPSSkins will cope with portlet decorations (JSR168)
Content type object CPSDocument base class (FTI) Specific API extensions (such as RAM Cache) Schema-based Could be even workflowed ;)
5
Portlet architecture overview
6
Portlets repository
Central repository (portal_cpsportlets)
visible in all sub-folder by default has a tendency to increase in the tree basement displayed inside the theme overrides (unless explictly disallowed) placeful configuration displayed inside the theme's slots rulez
Local portlet containers
Security and portlet management delegation in place.
7
Cache for performances
RAM cache integrated on portlets
stored wihin dicts {(index,...), value), ...} tuple index represents the cached object index is composed by (object_path, attr1, attr2, ...., attrn) see cache parameters index is a way to identify the object's context setEntry(), getEntry(), deleteEntry() invalidate() getStats(), getReport(), getSize(), getLastCleanup()
C a ch e
Lazy invalidation Invalidation event service based Decrease seriously rendering time
8
Summary
Major performance improvements with the caches Sexy interface ;) Enhance user experience Architecture unification For documentation see
http://svn.nuxeo.org/pub/CPSPortlets/trunk/d oc/
9