Quelques temps 

Quelques temps après la publication de la bêta 1, la bêta 2 de CPS3 est disponible.

Au menu des nouveautés :

  • Nouveaux widgets pour CPSSchemas (notamment intégration de EPOZ)
  • Fonctionnement plus intuitif du suivi de version sur les documents (checkout / checkin)
  • Nouvelle interface de création de documents
  • Séparation création / édition (impossible de créer un objet non valide)
  • Nombreux bugs corrigés (voir HISTORY)

Cette version est principalement destinées aux développeurs et utilisateurs éclairés de Zope (et CMF, CPS2 ou Plone), en tant que "technology preview". En effet, CPS3 contient plusieurs innovations majeures dans le monde Zope/CMF et l'équipe de développement souhaite disposer d'un maximum de retours techniques et fonctionnels dans l'objectif d'optimiser les développements réalisés.

A propos de CPS3

CPS3 est la nouvelle version de Nuxeo Collaborative Portal Server. Il comprend les modules Nuxeo suivants :

  • CPSCore : fondations et services "core"
  • CPSDefault : implémentation par défault (skins, services, organisation)
  • CPSSchemas : framework de gestion des formulaires (des champs, schémas de données, vocabulaires, etc) tant au niveau de l'affichage que du contrôle.
  • CPSDocument : offre des fonctionnalités très avancées de création de types de documents en se concentrant sur la structure de données et sur l'interface utilisateur. CPSDocument permet de créer facilement des types de documents à travers la ZMI sans programmation.
  • NuxMetaDirectories and NuxUserGroups
  •  : modules de gestion d'annuaires et de groupes d'utilisateurs. De plus, MetaDirectory permet de gérer tout type d'annuaire, pas seulement des annauires d'utilisateurs (structures, contacts, etc.)

Le package CPS3 inclut pour plus de simplicité d'installation aussi les modules Zope suivant :

  • Le CMF (CMFCore, CMFDefault, DCWorkflow, CMFCalendar, CMFTopic)
  • TranslationService and Localizer: internationalisation de l'interface
  • BTreeFolder2: stockage pour le dépot central de document
  • PortalTransform: gestion des transformations des formats de fichiers
  • Epoz: édition WYSIWYG des champs HTML

Détails des modules CPS3

CPSCore

Ce module initialise les services et les fondations sur framework CPS3.

Fonctionnalités :

  • Mécanisme de gestion des révision et des traductions souple pour les objets de contenu.
  • PortalRepository : Mécanisme unifié de stockage des documents (content objects), de leurs révisions et traductions.
  • EventService : service avancé pour gérer les communications entre les services.
  • Tout est géré par le workflow, avec support des workflow placeful (locaux). Il est ensuite possible de paramétré ou d'ajout des workflow pour adapter le comportement des objets (sécurité, etc.).

CPSDefault

Ce module déclare les documents de base et fournit l'implémentation de des services principaux du framework pour Nuxeo CPS3.

Fonctionnalités :

  • Une interface par défaut complète (skin)
  • Système de gestion de portail fondé sur des portlets. Plusieurs types de portlets sont fournis.
  • Deux type de document CPS "exemple" : Dummy et Folder. Il est bien sûr possible d'en ajouter grâce à CPSDocument et CPSSchema.
  • Traduction Anglaise et Française de l'interface.

CPSSchema

Ce module ajoute un framework de gestion des formulaires (champs, schémas, layouts, vocabulaires, etc.) tant au niveau de l'affichage à l'utilisateur qu'au niveau de la validation.

Un schéma définit une structure de donnée pour un objet au niveau de chaque champ. Un champ peut être un entier, une chaîne, une liste, un fichier, etc.

Un vocabulaire définit une liste ordonnée d'entrées présentée à un utilisateur et un code associé stocké dans l'objet. Par exemple, un vocabulaire peut être utilisé pour définir une liste de pays (en stockant les code pays mais en affichant le nom complet), une liste de services, etc. De plus, les vocabulaires supportent l'internationalisation des entrées.

Un "widget" définit la manière dont un ou plusieurs champs du schéma sont affichés à l'utilisateur. Il peut y avoir plusieurs modes d'affichages (par exemple : "vue" et "édition"). Un module peut, de plus, récupérer une entrée de l'utilisateur et valider les entrées en affichant un message si la validation ne passe pas (c'est typiquement le fonctionnement du mode de visualisation "édition"). Les widgets peuvent être paramétrés par l'administrateur, qui peut aussi en créer de nouveaux pour répondre à des besoins spécifiques.

Un layout est une façon d'assembler plusieurs widgets pour les afficher. Il ajoute le niveau de rendu graphique qui peut par exemple ajouter des libellés avant les champs, gérer le rendu grâce aux CSS, ajouter des bordures, etc. Les layouts, comme les widgets, supportent plusieurs mode d'affichage (typiquement "vue" et "édition").

Enfin, le mode de stockage dans un objet peut-être complètement paramétré en utilisant des adapteurs (StorageAdapters) pour faire autre chose des données que les stocker directement dans un objet. Ainsi, il est possible de stocker certains champs dans une base SQL, par exemple, en écrivant un adapteur spécifique. On peut aussi imaginer stocker les résultats dans un dictionaire pour traitement ultérieur ou les accumuler à des fins statistiques.

CPSDocument

Ce module fournit un "Fexible Document" pour le CMF (et indépendemment de CPS). Il est basé sur le framework CPSSchemas qui lui offre les services de gestion des champs, schémas et validation dont il a besoin pour créer les Portal Types.

Ce module ajoute un nouveau type de Portal Type : FlexibleTypeInformation qui, automatiquement, utilise des schémas et des layouts pour créer un type de documents. De plus, il permet de définir des schémas flexibles, de sorte que l'utilisateur puisse ajouter dynamiquement des champs au schéma pour un document donnée et ainsi proposer cette flexibilité à l'utilisateur.

Pour plus d'information

Voici plusieurs sources d'informations sur CPS3 :