Fehlerbehebung

Prozeduren beim Auftreten von Problemen während des Plone-Upgrades.

  1. Fährt die Zope-Instanz nicht mit ZOPE_INSTANCE/bin/zopectl start hoch, erhalten Sie mit ZOPE_INSTANCE/bin/zopectl fg Hinweise, an welcher Stelle Zope hängen bleibt.

  2. Überprüfen der Log-Dateien

    Wenn ein Fehler auf der aktualisierten Plone-Site ausgegeben wird, gibt es möglicherweise eine informative Fehlermeldung in den Log-Dateien der Zope-Instanz. Gehen Sie zu ZOPE_INSTANCE/logs/event.log und suchen dort nach error, exception oder traceback.

    Detailliertere Informationen zu den Fehlermeldungen finden Sie in

  3. Testen der Anpassungen

    Wenn Sie Page Templates und Python-Skripte angepasst haben, mögen diese Änderungen mit der neuen Plone-Versionen interferieren. Entfernen Sie temporär diese Anpassungen indem Sie die Layer aus dem von Ihnen verwendeten Skin entfernen.

  4. Testen der Zusatzprodukte

    1. Um Bugs oder Kompatibilitätsprobleme in den installierten Zusatzprodukten herauszufinden, deinstallieren Sie alle Produkte, die nicht zusammen mit Plone ausgeliefert werden, in Site Setup, Add/Remove Products. Anschließend entfernen Sie diese Produkte aus dem Produktverzeichnis Ihrer Zope-Instanz.

    2. Falls das Problem hiermit beseitigt wird, überprüfen Sie für jedes der betreffenden Produkte:

      • ob dessen Version auch mit den aktuellen Versionen von Plone, Zope und Python kompatibel ist?

      • ob dieses Produkt zusätzliche Upgrade-Prozeduren benötigt?

      • ob das Produkt korrekt installiert ist? Installieren Sie es erneut und überprüfen Sie die Ausgabe beim Starten der Zope-Instanz mit ZOPE_INSTANCE/bin/zopectl fg.

      • Liegt ein Produkt nicht für die aktuelle Plone-Version vor und hinterlässt beim Deinstallieren »verwaiste« Inhalte, so können Sie sich mit folgendem Skript solche Inhalte auflisten lassen:

        portal_types = context.portal_types.objectIds()
        
        print "Orphaned items:"
        print
        
        for i in context.portal_catalog.uniqueValuesFor('portal_type'):
           if i in portal_types: continue
           print i
           results = context.portal_catalog(portal_type=i)
           for i in results:
               print i.getURL()
           print
        return printed
        

        Um das Skript zu verwenden, erstellen Sie im ZMI des Wurzelverzeichnisses Ihrer Plone-Site ein Python-Skript, kopieren den Code in das Formular und sichern es anschließend. Zum Ausführen des Skripts müssen Sie nun nur noch in den «Test»-Reiter klicken.

    3. Wie Sie Upgrade-Skripte für Ihre eigenen Produkte schreiben können, erfahren Sie hier: Eigene Upgrade-Skripte schreiben.

  5. Testen Sie in einer neu aufgesetzten Plone-Site.

    Falls das Problem nicht in einer neu aufgesetzten Plone-Site auftritt, bedeutet dies, dass die Ursache zu suchen ist

    • in einer Anpassung
    • einem Zusatzprodukt
    • oder in Inhalten, die nicht sauber migriert wurden.
  6. Machen Sie das Problem reproduzierbar

    Bevor Sie andere um Hilfe bitten, sollten Sie das Problem so beschreiben können, dass es für andere in deren Systemumgebung nachvollziehbar ist. Schränken Sie hierzu die Fehlerquellen so weit wie möglich ein um es anderen zu erleichtern, Ihr Problem nachvollziehen zu können.