C’est en juillet 2010 que j’avais annoncé la nouvelle version du site Internet
Ce projet utilisant beaucoup de modules, je vous fais profiter de ce choix:
- collective.picnik
- collective.sugarcrm
- collective.configviews
- collective.gallery
- collective.dewplayer
- collective.portlet.contact
- collective.portlet.feedmixer
- collective.googleanalytics
- nmd.plonelinkasvideoembed
- collective.z3cform.norobots
- qi.portlet.TagClouds
- collective.singing & collective.dancing
- archetypes.uploadreferencewidget
- babel
- Products.Maps
- Products.PloneFormGen
- Products.TinyMCE
- Products.TextIndexNG3
- Products.CompoundField
- Products.ZNagios
- five.grok
- Products.MemcachedManager
- Relstorage
- plone.app.theming
- plone.app.caching
- plone.app.search
Ces modules étaient présent dans la version Plone3 mais ont été retirés:
- collective.groupdashboard
- collective.portlet.actions
- collective.plonebookmarklets
- collective.contentlicensing
- collective.autopermission
- collective.contentrules.mail
- collective.harlequin
- collective.monkeypatcher
- collective.z3cform.grok
- experimental.contentcreation
- experimental.aggressiveopaquespeedup
- collective.remove.kss
- collective.remove.kupu
- collective.remove.rules
- Products.CacheSetup
- plone.app.ldap
- iw.fss
Migrer de Plone3 à Plone4
La migration a été réalisé via un script de prémigration pour préparer la base de donnée à la migration, la migration effective du site, puis une migration liée aux modules.
Retirer iw.fss
Ce ne fut pas le plus simple. Après avoir lu pas mal de mails autour de ça j’ai adapté un bout de code à mon cas.
Theme
Le changement de charte graphique a été l’évènement déclencheur de la migration. Le thème utilise le framework de grille CSS 960 avec le tout nouveau moteur de thème Plone: plone.app.theming, basé sur diazo.
C’est mon second thème avec ce moteur. Mon avis est qu’il accélère la création de thème simple mais ne permet pas la création d’un thème complet.
Le besoin de surcharger des templates, des viewlets, de connaitre la mécanique des ‘skins directories’ et autre ‘browser view’ reste nécessaire.
Integration
J’ai testé beaucoup de modules, créé quelques modules, amélioré, fait des rapports de bug, mais aussi de l’intégration.
J’ai ajouté l’intégration entre les modules collective.addthis et collective.googleanalytics pour que tout partage pousse un évènement social dans GA.
J’ai découvert le module plone.app.search qui est le moteur de recherche de la prochaine version de Plone (4.2). L’intégration au projet a été simple, il m’a suffit d’ajouter Modernizr au registre des javascripts, de modifier le rendu (simple template) et de modifier les liens dans le livesearch pour utiliser cette nouvelle version. Ce nouveau module est bien plus simple que les précédents moteur de recherche.
Le proxy cache Varnish est utilisé et intégré à l’aide du module plone.app.caching. J’ai rapporté un bug concernant la fonction afficher/masquer une portlet qui ne fonctionne pas bien avec varnish.
SugarCRM est utilisé à plusieurs niveaux: authentification, portlet contact, formulaire de lead (via le module PloneFormGen) et une viewlet affichant une entreprise et un contact (activé avec un formulaire autocomplete) le tout via le module collective.sugarcrm.
TinyMCE 1.3 est utilisé dans sa version developpement et utilise ici une modification: la configuration n’est pas la même pour un administrateur de site que pour un contributeur. Vous trouverez le master sur github.
Les galleries (diaporamas) sont affichés avec le module collective.gallery et un affichage basé sur le plugin jquery ad-gallery, en utilisant picasaweb comme base d’albums photos.