Marre de redémarrer Zope2 & Plone ?
Plone 3 & plone.reload
Installer plone.reload 0.9
Editer votre buildout.cfg pour y intégrer plone.reload:
[project] ... eggs= ... plone.reload zcml= ... plone.reload [versions] ... plone.reload = 0.9
Puis relancer votre buildout:
$ ./bin/buildout -c buildout.cfg
Utiliser plone.reload
Si votre Zope écoute sur le port 8080 de localhost, rendez-vous à l'adresse suivante: http://localhost:8080/@@reload
L'interface vous propose deux actions:
- Reload code: Tous les modules modifiés depuis leur dernier chargement sont rechargés.
- Reload code and ZCML: Recharge également tous les modules modifiés mais aussi toutes les directives de configuration ZCML.
Attention: plone.reload reste expérimental et possède certaines limites, notament pour les méthodes décorées qui ne sont pas rechargées correctement.
Plone 2.5 & RefreshNG
Pourquoi ne pas utiliser plone.reload ?
Et bien tout simplement car je n'ai pas réussi ;) et que plone.reload s'est très fortement inspiré du produit Zope RefreshNG.
Installer RefreshNG 0.1
Editer votre buildout.cfg pour y intégrer RefreshNG:
[project] ... urls= ... http://launchpad.net/refreshng/0.1/0.1/+download/RefreshNG-0.1.tar.gz
Puis relancer votre buildout:
$ ./bin/buildout -c buildout.cfg
Utiliser RefreshNG
Pour activer la fonction "refresh" pour un de vos produits en cours de développement (ex: MyProduct), il suffit de rajouter dans le produit un fichier vide nommé "refresh.txt".
Rendez-vous alors via la ZMI sur la page "Control_Panel > Products > MyProduct" puis cliquez sur l'onglet "refresh".
L'interfarce vous propose alors de recharger le produit (Refresh this product) et même de marquer le produit comme "auto-recharcheable" (auto refresh mode).
Attention: Tous les produits ne sont pas compatibles avec cette fonctionnalité, cf. le README du produit RefreshNG pour en savoir plus.