WebshopApi: Dokumentation Installations und UPGRADE für Trigram(trgm_pg)
[kivitendo-erp.git] / doc / UPGRADE
index 16648b6..7d88146 100644 (file)
@@ -4,6 +4,289 @@ 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
+
+* Optionale Postgres Erweiterung pg_trgm(Trigram)
+
+  Die Trigramerweiterung bietet eine Ähnlichkeitsuche.
+  Diese verwendet das Shopmodul, wenn installiert, beim Bestellimport
+  um zu entscheiden ob ein Kunde neu angelegt oder als Vorschlag angezeigt wird.
+  Die Erweiterung wird bisher nur beim Ableich der Straße genutzt, da hier oft
+  unterschiedliche Schreibweisen vorhanden sind.
+  z.B Dorfstraße, Dorfstrasse, Dorfstr., Dorf Straße usw..
+  So wird vermieden, dass Kunden eventuell doppelt angelegt werden.
+
+  * Um diese Erweiterung generell in kivitendo zu installieren, um neuen Mandanten
+    und der kivitendo-Test-Suite zugänglich zu machen:
+
+    su - postgres
+    psql template1
+    CREATE EXTENSION IF NOT EXISTS pg_trgm;
+    \q
+
+  * Bei bestehende Mandanten-Datenbanken,
+    kann Erweiterung pg_trgm nachträglich installiert werden:
+
+    su - postgres
+    psql <DATENBANK>
+    CREATE EXTENSION IF NOT EXISTS pg_trgm;
+    \q
+
+    Wenn die Extension installiert ist können(kein muss) 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
 ==================
 
@@ -32,6 +315,10 @@ Upgrade auf v2.7.0
   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