Comment créer un produit de skin sur Plone 3 ?
Si Plone 3 propose toujours un mécanisme de customization rapide des éléments de skin, la bonne pratique et de faire un produit de sa skin. Mais évidemment, tout ne fonctionne pas de la même manière, nous vous livrons donc ici la méthode la plus simple pour faire une skin toute proprette avec Plone 3.
Sous Plone 2 on avait qPloneSkinDump qui permettait de dumper le répertoire custom avec plus ou moins de succès afin de générer ce produit. Pas encore de tel produit sur Plone 3 mais grâce à David Convent on a bien plus efficace, le fabuleux DIYPloneStyle (déjà présent comme extension pour Plone 2) qui va vous permettre de générer la structure de votre produit de skin ce qui va considérablement nous faciliter la vie :
Voici un petit exemple de génération de skin sur Plone 3 :
On installe DIYPloneStyle :
$ cd /myinstance/Products
$ wget http://plone.org/products/diyplonestyle/releases/3.0/DIYPloneStyle-3.0.tar.gz
$ tar -xvzf DIYPloneStyle-3.0.tar.gz
$ cd /myinstance/bin
$ ./zopectl restart
Allons maintenant jeter un oeil à ce que l'on nous propose :
$ cd /myinstance/DIYPloneStyle
Instinctivement on ouvre le README.txt et là le bon conseil c'est d'ouvrir l'aide :
To get script usage instructions, type in a terminal::
$ cd $INSTANCE_HOME/Products/DIYPloneStyle
$ ./bin/generator.py --help
.. on s'execute et voici ce que l'on y découvre :
usage: generator.py [options]
options:
-h, --help show this help message and exit
-p PRODUCTNAME, --productname=PRODUCTNAME
Name that will be given to the product
-t TARGET, --target=TARGET
Target directory
--skindir=SKINDIR Basename for the folders in the product 'skins/'
directory
--skinname=SKINNAME Name of the skin selection that will be added to
'portal_skins'
--stylesheet=STYLESHEET
Name of the future stylesheet file
--enable-public-stylesheets
Keep default Plone public look.
--add-viewlet-example
Add a basic viewlet example to product.
--add-custom-setuphandler
Add a basic import step to Generic Setup profile.
-v, --verbose Verbose mode
-r, --replace Replace original
.. il n'y a qu'une seule chose à dire : Merci David pour ce product :)
Une fois le produit généré, il ne nous reste plus qu'à ecrire notre code css et a le poser dans les fichiers et dossiers générées par DIYPloneStyle. On a donc plus qu'a placer les éléments qui composent notre skin : Bénit soit le generator.py !

