WebshopApi: trigram indices und Hinweiss darauf in der UPGRADE Datei.
[kivitendo-erp.git] / doc / UPGRADE
index 192e0cb..806016b 100644 (file)
@@ -4,33 +4,315 @@ Wichtige Hinweise zum Upgrade von älteren Versionen
 
 ** BITTE FERTIGEN SIE VOR DEM UPGRADE EIN BACKUP IHRER DATENBANK(EN) AN! **
 
+Upgrade auf v3.5.1
+
+* Neue Perlabhängigkeiten
+
+  * LWP::Authen::Digest für WebshopApi
+  * LWP::UserAgent für WebshopApi
+
+* Verwendung der WebshopApi
+
+  * Bestehende Datenbanken, die die WebshopApi verwenden sollen benötigen die
+    Postgres Erweiterung pg_trgm
+    Diese kann wie folgt installiert werden:
+
+    su - postgres
+    psql <DATENBANK>
+    CREATE EXTENSION IF NOT EXISTS pg_trgm;
+    \q
+
+    Wenn die Extension installiert ist können in den beiden Dateien
+    - sql/Pg-upgrade2/trigram_indices_webshop.sql
+    - sql/Pg-upgrade2/trigram_indices.sql
+    das ignore auf 0 gesetzt werden und beide Dateien werden dann beim Anmelden eingespielt.
+    Die Trigramindices sind ein Performancegewinn bei größeren Datenbanken
+
+Upgrade auf v3.5.0
+===========================
+
+* Neue Perl Abhängigkeiten:
+
+  * File::MimeInfo - für den Dateiupload
+  * Sys::CPU
+  * Thread::Pool::Simple
+
+* Neue externe Abhängigkeiten:
+
+  * pdfinfo
+
+* In der Rechte-Tabelle auth.master_rights wurden alle Positionswerte mit 100
+  multipliziert, um Lücken für neue Rechte zu schaffen.
+
+* In der Tabelle "customer" wurde die Spalte "klass" nach "pricegroup_id"
+  migriert. Bei Kunden ohne Preisgruppe ist der Datenbankwert jetzt NULL statt
+  "0". Falls Kunden per CSV-Import importiert werden muß dieses Feld in der
+  CSV-Datei ebenfalls umbenannt werden.
+
+* Für das neue Feature Lieferantenbriefe ist die Standardvorlage für Briefe
+  (letter.tex) angepasst worden. Statt letter.customer muss der Adressat jetzt
+  aus letter.custoemr_vendor erzeugt werden.
+
+* In der Tabelle parts wurde die Boolean-Spalte "assembly" entfernt. Zur
+  Erkennung von Waren/Dienstleistungen/Erzeugnissen gibt es nun in parts eine
+  neue Spalte part_type vom ENUM-Typ, der auf die Werte 'part', 'service',
+  'assembly' und 'assortment' beschränkt ist.
+
+* In der Tabelle parts wurde die Spalten inventory_accno_id, expense_accno_id
+  und income_accno_id entfernt. Deren Funktionalität wurde schon lange durch
+  Buchungsgruppen ersetzt und für die Erkennung des Artikeltyps gibt es nun die
+  Spalte part_type
+
+Upgrade auf v3.4.1
+==================
+
+* Neue Druckvariante Gelangensbestätigung für Verkaufs-Aufträge
+
+    Im Standard-Vorlagensatz RB befindet sich als Vorlage die ic_supply.tex
+    als Orientierung für die Anpassung an eigene Vorlagen. Eigene Vorlagen
+    müssen entsprechend um diesen Typ für die 3.4.1 erweitert werden.
+
+* Druckvorlagen für Briefe
+
+    Die Erzeugung der Druckausgabe für die Brieffunktion wurde auf die
+    Verwendung des Template Toolkits umgestellt. Dazu muss die verwendete
+    Druckvorlage "letter.tex" angepasst werden. Im Standard-Vorlagensatz RB ist
+    das bereits geschehen. Falls keine manuellen Änderungen an der "letter.tex"
+    aus einer vorherigen Version gemacht wurden, reicht es, diese Datei
+    ("templates/print/RB/letter.tex") in das verwendete Vorlagenverzeichnis zu
+    kopieren. Ansonsten kann diese Datei als Beispiel dienen.
+
+
+Upgrade auf v3.4.0
+==================
+
+* Neue Perl-Modul-Abhängigkeiten:
+
+  * Algorithm::CheckDigits
+  * PBKDF2::Tiny
+
+  Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:
+
+  $ scripts/installation_check.pl -ro
+
+* Der in der Dokumentation beschriebene Mechanismus für die CGI-Anbindung
+  (2.6.1 Grundkonfiguration mittels CGI) wurde geändert. Ein einfacher Alias
+  auf das Programmverzeichnis funktioniert nicht mehr, und es muss immer ein
+  AliasMatch auf einen dispatcher eingerichtet werden. Die Dokumentation wurde
+  aktualisiert. Für Benutzer der empfohlenen FastCGI Anbindung ändert sich
+  nichts.
+
+* Der Task-Server ist nun mandantenfähig. Für jeden Mandanten, für den
+  der Task-Server laufen soll, muss in der Administrationsoberfläche
+  in der Konfiguration des Mandanten hinterlegt werden, welchen
+  kivitendo-Benutzer der Task-Server nutzen soll. Ist bei einem
+  Mandanten kein Benutzer hinterlegt, so ignoriert der Task-Server
+  diesen Mandanten.
+
+  Im Gegenzug wurden die beiden Konfigurations-Einstellungen »client«
+  und »login« aus dem Abschnitt [task_server] entfernt. Der
+  Task-Server prüft beim Starten allerdings, ob diese Einstellungen
+  noch existieren und verweigert den Start mit einer hilfreichen
+  Fehlermeldung, solange sie noch vorhanden sind.
+
+* Die Unterstützung unsicherer Passwort-Hashing-Mechanism wurde
+  entfernt. Für BenutzerInnen, die noch alte Mechanismen verwenden,
+  müssen die Passwörter einmalig in der Administrationsoberfläche
+  zurückgesetzt werden.
+
+  Dies betrifft nur Accounts, deren Passwort sich das letzte Mal vor
+  kivitendo 2.7.0 geändert hat.
+
+Upgrade auf v3.3.0
+==================
+
+* Bei Upgrade von Versionen vor v.3.2.x wie immer erst die dortigen
+  Upgradehinweise beachten.
+
+* Es gibt keine neuen Perl-Modul-Abhängigkeiten.
+
+* Die alte ungepflegte Druckvorlagenvariante "Standard" wurde entfernt.
+  Bereits verwendete Druckvorlagen, die darauf aufbauen, funktionieren
+  natürlich weiterhin.
+
+* Für die Verwendung des MT940 Import Features der Bankerweiterung muß
+  aqbanking installiert werden. Dies wird nur für die Konvertierung vom MT940
+  ins CSV Format benötigt, das Kommandozeilentool "aqbanking-cli" befindet sich
+  z.B. unter Ubuntu im Paket aqbanking-tools.
+
+Upgrade auf v3.2.0
+==================
+
+* Neue Perl-Modul-Abhängigkeiten:
+
+  * GD
+  * HTML::Restrict
+  * Image::Info
+  * List::UtilsBy
+
+  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 anderes
-  Menü gesetzt.
+  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 wurde der Befehl "pagebreak" und die dazugehörigen
-  "sumcarriedforward" und "lastpage" entfernt. Alle Vorlagen die auf diesen
-  Informationen basieren müssen überarbeitet werden. Die Standardvorlagen sind
-  entsprechend angepasst worden, und müssen in der Administration neu angelegt
-  werden.
+* 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
+  $ scripts/installation_check.pl -ro
 
 * CSV-Import wurde neu in Perl implementiert
 
@@ -50,8 +332,8 @@ Upgrade auf v2.7.0
   * 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, warvorher
-    Konfiguration.
+  * Der Vorlageneditor wurde unter das Recht Administration gestellt, war
+    vorher Konfiguration.
 
 
 Upgrade auf v2.6.3