Dokumentation Einrichten postgres als DatenbankSuperUser um
[kivitendo-erp.git] / doc / UPGRADE
index d3c84ef..2c57e6f 100644 (file)
@@ -4,9 +4,93 @@ Wichtige Hinweise zum Upgrade von älteren Versionen
 
 ** BITTE FERTIGEN SIE VOR DEM UPGRADE EIN BACKUP IHRER DATENBANK(EN) AN! **
 
-Upgrade auf v3.4.x Unstable
+Upgrade auf v3.5.1
+
+* Neue Perlabhängigkeiten
+
+  * LWP::Authen::Digest für WebshopApi
+  * LWP::UserAgent für WebshopApi
+
+* Zwingende 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.
+
+  * Zunächst muss geprüft werden, ob die Erweiterung prinzipiell für postgres
+    vorhanden ist, dafür kann folgendes Select-Statement in template1 genutzt werden:
+
+    # select * from pg_available_extensions where name ='pg_trgm';
+
+    Sollte bei diesem Statement kein Ergebnis kommen, so muss die entsprechende
+    Erweiterung für die eigene Distribution nachinstalliert werden.
+    Bei debian/ubuntu befindet sich diese im Paket postgresql-contrib
+    und kann mit
+
+    $ apt install postgresql-contrib
+
+    installiert werden.
+
+  * Diese Erweiterung wird mit dem SQL-Updatescript sql/Pg-upgrade2/trigram_extension.sql
+    und Datenbank-Super-Benutzer Rechten automatisch installiert.
+    Um den Systembenutzer "postgres" mit SuperUserRechten auszustatten
+    braucht dieser ein Passwort.
+
+    su - postgres
+    psql
+    \password
+    <Eingabe passwort>
+    \q
+
+    Passwort und Benutzername können jetzt beim Anlegen einer neuen Datenbank bzw.
+    bei Updatescripten, die SuperUserRechte benötigen eingegeben werden.
+
+    * Um diese Erweiterung manuell zu installieren und generell in Postgres zu aktivieren, muss folgendes gemacht werden:
+
+    su - postgres
+    psql template1
+    CREATE EXTENSION IF NOT EXISTS pg_trgm;
+    \q
+
+  * Damit bestehende Mandanten diese Erweiterung nutzen, muss mandantenspezifische (DB)
+    die Erweiterung pg_trgm nachträglich aktiviert werden:
+
+    su - postgres
+    psql <DATENBANK>
+    CREATE EXTENSION IF NOT EXISTS pg_trgm;
+    \q
+
+* Änderungen DATEV-Export Format CSV
+
+  Die Felder Belegfeld2 und Buchungsbeschreibung werden nicht mehr befüllt.
+  Im KNE-Export war im Belegfeld2 die Fälligkeit der Buchung gesetzt und in
+  Buchungsbeschreibung der Kunden- oder Lieferantenname.
+  Bei nicht valider Umsatz-Steuer-Identnummer wird der Export abgelehnt.
+  Da das Feld ein Freitext-Feld und keine Validierung bei der Eingabe hat(te)
+  unternimmt kivitendo keine eigene Normalisierung,  bzw. Konvertierung
+  des Datenfelds.
+
+  Eine Bereinigung der Ust-IDs muss der kivitendo-Admin eigenverantwortlich unternehmen.
+  Hier exemplarisch ein SQL-Schnipsel zum Ersetzen der Leerzeichen in diesem Feld:
+  UPDATE customer SET ustid=REPLACE(ustid, ' ', '') WHERE ustid LIKE '% %';
+
+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.
 
@@ -15,10 +99,19 @@ Upgrade auf v3.4.x Unstable
   "0". Falls Kunden per CSV-Import importiert werden muß dieses Feld in der
   CSV-Datei ebenfalls umbenannt werden.
 
-* Es wird jetzt Postgres 9.1 vorausgesetzt um GIN Indizes zu verwenden. Wenn
-  das auf dem Zielsystem absolut nicht möglich ist, muss das Upgradescript
-  sql/Pg-Upgrade2/trigram_indices.sql deaktiviert oder entfernt 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
 ==================
@@ -105,6 +198,7 @@ Upgrade auf v3.2.0
   * GD
   * HTML::Restrict
   * Image::Info
+  * List::UtilsBy
 
   Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen: