Update

Im Folgenden erhalten Sie zusammengefasst die wichtigsten Hinweise für

  • Minor-Updates innerhalb der imperia 10(i10)-Versionen,
  • Upgrades von i9 auf i10 sowie
  • Migrationen von i8 auf i9.

Bitte beachten

Generell unterstützen wir im Support die aktuelle Version der letzten 2 Major-Releases.
Beispiel: "End-of-Lifetime" für imperia 10 ist demnach erst bei Erscheinen von imperia 12.



Migration zu einem anderen Dokumentenverwaltungssystem#

Wichtig

Bevor irgendwelche Änderungen am Dokumentenbaum vorgenommen werden, stellen Sie sicher, dass Sie den aktuellen sichern!

imperia liefert einen einfachen Weg um das Dokumentenverwaltungssystem zu ändern. Um dies zu tun, gehen Sie folgendermaßen vor:

  1. Unter Menü -> System -> Dokumentenhaltung wählen Sie das gewünschte Plug-in aus der Drop-Down-Liste aus.

  2. Führen Sie das clone_repository.pl Skript mit den gewünschten Einstellungen aus.

  3. Führen Sie das Skript site_rebuild_db.pl aus um die Migration abzuschließen.

    Das clone_repository.pl Skript wird genutzt um die imperia Dokumentenbäume von einem Repository ins andere zu kopieren. Das Skript kopiert die Rubriken- und Dokumenten-IDs von der Quelle in das Ziel-Repository.

  4. Um eine Quelle und ein Ziel zu definieren, nutzen Sie folgende Einstellungen:

    -s, --src=REPOSITORY<:conf file> source repository and
    -d, --dest=REPOSITORY<:conf file> destination repository
    

    Für mehr Informationen über die verfügbaren Einstellungen, führen Sie das Skript mit der -h/--help Option aus.

    Bitte beachten

    Wenn nur die Quelle oder das Zielrepository verfügbar sind, wird angenommen, dass das aktuell konfigurierte Speicher Plug-in als fehlende Option angenommen wurde.

  5. Wenn Sie einen anderen Datenspeicher als File65 nutzen, aber die Binärdaten trotzdem in File65 speichern möchten, setzen Sie die Systemkonfigurationsvariable BINARY_DOCTREE_PLUGIN auf File65.

Lesen Sie auch das Kapitel Dokumentenhaltung im Admin-Handbuch.



Migration von einem 32-Bit System auf ein 64-Bit System#

Es gibt verschiedene Schritte, die befolgt werden müssen, um imperia von einem 32-Bit System auf ein 64-Bit zu migrieren.

  • Zuerst stellen Sie sicher, dass imperia auf das letzte Hotfix upgegraded wurde und das Datenbankschema upgedated wurde (indem Sie das site_doctree_admin.pl -i Administrationsskript nutzen).

  • Nachdem alles auf aktuellstem Stand ist, ist als nächster Schritt sicherzustellen, das serielle Objekte in Netzwerk Byte Reihenfolge mit einer festen Integer Länge gespeichert werden, sodass Daten sicher zwischen zwei Architekturen kopiert werden.
    Um dies zu tun, rufen Sie das Skript site_clean_byte_order.pl (unter site/bin zu finden) in der Kommandozeile auf:

        site_clean_byte_order.pl -t
    

    Anschließend:

        site_clean_byte_order.pl -b
    

    Um alle verfügbaren Einstellungen des Skripts einzusehen, rufen Sie es mit der Einstellung -h, --help auf.

    Wichtig

    Dieser Schritt muss mit dem System ausgeführt werden, von dem aus Sie migrieren!

  • Der finale Schritt ist das Kopieren von imperia vom 32-Bit System auf das 64-Bit System.

    Bitte beachten

    Dieser Vorgang erfordert Zeit und kann lange dauern, bis er abgeschlossen ist.

  • Nachdem die Migration durchgeführt wurde, updaten Sie site/config/system.conf und tragen Sie die neuen Verzeichnisse für document root und cgi. Zusätzlich dazu müssen Sie ebenfalls cgi-bin/imperia.conf updaten und dort das Verzeichnis für site anpassen.

    Bitte beachten

    Falls File65 als Datenbank genutzt wird, löschen Sie die Datei site/documents/sqlite.db und bauen Sie die Datenbank mit den folgenden Einstellungen neu:

           site_rebuild_db.pl -t -b
    



