Zope External Editor

Activation du lien “Modifier avec une application externe”

L’option Activer la fonctionalité d’éditeur externe doit être coché depuis Configuration du site, puis Edition. Cette fonctionalité requiert l’installation d’une application sur le poste des utilisateurs. Ils devront aussi l’activer dans leurs préférences personnelles.

Pour forcer l’utilisation de l’éditeur externe par tous vos utilisateurs, allez dans la Configuration du site, ZMI, portal_memberdata, cliquez sur l’onglet Properties, et cochez l’option ext_editor.

Cela activera le lien Modifier avec une application externe à côté des liens Envoyer cette page et Imprimer sur les documents.

Note

Il y a un bogue dans Plone 3.3.2 qui empêche ce lien de fonctionner. Éditez ~/.buildout/eggs/Plone-3.3.2-py2.4.egg/Products/CMFPlone/skins/plone_scripts/external_edit.py et remplacez '%s/externalEdit_/%s.zem' par '%s/externalEdit_/%s'.

Installation du client External Editor sous Ubuntu

Le système de package d’Ubuntu propose une ancienne version de zopedit. Nous allons quand même l’installer car il associe le type mime application/x-zope-edit à /usr/bin/zopeedit Nous allons ensuite remplacer le script par une nouvelle version.

Installez donc zopeedit via le système de packages :

$ sudo apt-get install zopeedit
TODO TODO TODO TODO
http://www.atreal.net/solutions/atrealxnet/collective.zopeedit_1.0.0_all.deb/view
$ sudo dpkg -i collective.zopeedit_1.0.0_all.deb

Ensuite récupérer la dernière version du script Python zopeedit.py sur http://plone.org/products/zope-externaleditor-client

et remplacez /usr/bin/zopeedit par celui-ci :

$ sudo cp zopeedit.py /usr/bin/zopeedit

Supprimez éventuellement l’ancien fichier ~/.zope-external-edit et exécutez zopedit dans un terminal pour recréer un fichier de configuration.

Depuis la version 0.9.11pre1, le support du versionnement des documents est supporté, mais désactivé par défaut.

Pour activer le versionnement des documents, éditez le fichier ~/.zope-external-edit et remplacez :

# Create a new version when the file is closed ?
# version_control = 0

par :

# Create a new version when the file is closed ?
version_control = 1

Installation du client External Editor sous Windows

Téléchargez la dernière version de l’installateur à partir de http://plone.org/products/zope-externaleditor-client et exécutez le.

Problèmes de cache avec l’External Editor

Le problème suivant peut survenir : l’utilisateur clique sur Modifier avec une application externe, il l’édite, sauvegarde et lorsqu’il reclique sur le lien, il récupère l’ancienne version. Il peut y avoir deux raisons à cela. Le navigateur n’a pas redemandé le fichier, il l’a pris de son cache. Ou bien le proxy cache a retourné une version cachée du fichier.

Il semble que l’on ne puisse pas utiliser Cache-Control:no-cache à cause de IE. Voir http://support.microsoft.com/support/kb/articles/q316/4/31.asp

Pour être sûr que le navigateur redemande toujours le fichier, il faut ajouter le header expires à la requête. Vous pouvez faire cela avec le module expires d’apache.

Activez le module comme ceci :

$ a2enmod expires

Et configurer apache pour que les fichiers avec le type mime application/x-zope-edit expirent au bout d’une seconde :

$ sudo vi /etc/apache2/httpd.conf

Ajoutez les lignes :

ExpiresActive On
ExpiresByType application/x-zope-edit A1

et rechargez apache :

$ sudo /etc/init.d/apache2 reload

Vous aurez les headers suivants de positionnés :

Cache-Control: max-age=1
Expires: (last modified date +1s)

Si vous avez le proxy cache varnish, configurez le pour ne pas mettre en cache les fichiers qui possède le type mime application/x-zope-edit. En effet par défaut le fichier est caché pendant 120s, qui est le défaut ttl (time to live).

Pour désactiver cela, ajoutez dans votre varnish.vcl, dans vcl_fetch la règle suivante :

if (obj.http.Content-Type == "application/x-zope-edit") {
    pass;
}

L’utilisateur doit posséder les permissions WebDAV Lock items et WebDAV Unlock items pour pouvoir verrouiller le document via External Editor.