• Aufsetzen eines neuen Systems/Rechners mit Zope 2.7.2/3 bzw. einer aktiven Instanz (Hinweis: Zope 2.7+ arbeitet mit Instanzen)*
  • Einkopieren des aktuellen ZMS 2.3.2#45+ http://sourceforge.net/projects/zmspublishing/ in das Verzeichnis 'lib/python/Products/' der Zope-Installation
  • Einkopieren derjenigen Zope-Produkte, die auf dem bisherigen Live-System verwendet werden.
  • Kopieren des Data-fs des Live-Systems in das var-Verzeichnis der neu installierten Zope-Instanz
  • A. TEST-UPDATE: Aufruf der ZMS-content-Objekte/Master; damit wird ein eigenständiges Processing sämtlicher Inhalte auf UTF-8 eingeleitet
  • Manuelles ändern sämtlicher Umlaute/Sonderzeichen in den DTML-Templates (auch SpecObjs) in HTML-Entities (damit sie auch gemaess UTF-8 korrekt angezeigt werden)
  • Feintuning des CSS insbes. beim Teaser-Element
  • Bestimmung eines Umschalte-Termins
  • Sicherung der aktualisierten Templates und CSS
  • Einfrieren der Redaktionsarbeit und finales Kopieren des data.fs in das Update-System
  • B. FINALES UPDATE: erneutes content update processing und Ersetzen der Templates mit den korrigierten Templates, ggf. Content-Feintuning
  • Löschen/aktualisieren ZCatalog
  • Umschaltung der IP/Ports

*Beispiel
Zope-Installation: /home/zope27
Hier können Produkte installiert werden, die dann in allen Instanzen zur Verfügung stehen
Zope-Instanz: /home/Zope
Hier können Produkte installiert werden, die dann in dieser Instanz zur Verfügung stehen

Anmerkung

Alternativ zu einem Update auf einem zweiten Rechner kann man auch ein zweites Zope auf dem gleichen Rechner installieren, das auf einem anderen Port läuft (z.B. 8090); dann muss beim Umschalten final nur der Port geändert werden

Hinweis

Bei Auslieferung der Seiten über einen Apache Webserver kann es Probleme mit dem mod_proxy-Modul von Apache geben.

Seit ZOPE 2.7 liefert ZOPE eine modifizierte 304-Meldung aus (Der Servercode 304 im HTTP-Log bedeutet Not Modified = Nicht geändert). Im Gegensatz zu fürheren Zope Versionen wird jetzt nur noch der Header einer Datei mit dieser Meldung ausgeliefert, aber nicht mehr - wie füher - die Datei selbst.
Das ist von ZOPE korrekt, wird aber vom Apache mod_proxy nicht richtig verarbeitet.
mod_proxy ersetzt trotz Servercode 304 'Not modified' die gesamte Datei. Da Zope aber nur den Header der Datei mit dem 304 Code 'Not Modified' und nicht die Datei selbst liefert, wird von mod_proxy eine nicht vollständige Datei in den Cache geschrieben. Logische Folge. Die Datei (Grafiken incl. Spacer etc.) kann nicht korrekt dargestellt werden.

Vorgehen

1.) Auskommentierung der 304-Meldung im ZOPE-Quellcode.
App/ImageFile.py: #RESPONSE.setStatus(304)
OFS/Image.py: # RESPONSE.setStatus(304)
Das hat zur Folge, dass bei einer Anfrage Zope die Datei jedesmal ausliefert. Die Seite selbst aber wird über den Apache bereits schnell ausgeliefert. Mit diesem Workaround muss ZOPE im Hintergrund also mehr arbeiten, ohne dass die Performance beeinträchtigt wird.

2.) Verwenden der Apache-Version 2.0. Mit dieser Apache-Version tritt das Problem nicht auf.

Erstellt von: Frank Hoffmann, Jürgen Klein , erstellt am:  27.06.2008 , zuletzt geändert: 27.06.2008