Vorbereitungen für ein Update (für alle Versionen)#

Stellen Sie sicher, dass Sie jede der folgenden Voraussetzungen erfüllen:

Die Migration unterscheidet sich hier nicht von einem Update.

  • Sichern Sie Ihr System und Ihre Datenbank.

  • Stoppen Sie den Hermes-Dienst auf dem Entwicklungs- und den Zielsystemen.

  • Stoppen Sie den Webserver.

  • Entpacken Sie das Releasearchiv in ein temporäres Verzeichnis.

  • Führen das Perlskript install.pl auf Ihre imperia-Instanzen aus.

    • Jedes Release ist eine komplette imperia Installation, was bedeutet, dass Sie nach dem Download eines Updates install.pl ausführen müssen.
    • Das Installationsskript überschreibt keine Daten oder Konfigurationsdateien. Falls Sie sich dessen nicht sicher sind, speichern Sie die Dateien mit unterschiedlichen Dateiendungen (.001, .002, .003, ...).
    • Allerdings wird die Installation ALLE Dateien mit den folgenden Endungen überschreiben:

      .pl, .pm, .pod, .txt, .jar, .js, .de, .uk, .gif, .jpg, .jpeg, .tif, .tiff, .psd, .png, .pdf, .rtf, .doc, .xls, .bat, .sh, .exe

    • Falls Sie Änderungen an diesen Dateien vorgenommen haben, sollten Sie diese mit Hilfe des Installationsskripts sichern. Führen Sie zu diesem Zweck das Skript mit der -k Option aus. Geänderte Dateien werden vor dem Kopieren umbenannt und im Installationslog ausgegeben.

    • Während des Updates werden bestehende Dateien mit den neuen verglichen und dadurch eine präzise Version von imperia definiert. Der Installationslog zeigt genau, welche Dateien überschrieben wurden. Speichern Sie diesen falls es Fragen an den Support gibt.

    • Der Eintrag "Skipping" im Installationslog zeigt an, dass eine Datei bereits upgedated wurde und es nicht nötig ist, Sie erneut zu überschreiben.

    • Falls Sie unter UNIX® installieren, folgen Sie den Anweisungen über die Zugriffsrechte auf Dateien, wie unter Installation UNIX beschrieben.

    • Folgen Sie den Anweisungen im Skript.

  • Wenn das install.pl Skript beendet ist, überprüfen Sie den Dokumentenbaum-Status mit dem Skript site/bin/site_doctree_admin.pl.

  • Befolgen Sie die einzelnen Hinweise, siehe unten.

  • Starten Sie anschließend den Webserver neu.



Minor-Update innerhalb von 10x#

Im Folgenden erhalten Sie Hinweise, die Sie bei einem Update von einer i10x- auf die neueste i10x-Version beachten sollten.

Update von i10.2.3#

Update von i10.2.2#

Update von i10.2.1#

Update von i10.2.0#

Update von i10.1.x#

Update von i10.0.x#



Upgrade von i9x auf i10x#

Tipp

Wenn Sie von imperia 9 auf imperia 10 upgraden, wird das Menü automatisch migriert!

Die Migration des Menüs von imperia 9 auf imperia 10 musste bisher durch einige manuelle Schritte ergänzt werden. Es konnte auch dazu kommen, dass eigene Menüpunkte komplett gelöscht und neu angelegt werden mussten.

