Prêts pour Plone 4.1 ?
La future évolution de Plone 4 bientôt chez vous...
Bonjour à toutes et tous,
Comme Plone n'a pas l'heur de faire l'objet du buzz des média - y compris les média spécialisés - et tant que seules les Paris Hilton du domaine tel que Puldra et Pareshoint auront l'honneur des citations de la dite presse spécialisée, il faut bien assurer nous même l'autopromo
.
Après cette petite digression, revenons au sujet qui m'a amené à taper sur mon clavier.
Les nouveautés
Plone 4.1, la première évolution majeure de Plone 4 va bientôt être à votre disposition. Voici une petite énumération dans le désordre des nouveautés notables de Plone 4.1 :
Commentaires
L'architecture technique de support des commentaires a fait l'objet d'une refonte en profondeur. Les améliorations fonctionnelles les plus notoires sont :
- la possibilité de modérer les commentaires ;
- une captcha pour faire barrage aux spammers ;
- un contrôle des commentaires depuis un panneau de configuration.
Ajout du rôle "Site Administrator"
Une avancée remarquable et demandée puis reportée depuis longtemps. En effet, jusqu'à Plone 4, le seul rôle "Manager" permettait d'octroyer l'intégralité des droits sur un site. Or, il est fréquent de confier la gestion de la politique éditoriale d'un site à un "utilisateur de confiance" qui dispose de peu, voir d'aucune connaissance technique particulière.
Le rôle "Site Administrator" permet d'accéder à l'ensemble des tableaux de bords ne nécessitant pas de connaissance technique d'un site Plone.
Vous pouvez personnaliser les tableaux de bord accessibles à un "Site Administrator" en octroyant (ou non) à ce rôle les permissions préfixées par "Plone Site Setup:".
Localisation des règles de tri (Javascript)
Les règles de tri sont localisées en fonction des préférences linguistiques, alors qu'auparavant, celles-ci étaient basées sur les règles anglaises.
Meilleure ergonomie du MultiSelectionWidget
Notamment lorsque de nombreux éléments sont sélectionnés, le MultiSelectionWidget amène les utilisateurs à faire des erreurs involontaires. Le nouveau widget combine les cases à cocher et la scrollbar, à l'aide de jQuery.
Intégration de plone.app.registry
plone.app.registry est un composant utilisable avec Plone 4.0 et Plone 3.x facilitant la réalisation de panneaux de configuration pour Plone, notamment, la construction de formulaires basés sur les schémas Zope 3 et z3c.form.
http://plone.org/documentation/kb/how-to-create-a-plone-control-panel-with-plone.app.registry/
Intégration de z3c.form
z3c.form est une sous-infrastructure très puissante pour Zope 3 / Bluebream de génération et de contrôle de formulaires.
Dexterity, le principal prétendant à la succession d'Archetypes utilise z3c.form pour générer les formulaires d'édition d'éléments de contenus.
z3c.form fournit le nouveau paradigme avec lequel vous devrez développer les formulaires pour vos composants en lieu et place du "vieux" CMFFormController et de zope.formlib qui sont toutefois maintenus en place pour le support des anciens composants.
Unification des transformations des éditeurs
Les transformations propres à chaque éditeur WYSIWYG (comme le lien par UID, et la légende d'une image intégrée) seront unifiées et sont retirées de Kupu et TinyMCE.
Basé sur Zope 2.13
De nombreuses améliorations, notamment concernant la ZODB et les performances ZEO en haute charge, le support natif de WSGI, des refactorings dus à l'utilisation de Zope Toolkit en lieu et place de Zope 3, des améliorations des performances du ZCatalog, notamment lorsque celui-ci est bien fourni, retrait de zope.formlib.
Pour les détails, c'est ici : http://docs.zope.org/zope2/releases/2.13/WHATSNEW.html
Générateur d'UID indépendant
Le générateur d'identificateurs uniques ne dépend plus d'Archetypes. Ceci n'intéresse pas les utilisateurs dans l'immédiat mais facilitera dans le futur le retrait pur et simple d'Archetypes de Plone, ce qui n'est pas encore facilement possible avec Plone 4.1.
Nouvelle infrastructure de tests
plone.app.testing va remplacer à terme Products.PloneTestCase. Notamment, cette nouvelle sous-framework clarifie et facilite la mise en place des "fixtures" spécifiques à Plone. Notez que plone.app.testing peut également être utilisé pour Plone 3.x.
Attention, plone.app.testing n'est pas (encore ?) installé en standard. Il vous faudra l'ajouter explicitement dans votre configuration zc.buildout.
Rationalisation et documentation des javascripts Plone
Un refactoring du code Javascript spécifique à Plone, selon les règles de bonne pratique spécifiques à ce langage.
Voir les détails ici : http://plone.org/documentation/manual/developer-manual/client-side-functionality-javascript
Intégration de plone.app.caching
plone.app.caching est l'outil responsable de la négociation de cache, notamment la génération des en-têtes HTTP et requêtes de négociation de cache avec le navigateur et un serveur mandataire de cache/proxy tels Squid ou Varnish.
plone.app.caching est le remplaçant de CacheFu. Autre goodie vis-à-vis de CacheFu, plone.app.caching dispose du support GenericSetup.
Installez la version "release candidate"
À la date d'écriture de cet article, vous pouvez installer la dernière version de Plone (4.1rc3) de façon classique avec ZopeSkel. En effet, il n'y a pas encore d'installeur unifié pour Linux, MacOS ou Windows. Vous devez en conséquence préalablement disposer de Python 2.6 ou Python 2.7 et PIL pour votre plateforme.
$ zopeskel plone4_buildout moninstance ... Plone Version (Plone version # to install) ['4.0.1']: 4.1-latest ... $ cd moninstance $ python2.7 bootstrap.py -d ... $ bin/buildout ...
Et patientez un bon quart d'heure comme lors de la construction de toute nouvelle instance...
Et bien sûr, n'omettez pas de mentionner les bugs rencontrés pendant votre exploration ici.
A propos de Python (complément)