Der products.zms-Folder mit den Code-Ressources für ZMS liegt im /libs/site-package-Ordner der virtuellen Python-Umgebung. Um ein Update aus dem Web zu ziehen, wird wget eingesetzt und ein zip-Programm (z.B. 7zip unter Windows) für das Auspacken der Datei.

Windows: Batch-Script zmsupdate.bat

Hinweis: die Pfade im Script haben nur beispielhaften Charakter und hängen von der konkreten Installation auf dem Rechner ab.

C:\Programme\wget\wget.exe http://zmslabs.org/download/ZMS-latest.tar.gz
DEL /s /q zms
RD /s /q zms
D:\Programme\7-Zip\7z.exe x ZMS-latest.tar.gz
D:\Programme\7-Zip\7z.exe x -y *.tar
@ECHO OFF
DEL *.gz *.tar
DIR
echo "Press Enter to Start Zope"
PAUSE
start "Starting ZOPE..." D:\data\zope\instance\myzms\bin\runzope.bat
zms_update_pre.gif

Screenshot: Per Doppelklick wird das Shell-Script zum Update der ZMS-Programmdateien gestartet

Linux: Shell-Script zmsupdate.sh

Unter Linux müssen die Zugriffsrechte gesondert gesetzt werden. Es empfiehlt sich die Zope-Instanzen als System-User zope laufen zu lassen. Das Script führt nach dem Update der Dateien einen Restart von Zope durch, damit die Code-Änderungen greifen können. Um kollidierende ZODB-Zugriffe zu vermeiden kann bei Bedarf der Webserver (z.B. Apache) ebenso gestoppt bzw. gestartet werden.

wget http://zmslabs.org/download/ZMS-latest.tar.gz
rm -r zms
tar -xzvf ZMS-latest.tar.gz
chown -R zope:zope zms
chmod -R 755 zms
heute=$(date +%Y%m%d)
mv ZMS-latest.tar.gz ZMS-latest.tar.gz__$heute
#/etc/init.d/apache2 stop
/etc/init.d/zope stop
/etc/init.d/zope start
# /etc/init.d/apache2 atart