Diese Probleme gehören nun der Vergangenheit an!

  1. Updaten Sie auf die aktuellste Version von imperia 9.2, bevor Sie auf imperia 10x upgraden.

  2. Installieren Sie imperia 10 auf dem Entwicklungssystem.

    Dieser Schritt unterscheidet sich nicht von dem Update-Prozedere. Führen Sie das Installationsskript auf dem System aus, dass Sie upgraden möchten und folgen Sie den Anweisungen.

    Im folgenden Beispiel spezifizert der Parameter -s das Site-verzeichnis (Site-Directory) des imperia Systems und das cgi Verzeichnis auf “none”. In diesem Fall sammelt das Skript die Informationen über das Dokumentenverzeichnis vom System und lässt das cgi Verzeichnis aus. Sie wollen das cgi Verzeichnis auslassen, wenn ihr System in einer mod_perl Umgebung läuft.

            ./install.pl -s /srv/www/imperia/dev/imperia.de/site -c none
    
  3. Update des Datenbankschemas, siehe Schema-Upgrade Datenbank.

  4. Referenzen updaten.

    Führen Sie das Skript site_rebuild_db.pl aus, um die gespeicherten Informationen im site/meta Verzeichnis Ihres Systems mit der Datenbank abzugleichen, siehe Neuaufbau der Datenbank.

  5. imperia 10 auf allen Zielsystemen installieren.

    Dieser Schritt unterscheidet sich nicht vom Update-Vorgang. Führen Sie nur das Installationsskript auf dem System aus, das Sie upgraden wollen und folgen Sie den Anweisungen. Weitere Details unter Erstinstallation.

    ./install.pl -l -s /srv/www/imperia/live/imperia.de/site
    

    Bitte tauschen Sie den Pfad /srv/www/imperia/dev/imperia.de/site mit Ihrem Pfad aus.

  6. Starten Sie den Webserver neu.

  7. Starten Sie den Hermes-Dienst auf dem Entwicklungs- und den Livesystemen neu.

  8. Geben Sie Ihren imperia 10 Lizenzschlüssel ein.

  9. Kopieren Sie die regkey.bin Datei, die Sie von der pirobase imperia gmbh erhalten haben, in das Verzeichnis site/config.

  10. Loggen Sie sich auf dem System ein und erneuern Sie Ihren Lizenzschlüssel. Wenn Sie eine mod_perl Umgebung nutzen, muss der Webserver anschließend neugestartet werden, da der Lizenzschlüssel gecached wird.


Weitere Hinweise für das Upgrade von i9x auf i10x

Die LDAP-Anbindung in imperia 10 wurde vollständig überarbeitet.

Nach dem Datenbank-Upgrade, sowie nach jeder Änderung der Gruppenstruktur in Ihrem LDAP oder im Falle von Problemen, sollten Sie die LDAP-Daten mit dem Kommando site/bin/site_replicate_um.pl --backend=LDAP in imperia replizieren.

  • Die Replizierung findet ebenfalls regelmäßig um 01:00 Uhr nachts statt. Sie können diese Zeit auch mit der neuen Systemvariable UM_REPLICATION_EXEC_TIME (Format HH:MM oder “no”, um die automatische Replizierung abzuschalten) Ihren Bedürfnissen entsprechend setzen.

    Wichtig

    Mit der zusätzlichen Option --debug erzeugen Sie mehr informative Ausgaben des Replizierungsskripts.

    Durch Setzen der Umgebungsvariablen LDAP_DEBUG auf einen wahren Wert, aktivieren Sie in allen Bereichen von imperia informative Debugausgaben.

  • Das Format der Konfigurationsdatei site/bin/LDAP.conf hat sich geringfügig geändert. Der Installer passt die Datei automatisch an das neue Format an. Die Systemvariablen UMLIGHT_PLUGIN und DATABASE_STORAGE_PLUGIN werden nicht mehr benötigt. imperia wird die neue Systemvariable UM_PROVIDERS automatisch auf “LDAP” setzen, wenn in Ihrer Installation LDAP-Authentifizierung aktiviert ist.


Die umfangreichste API-Änderung in imperia 10 ist das API des User- und Gruppen-Managements.

Allerdings werden die alten Klassendateien Roles.pm, Users.pm und Groups.pm vom Installer absichtlich nicht angetastet und funktionieren für die wichtigsten lesenden Zugriffe auf die User- und Gruppendaten weiter.
Nichtsdestotrotz sollten Sie existierenden Perl-Code an das neue API anpassen. Konsultieren Sie hierfür den “Hitchhiker's Guide To The New User Management in imperia 10.1” in der Datei site/docs/UM-i10.txt für erschöpfende Informationen. Der an das neue API angepasste Perl-Code wird in aller Regel kürzer, besser lesbar und stabiler sein.


CkEditor-Version
alte 3er Version wird weiter mitgeliefert und kann verwendet werden, könnte aber in aktuelleren Browsern problematisch sein.


Skins für die Slot/Flex/Block-Module
wurden aktualisiert, ein Kompatibilitätslayer wird mitgeliefert.


Selbstgeschriebene Komponenten
Plugins/Perl-CodeIncludes/Controller müssen ggf. angepasst werden.


Variable DISABLE_8BIT_FILENAMES siehe unten.



Migration von i8 auf i10#

  • Eine Migration von imperia 8.6 kann evtl. funktionieren, wird aber von imperia nicht supportet.
  • In einem "frischen" imperia 10-System stehen die System.Conf-Variablen aus i8 nicht mehr zur Verfügung.


Migration von i8 auf i9#

In allen Perl-Erweiterungen empfehlen wir ein Codegerüst, das ungefähr so aussieht:

    use strict;

    use Imperia;

    use vars qw ($new $metainfo);


An die wichtigsten Objekte kommen Sie mit folgenden Statements:

    my $system_conf = $imperia->common->
    {system_conf}

    ;
    my $doctree_plugin = $imperia->common->
    {doc_tree}

    ;
    my $user_info = $imperia->common->
    {user}

    ;


Der Aufruf der Variablen erfolgt dann entsprechend:

    my $liveServer = $system_conf->
    {'ABS-DOC-ROOT'}

    ;
    my $doc_root = $system_conf->
    {'DOCUMENT-ROOT'}

    ;


Restlicher Code ...

    $new = "Ergebnis";


Weitere Methoden für Perl Erweiterungen finden Sie unter perldoc site/modules/core/Imperia.pm.


Weitere Hinweise für die Migration von i8 auf i9

  • Mit imperia 9.2 wurde der Zugriff auf das Benutzermanagement beschleunigt, lesen Sie dazu Schema-Upgrade Datenbank.

  • Mit der Einführung des HTML5-Grids werden die Konfigurationsdialoge der Workflow-Schritte in regulärem HTML definiert. Eigene Konfigurationsdialoge müssen deshalb mit Hilfe des Skripts site/bin/site_migrate_fxml_to_html.pl migriert werden. Jedes Plug-in muss einzeln migriert werden!
    Zusätzlich benötigen Sie die Perl-Module XML::LibXML und XML::LibXSLT, damit die Migration funktioniert. Diese Module sollten Sie vor der Migration Ihrer Konfigurationsdialoge installieren.
    Lesen Sie dazu auch das Kapitel Workflows.

  • Im MAM werden nun auch Vorschaubilder von SVG-Dateien generiert. Dazu muss allerdings die folgende System.conf-Variable gesetzt werden: MAM_THUMBNAIL_SVG_TO_MIME = 'png'
    Im Falle von Icons eigens erstellter Menüpunkte, müssen diese neu ausgewählt werden, d.h. die Ersetzungen müssen manuell vorgenommen werden.

  • OCE: Sie müssen die alte Version deinstallieren, bevor auf die neue Version vom OCE bzw. das Bookmarklet in i9 installiert wird.

  • Berücksichtigen Sie auch den Abschnitt Kompatibilitätslayer.



Alle Hinweise#

Folgende Hinweise sind für für das Updaten innerhalb von i10, das Upgrade von i9x auf i10x und teilweise auch von i8 auf i9x relevant.


iWE-Konfiguration#

Bei eigens erzeugten iWE-Konfigurationen sollten Sie ab imperia 10.2.2 Folendes anpassen:
Die untenstehende Zeile, die bisher enthalten und notwendig war, muss nun entfernt werden, da dieser Verweis nun automatisch hinzugefügt wird :

config.customConfig = '/imperia/js/components/iwe2/default_config.js'

Neuaufbau der Datenbank#

Die Datenbank muss mit dem Aufruf site_rebuild_db.pl neu aufgebaut werden.
Die Option -m kann dabei für den (schnelleren) Neuaufbau genutzt werden.

Ausführliche Informationen erhalten Sie im Kapitel site_rebuild_db.pl des Admin-Handbuchs.

Der Aufruf site_rebuild_db.pl ist notwendig ...

  • bei der Migration zu anderem Dokumentenverwaltungssystem.

  • bei der Migration von einem 32-Bit auf 64-Bit System.

  • beim Minor-Update innerhalb von 10x:
    Nutzen Sie hier die Optionen -m (minimaler Modus) -U und -A.

  • beim Update von älteren imperia-Versionen auf 10x:

    1. Beginnen Sie zunächst mit dem minimalen Modus -m.

    2. Gleichen Sie dann die Dokumente und Assets aller Zielsysteme mit folgendem Aufruf ab:
      perl site_rebuild_db.pl -t -b --only-targets DEV

  • speziell beim Upgrade von i9 auf i10 (lesen Sie vorher den Abschnitt Schema-Upgrade Datenbank):

    • Zum Updaten der Referenzen (d.h. gespeicherte Informationen im site/meta Verzeichnis Ihres Systems mit der Datenbank abgleichen) wird es empfohlen, das Skript in zwei unabhängigen Schritten auszuführen.
      Der erste wird eine ToDo-Liste aller nötigen Aktionen erstellen, der zweite diese abarbeiten:

      1. Der folgende Aufruf wird die vorherige ToDo-Liste löschen, eine neue erstellen und sie unter temp/rebuild.todo speichern:

            ./imperia.de/site/bin/site_rebuild_db.pl -c -t
        
      2. Der folgende Aufruf wird die ToDo-Liste abarbeiten. Es ist möglich diesen Vorgang zu stoppen und neu zu starten:

            ./imperia.de/site/bin/site_rebuild_db.pl -b
        

        Bitte beachten

        Bitte beachten Sie, dass dieser Vorgang mehrere Stunden in Anspruch nehmen kann, abhängig von der Anzahl der Dokumente und der Verarbeitungsgeschwindigkeit Ihrer Hardware.

    • Lokales User-Management:
      Sie können jederzeit einen Neuaufbau der User- und Gruppendaten in der Datenbank mit dem Skriptaufruf site/bin/site_rebuild_db --todo --batch --um-only erzwingen.

      Wichtig

      Aus Sicherheitserwägungen werden fehlgeschlagene Logins aufgrund eines inkompatiblen Datenbankschemas nicht über die Oberfläche gemeldet, sondern sind nur aus dem Error-Log des Web-Servers ersichtlich.


Zugriff auf Rubriken beschleunigen#

Der Zugriff auf Rubriken wurde ab Version 10.2.3 beschleunigt:

Aktivierung des Caches durch Setzen der system.conf-Variable: "USER_CAT_CACHE" =1, lesen Sie auch im Admin-Handbuch weiter.


Volltextsuche ohne Base64#

Volltextsuche ignoriert Base64 enkodierte, interne Daten. Optional deaktivierbar mit der Index.conf-Variable: keepbase64content


Aktualisierung von SQLite#

Aktualisieren Sie – falls möglich – Ihre SQLite auf eine Version >3.8.3. Sie verbessern damit u.a. die Suchergebnisse im Dokumenten-Browser.


Hermes.conf-Pflicht#

Mit i10.2.0 ist eine Hermes-Conf Pflicht. Um sicherzustellen, dass diese auch generiert wird, führen Sie folgende Schritte durch:

Wichtig

Das Skript wird beim Update/bei einer Erstinstallation NICHT automatisch ausgeführt.

  1. Führen Sie das Skript site/bin/site_hermes_plugins_list.pl aus:

    • Windows: C:\Strawberry\perl\bin\perl.exe C:/imp/projects/926/webs/dev/site_hermes_plugins_list.pl -g -q -i Monitor\|Analyzer
    • UNIX: perl /imp/projects/926/webs/dev/site/bin/site_hermes_plugins_list.pl -g -q -i Monitor\|Analyzer

      Bitte beachten

      Der Backslash muss vorangestellt werden, damit die Shell das Symbol | nicht als Pipe interpretiert.

    Dieses Skript erzeugt nicht mehrere parallele Hermes-Worker, sondern nur eine Instanz mit ALLEN Plug-ins (die aber in eine zweite Instanz für ein "paralleles Abarbeiten" aufteilbar ist, siehe folgenden Hinweis).

    Hinweise für die Weiterarbeit mit den Plug-ins

    Das Aufteilen der Hermes-Worker ist nicht ganz trivial - zumindest nicht in allen Fällen! Lesen Sie daher auch die generelle Dokumentation unter site/config/hermes.conf.sampledurch.
    Die Anwendung des Hermes-Dienstes wird im Admin-Handbuch ausführlichst beschrieben.

  2. Kopieren Sie den Output der Liste manuell in die site/config/hermes.conf.sample:
    perl site/bin/site_hermes_plugins_list.pl > site/config/hermes.conf.sample

  3. Ändern Sie hermes.conf.sample zu hermes.conf ab.


Kompatibilitätslayer#

Hinweis

Bitte beachten Sie, dass der Kompatibilitätslayer nur mit eingeschränkter Funktionalität ausgestattet ist, um den Umstieg zu erleichtern.

  • Wenn imperia 10 über ein existentes imperia 9-System bzw. i9 über ein existentes i8-System installiert wird, wird ein sog. "Kompatibilitätslayer" mit installiert.
  • Dieser Kompatibilitätslayer interpretiert noch einige der System-Conf-Variablen, die es in imperia 10 bzw. 9 nicht mehr gibt.
  • Somit können unter anderem Projektskripte weiter funktionieren.

  • In einem "frischen" imperia 10-System stehen diese Variablen nicht mehr zur Verfügung.


Schema-Upgrade Datenbank#

Wie bei jedem neuen Major-Release, erfordert ein Upgrade/Update eine Migration des Datenkbankschemas. Andere Daten müssen nicht migriert werden (dies gilt auch für i9, sofern Sie von der neuesten Version von imperia 9 kommen).

Das Datenbankschema wird mit folgendem Skriptaufruf aktualisiert

./imperia.de/site/bin/site_doctree_admin.pl --upgrade --auto

Die Option --auto ist neu seit imperia 10.1 und bewirkt, dass das Skript - soweit notwendig - alle Tabellen automatisch neu aufbaut. Dies ist in erster Linie für Installationen mit Datenhaltung im Dateisystem und der Embedded-Datenbank SQLite3 interessant.

Wichtig

Ab imperia 10.1 verwendet in den Tabellendefinitionen Fremdschlüssel. Falls Sie kein Client-Server-RDBMS sondern die Embedded-Datenbank SQLite3 verwenden, sollten Sie bei manueller Manipulation der Datenbank unbedingt daran denken, dass Sie am Anfang Ihrer Session Fremdschlüssel in SQLite3 mit dem Statement pragma foreign_keys on aktivieren, um eine Korrumpierung Ihrer Daten zu vermeiden.

Optimieren der Datenbankstruktur (nur DBMS):
Dieser Schritt kann nur ausgelassen werden, wenn Sie als Dokumentenspeicher File65 verwenden. Wenn Sie ein DBMS - wie etwa MySQL, Oracle oder PostgreSQL - nutzen, sollten Sie Ihre Datenbank leerräumen, um Ihre Struktur zu optimieren.

        ./site/bin/site_doctree_admin.pl -V

Bei der Migration von i9 auf i10:
Führen Sie bei der Migration folgende Schritte aus, bevor Sie site_rebuild_db.pl ausführen:

  • site_doctree_admin.pl -r index_posting -r users -r groups -r users_groups

  • site_doctree_admin.pl -r role_acl

  • site_doctree_admin.pl -U


Erweiterte Zugriffskontrolle#

Insbesondere für Zielsysteme lässt sich die Zugriffskontrolle wie in Apache 2.4 über Rulesets einstellen. Kopieren Sie hierzu die Datei /site/config/access.conf.sample und passen Sie sie an die eigenen Bedürfnisse an.


Dashboards#

In imperia 9 personalisierte Dashboards werden in Version 10 nicht übernommen. Grund dafür ist eine Anpassung der Dashboards, um die Konfigurationsmöglichkeiten der Widgets erweitern zu können.


Variable DISABLE_8BIT_FILENAMES#

Setzen Sie die system.conf-Variable DISABLE_8BIT_FILENAMES auf den Wert 1.

Lesen Sie dazu im Admin-Handbuch weiter.