Marre de redémarrer Zope2 & Plone ?

Si vous en avez marre de redémarrez Zope2 à chaque modification du code source (python ou zcml) cette astuce est pour vous: utiliser plone.reload si vous utilisez Plone 3 ou alors RefreshNG si vous utilisez Plone 2.5.

Plone 3 & plone.reload

plone.reload sur pypi

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

RefreshNG sur launchpad.net

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.

Add comment

Vous pouvez ajouter un commentaire en complétant le formulaire ci-dessous. Le format doit être plain text. Les commentaires sont modérés.

Question: Écrire "5" en chiffre
Votre réponse: