Wichtige Hinweise zum Upgrade von älteren Versionen
===================================================


** BITTE FERTIGEN SIE VOR DEM UPGRADE EIN BACKUP IHRER DATENBANK(EN) AN! **


Upgrade auf v3.2.0
==================

* Neue Perl-Modul-Abhängigkeiten:

  * GD
  * HTML::Restrict
  * Image::Info

  Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:

  $ scripts/installation_check.pl -ro

  Sofern das Upgrade von einer früheren Version als 3.1.0 geschieht auch die
  Upgradehinweise der Vorversionen beachten.

* Druckvorlagen auf shipto-Verwendung prüfen

  Hier hat sich das Standardverhalten geändert und ggf. werden shipto* nicht mehr
  ausgedruckt, hier müssten die Druckvorlagen individuell angepasst werden, s.a.
  Changelog -> Verkaufsbeleg-Ausdruck.

Upgrade auf v3.1.0
==================


* BEVOR ein Aufruf im Administrationsbereich erfolgt, muss zwingend der
  webdav Ordner im Installationspfad vorhanden sein!
   -  mkdir webdav/
   -  Rechte für webserver setzen ($ chmod www-data webdav/)
  Dieses "Feature" war in vorhergehenden Versionen optional, wird aber
  für das Upgrade auf Mandantenfähigkeit vorausgesetzt.

* Neue Softwarevoraussetzungen: Perl v5.10.1 oder neuer sowie
  PostgreSQL 8.4 oder neuer werden zwingend vorausgesetzt. Ein Betrieb
  mit älteren Versionen ist nicht mehr möglich.

* Neue Perl-Modul-Abhängigkeiten:

  * File::Copy::Recursive
  * Rose::DB::Object muss v0.788 oder neuer sein (aufgrund eines Bugs
    in besagtem Modul im Zusammenspiel mit PostgreSQL)

  Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:

  $ scripts/installation_check.pl -ro

* Die Datenbank muss zwingend Unicode als Encoding nutzen. Daher wird
  auch die Konfigurationsvariable "system.dbcharset" nicht mehr
  unterstützt.

* Einführung von Mandanten. Früher war die Konfiguration der
  Datenbanken für jeden Benutzer getrennt vorzunehmen. Mit diesem
  Release wurden Mandanten eingeführt: ein Mandant bekommt einen Namen
  sowie die Datenbankkonfiguration, und Benutzer bekommen
  Zugriffsrechte auf einen oder mehrere Mandanten.

  Um dieses Update durchzuführen, müssen Sie sich einmal im
  Administrationsbereich anmelden. Vorher ist kein Login im
  Benutzerbereich möglich.

  Die neue Struktur bedingt, dass viele Scripte, die bisher zur
  Konfiguration nur einen Benutzer verlangt haben, jetzt auch einen
  Mandanten verlangen. Die Konfiguration dieser Scripte ist deshalb
  manuell anzupassen. Dazu gehören:

  - der Task-Server (config/kivitendo.conf)
  - CSV-Import von der Shell aus (scripts/csv-import-from-shell.sh)

  Die folgenden Scripte sind ebenfalls betroffen, allerdings nur für
  Entwickler interessant:

  - scripts/dbupgrade2_tool.pl
  - scripts/rose_auto_create_model.pl

* Neue Benutzerrechte

  Diese müssen bei vorhandenen Gruppen eventuell nachgepflegt werden. Z.B. bei
  der Gruppe Vollzugriff

  - Stammdaten -> Kunden und Lieferanten erfassen. Alle Lieferanten bearbeiten.
    Alle Kunden bearbeiten
  - Konfiguration -> Verändern der kivitendo-Installationseinstellungen (die
    meisten Menüpunkte unterhalb von 'System')

* Die alten ungepflegten Druckvorlagenvarianten French und Service
  wurden entfernt.

* Die HTML-Druckvorlagen der Berichte (GuV, Bilanz, SuSa, BWA, UStVA) werden
  jetzt alle zentral in den Webvorlagen verwaltet, es werden keine
  benutzerangepasste Versionen der Druckvorlagen im Druckvorlagenverzeichnis
  mehr unterstützt.

Upgrade auf v3.0.0
==================

* Neue Abhängigkeiten

  * Clone 1.16
  * Email::MIME
  * FCGI jetzt min Version 0.72
  * Test::Harness 3.00
  * IO::Socket::SSL
  * Net::LDAP
  * Net::SMTP::SSL
  * Net::SSLGlue

  Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:

  $ scripts/installation_check.pl -ro

* Neue Entwicklerabhängigkeiten

  * Test::Deep
  * GD 2.00

* Diverse umstrittene Features zum nicht standardkonformen Umgang mit gebuchten
  Rechnungen sind jetzt standardmässig deaktiviert und müssen unter "System" ->
  "Mandantenkonfiguration" aktiviert werden.

* Die Übersetzungen "de_DE" und "fr" für die alternative deutsche Version und
  französische Version respektive wurden entfernt. Es bleiben offiziell
  unterstützte Übersetzungen in Deutsch ("de") und English ("en").

* Dieses ist die letzte Version, die Perl-Versionen vor 5.10.1
  unterstützen wird.  Ab dem nächsten Release werden Sprachkonstrukte
  verwendet werden, die nicht mehr in 5.8 kompilieren, und Module, die
  seit v5.10.1 zu den Coremodulen gehören, werden ab dann nicht mehr
  als explizite Abhängigkeiten gelistet.


Upgrade auf v2.7.0
==================

* In der Version 2.7.0 wird das XUL Menü entfernt. Alle Benutzer die das XUL
  Menü noch eingestellt haben, werden beim ersten Einloggen auf ein
  Kompatibilitätsmenü gesetzt. Das Javascriptmenü wurde entsprechend erweitert
  um der Funktionalität nahe zu kommen.

* Das Lizenzenfeature wurde ersatzlos entfernt.

* In den LaTeX Vorlagen gilt der Befehl "pagebreak" und die dazugehörigen
  "sumcarriedforward" und "lastpage" als deprecated und werden in einer
  kommenden Version komplett entfernt. Die Mechanik ist anfällig gegenüber
  subtilen Formatierungsfehlern bei bestimmten Zahlenformaten und ist
  grundsätzlich fehlerhaft in den gemachten Annahmen über den verfügbaren Platz
  auf einer Seite. Die Standardvorlagen sind entsprechend angepasst worden
  und müssen in der Administration neu angelegt werden.

* Das Druckvorlagensystem wurde umgestellt, dadurch ist der Name "print" für
  Druckvorlagen jetzt reserviert. Wenn eine Ihrer Vorlagensätze "print" heisst,
  benennen Sie ihn um bevor Sie das Update starten.

* Die Druckvorlagen für USTVA vor 2012 wurden entfernt und das Ausdrucken von
  USTVA als PDF ist deprecated. Da die Eingabe von Erklärungen als PDF nicht
  mehr gestattet ist, sollten Archivkopien der USTVA direkt bei Elster bezogen
  werden, oder auf anderem Wege erstellt werden. Der Prozess dazu wird sich in
  einer kommenden Version ändern.

* Die Namen der von LaTeX generierten PDF-Dateien sind jetzt in der
  eingestellten Dokumentensprache, nicht mehr in der Oberflächensprache des
  Bearbeiters.

* Neue Abhängigkeiten

  * JSON
  * String::ShellQuote
  * Digest::SHA (optional, empfohlen)

  Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:

  $ scripts/installation_check.pl -ro

* CSV-Import wurde neu in Perl implementiert

  Der PHP-Code wurde entfernt. Automatische Skripte, die per Aufruf von
  lxo-import/partsB.php?cron=1 die Datei parts.csv importiert haben,
  funktionieren nicht mehr.  Stattdessen kann scripts/csv-import-from-shell.sh
  benutzt werden. Im Unterschied zur PHP-Version werden unbekannte Warengruppen
  nicht mehr automatisch angelegt, stattdessen bricht das Skript ab.

* Rechteverwaltung

  * Das Recht "Kunden und Lieferanten bearbeiten" wurde aufgespalten in zwei
    einzelne Rechte. Ein Updatescript passt bestehende Gruppenaentsprechend an.
  * Das Recht "Preise nd Rabatte bearbeiten" wurde neu eingeführt und ist
    notwendig um in Belegen Preise ändern zu können. Es wird beim Upgrade
    automatisch allen Benutzern erteilt.
  * Das Recht "Administration" wurde neu eingeführt, und ist dazu da
    administrative Tätigkeiten an der Mandantendatenbank aus einm Benutzerlogin
    heraus durchzuführen. Es ist standardmäßig NICHT vergeben.
  * Der Vorlageneditor wurde unter das Recht Administration gestellt, war
    vorher Konfiguration.


Upgrade auf v2.6.3
==================

1. Mit Version 2.6.3. wurden die beiden Konfigurationsdateien
authentication.pl und lx-erp.conf, sowie deren Varianten,
abgeschafft. Stattdessen gibt es nun die Datei lx_office.conf, die
aber erst neu angelegt werden muß. Als Vorlage dient hierfür die Datei
lx_office.conf.default. Die entsprechenden Werte muß man selber neu
konfigurieren, dies ist automatisiert zu fehleranfällig.

Nach dem Upgrade kann man sich so lange nicht anmelden, bis lx_office.conf
angelegt und authentication.pl und lx-erp.conf gelöscht oder verschoben wurden.

Es gibt keine local-Variante der lx_office.conf, arbeitet man mit git sollte
man lx_office.conf nicht einchecken.

Eine etwas ausführlichere Beschreibung findet sich in Kapitel 2.3
"Lx-Office-Konfigurationsdatei" in doc/Lx-Office-Dokumentation.pdf

2. Eine neu hinzugekommene Komponente ist der Task-Server. Hierbei
handelt es sich um einen Dämonen, der im Hintergrund läuft, in
regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und diese
zu festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser
Dämon wird bisher nur für die Erzeugung der wiederkehrenden Rechnungen
benutzt, wird aber in Zukunft deutlich mehr Aufgaben übertragen
bekommen. Die Einrichtung des Dämonen wird in der
Installationsdokumentation im Abschnitt "Der Task-Server" beschrieben.

3. Mit Version 2.6.3 sind einige Abhängigkeiten von Perl-Modulen
hinzugekommen. Bitte führen sie vor dem ersten Aufrufen der einmal
den folgenden Befehl im Lx-Office Verzeichnis aus:

$ scripts/installation_check.pl

Sollten Module als fehlend markiert sein, folgen Sie bitte den Anweisungen in
der Installationsanweisung.

Zumindest folgende Module sind neu benötigt:

* Config::Std
* Params::Validate

4. Sollten Sie die FCGI-Version einsetzen, das Apache-Modul
"mod_fcgid" (nicht "mod_fastcgi") benutzen und von diesem Modul die
Version v2.6.3 oder später installiert haben, so ist außerdem wichtig,
seinen Parameter "FcgidMaxRequestLen" deutlich zu erhöhen, weil sich
dieser im Release mod_fcgid-Release v2.6.3 deutlich geändert
hat. Details dazu finden sich in Kapitel 2.5.2 "Konfiguration für
FastCGI/FCGI" in doc/Lx-Office-Dokumentation.pdf


Upgrade auf v2.6.2
==================

 Vor dem Einloggen
 -----------------

Mit Version 2.6.2 sind einige Abhängigkeiten von Perl-Modulen hinzugekommen.
Bitte führen sie vor dem ersten Aufrufen der einmal den folgenden Befehl im
Lx-Office Verzeichnis aus:

$ scripts/installation_check.pl

Sollten Module als fehlend markiert sein, folgen Sie bitte den Anweisungen in
der Installationsanweisung.

Zumindest folgende Module sind neu benötigt:

* Rose::Object, Rose::DB und Rose::DB::Object (die Installation von
  Rose::DB::Object via CPAN oder den Paketmechanismus Ihrer
  Distribution sollte für die automatische Installation der anderen
  zwei Pakete sorgen)

 Neue Gruppenrechte
 ------------------

Es wurde ein neues Recht "Druck" eingeführt. Dieses bestimmt, ob die
Benutzerin das Menü "Druck" zu Gesicht bekommt oder nicht, unabhängig
davon, wie die Rechte für die einzelnen Unterpunkte gesetzt sind.

Für bereits bestehende Gruppen muss es sofern gewünscht vom
Administrator manuell gewährt werden.


Upgrade auf v2.6.1
==================

 Vor dem Einloggen
 -----------------

Mit Version 2.6.1 wurden die Listen der benötigten Perl Module überarbeitet.
Einige der vorher in den Abhängigkeiten gelisteten Module waren Coremodules
(und damit in jeder Perldistribution vorhanden), oder ihrerseits Abhängigkeiten
anderer benötigter Module. Durch die Überarbeitung hat sich die Liste deutlich
geändert.

Bitte führen sie vor dem ersten Aufrufen der einmal den folgenden Befehl im
Lx-Office Verzeichnis aus:

$ scripts/installation_check.pl

Sollten Module als fehlend markiert sein, folgen Sie bitte den Anweisungen in
der Installationsanweisung.

Zumindest folgende Module sind neu benötigt:

* URI
* XML::Writer

 Neue Konfigurationsvariablen
 ----------------------------

In der config/lx-erp.conf ist als neue Option $show_best_before hinzugekommen.
Die Variable kontrolliert die Anzeige von Mindesthaltbarkeitsdaten. Sie ist
standardmäßig deaktiviert.