WebshopApi: Dokumentation Installations und UPGRADE für Trigram(trgm_pg)
[kivitendo-erp.git] / doc / UPGRADE
1 Wichtige Hinweise zum Upgrade von älteren Versionen
2 ===================================================
3
4
5 ** BITTE FERTIGEN SIE VOR DEM UPGRADE EIN BACKUP IHRER DATENBANK(EN) AN! **
6
7 Upgrade auf v3.5.1
8
9 * Neue Perlabhängigkeiten
10
11   * LWP::Authen::Digest für WebshopApi
12   * LWP::UserAgent für WebshopApi
13
14 * Optionale Postgres Erweiterung pg_trgm(Trigram)
15
16   Die Trigramerweiterung bietet eine Ähnlichkeitsuche.
17   Diese verwendet das Shopmodul, wenn installiert, beim Bestellimport
18   um zu entscheiden ob ein Kunde neu angelegt oder als Vorschlag angezeigt wird.
19   Die Erweiterung wird bisher nur beim Ableich der Straße genutzt, da hier oft
20   unterschiedliche Schreibweisen vorhanden sind.
21   z.B Dorfstraße, Dorfstrasse, Dorfstr., Dorf Straße usw..
22   So wird vermieden, dass Kunden eventuell doppelt angelegt werden.
23
24   * Um diese Erweiterung generell in kivitendo zu installieren, um neuen Mandanten
25     und der kivitendo-Test-Suite zugänglich zu machen:
26
27     su - postgres
28     psql template1
29     CREATE EXTENSION IF NOT EXISTS pg_trgm;
30     \q
31
32   * Bei bestehende Mandanten-Datenbanken,
33     kann Erweiterung pg_trgm nachträglich installiert werden:
34
35     su - postgres
36     psql <DATENBANK>
37     CREATE EXTENSION IF NOT EXISTS pg_trgm;
38     \q
39
40     Wenn die Extension installiert ist können(kein muss) in den beiden Dateien
41     - sql/Pg-upgrade2/trigram_indices_webshop.sql
42     - sql/Pg-upgrade2/trigram_indices.sql
43     das ignore auf 0 gesetzt werden und beide Dateien werden dann beim Anmelden eingespielt.
44     Die Trigramindices sind ein Performancegewinn bei größeren Datenbanken
45
46 Upgrade auf v3.5.0
47 ===========================
48
49 * Neue Perl Abhängigkeiten:
50
51   * File::MimeInfo - für den Dateiupload
52   * Sys::CPU
53   * Thread::Pool::Simple
54
55 * Neue externe Abhängigkeiten:
56
57   * pdfinfo
58
59 * In der Rechte-Tabelle auth.master_rights wurden alle Positionswerte mit 100
60   multipliziert, um Lücken für neue Rechte zu schaffen.
61
62 * In der Tabelle "customer" wurde die Spalte "klass" nach "pricegroup_id"
63   migriert. Bei Kunden ohne Preisgruppe ist der Datenbankwert jetzt NULL statt
64   "0". Falls Kunden per CSV-Import importiert werden muß dieses Feld in der
65   CSV-Datei ebenfalls umbenannt werden.
66
67 * Für das neue Feature Lieferantenbriefe ist die Standardvorlage für Briefe
68   (letter.tex) angepasst worden. Statt letter.customer muss der Adressat jetzt
69   aus letter.custoemr_vendor erzeugt werden.
70
71 * In der Tabelle parts wurde die Boolean-Spalte "assembly" entfernt. Zur
72   Erkennung von Waren/Dienstleistungen/Erzeugnissen gibt es nun in parts eine
73   neue Spalte part_type vom ENUM-Typ, der auf die Werte 'part', 'service',
74   'assembly' und 'assortment' beschränkt ist.
75
76 * In der Tabelle parts wurde die Spalten inventory_accno_id, expense_accno_id
77   und income_accno_id entfernt. Deren Funktionalität wurde schon lange durch
78   Buchungsgruppen ersetzt und für die Erkennung des Artikeltyps gibt es nun die
79   Spalte part_type
80
81 Upgrade auf v3.4.1
82 ==================
83
84 * Neue Druckvariante Gelangensbestätigung für Verkaufs-Aufträge
85
86     Im Standard-Vorlagensatz RB befindet sich als Vorlage die ic_supply.tex
87     als Orientierung für die Anpassung an eigene Vorlagen. Eigene Vorlagen
88     müssen entsprechend um diesen Typ für die 3.4.1 erweitert werden.
89
90 * Druckvorlagen für Briefe
91
92     Die Erzeugung der Druckausgabe für die Brieffunktion wurde auf die
93     Verwendung des Template Toolkits umgestellt. Dazu muss die verwendete
94     Druckvorlage "letter.tex" angepasst werden. Im Standard-Vorlagensatz RB ist
95     das bereits geschehen. Falls keine manuellen Änderungen an der "letter.tex"
96     aus einer vorherigen Version gemacht wurden, reicht es, diese Datei
97     ("templates/print/RB/letter.tex") in das verwendete Vorlagenverzeichnis zu
98     kopieren. Ansonsten kann diese Datei als Beispiel dienen.
99
100
101 Upgrade auf v3.4.0
102 ==================
103
104 * Neue Perl-Modul-Abhängigkeiten:
105
106   * Algorithm::CheckDigits
107   * PBKDF2::Tiny
108
109   Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:
110
111   $ scripts/installation_check.pl -ro
112
113 * Der in der Dokumentation beschriebene Mechanismus für die CGI-Anbindung
114   (2.6.1 Grundkonfiguration mittels CGI) wurde geändert. Ein einfacher Alias
115   auf das Programmverzeichnis funktioniert nicht mehr, und es muss immer ein
116   AliasMatch auf einen dispatcher eingerichtet werden. Die Dokumentation wurde
117   aktualisiert. Für Benutzer der empfohlenen FastCGI Anbindung ändert sich
118   nichts.
119
120 * Der Task-Server ist nun mandantenfähig. Für jeden Mandanten, für den
121   der Task-Server laufen soll, muss in der Administrationsoberfläche
122   in der Konfiguration des Mandanten hinterlegt werden, welchen
123   kivitendo-Benutzer der Task-Server nutzen soll. Ist bei einem
124   Mandanten kein Benutzer hinterlegt, so ignoriert der Task-Server
125   diesen Mandanten.
126
127   Im Gegenzug wurden die beiden Konfigurations-Einstellungen »client«
128   und »login« aus dem Abschnitt [task_server] entfernt. Der
129   Task-Server prüft beim Starten allerdings, ob diese Einstellungen
130   noch existieren und verweigert den Start mit einer hilfreichen
131   Fehlermeldung, solange sie noch vorhanden sind.
132
133 * Die Unterstützung unsicherer Passwort-Hashing-Mechanism wurde
134   entfernt. Für BenutzerInnen, die noch alte Mechanismen verwenden,
135   müssen die Passwörter einmalig in der Administrationsoberfläche
136   zurückgesetzt werden.
137
138   Dies betrifft nur Accounts, deren Passwort sich das letzte Mal vor
139   kivitendo 2.7.0 geändert hat.
140
141 Upgrade auf v3.3.0
142 ==================
143
144 * Bei Upgrade von Versionen vor v.3.2.x wie immer erst die dortigen
145   Upgradehinweise beachten.
146
147 * Es gibt keine neuen Perl-Modul-Abhängigkeiten.
148
149 * Die alte ungepflegte Druckvorlagenvariante "Standard" wurde entfernt.
150   Bereits verwendete Druckvorlagen, die darauf aufbauen, funktionieren
151   natürlich weiterhin.
152
153 * Für die Verwendung des MT940 Import Features der Bankerweiterung muß
154   aqbanking installiert werden. Dies wird nur für die Konvertierung vom MT940
155   ins CSV Format benötigt, das Kommandozeilentool "aqbanking-cli" befindet sich
156   z.B. unter Ubuntu im Paket aqbanking-tools.
157
158 Upgrade auf v3.2.0
159 ==================
160
161 * Neue Perl-Modul-Abhängigkeiten:
162
163   * GD
164   * HTML::Restrict
165   * Image::Info
166   * List::UtilsBy
167
168   Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:
169
170   $ scripts/installation_check.pl -ro
171
172   Sofern das Upgrade von einer früheren Version als 3.1.0 geschieht auch die
173   Upgradehinweise der Vorversionen beachten.
174
175 * Druckvorlagen auf shipto-Verwendung prüfen
176
177   Hier hat sich das Standardverhalten geändert und ggf. werden shipto* nicht mehr
178   ausgedruckt, hier müssten die Druckvorlagen individuell angepasst werden, s.a.
179   Changelog -> Verkaufsbeleg-Ausdruck.
180
181 Upgrade auf v3.1.0
182 ==================
183
184
185 * BEVOR ein Aufruf im Administrationsbereich erfolgt, muss zwingend der
186   webdav Ordner im Installationspfad vorhanden sein!
187    -  mkdir webdav/
188    -  Rechte für webserver setzen ($ chmod www-data webdav/)
189   Dieses "Feature" war in vorhergehenden Versionen optional, wird aber
190   für das Upgrade auf Mandantenfähigkeit vorausgesetzt.
191
192 * Neue Softwarevoraussetzungen: Perl v5.10.1 oder neuer sowie
193   PostgreSQL 8.4 oder neuer werden zwingend vorausgesetzt. Ein Betrieb
194   mit älteren Versionen ist nicht mehr möglich.
195
196 * Neue Perl-Modul-Abhängigkeiten:
197
198   * File::Copy::Recursive
199   * Rose::DB::Object muss v0.788 oder neuer sein (aufgrund eines Bugs
200     in besagtem Modul im Zusammenspiel mit PostgreSQL)
201
202   Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:
203
204   $ scripts/installation_check.pl -ro
205
206 * Die Datenbank muss zwingend Unicode als Encoding nutzen. Daher wird
207   auch die Konfigurationsvariable "system.dbcharset" nicht mehr
208   unterstützt.
209
210 * Einführung von Mandanten. Früher war die Konfiguration der
211   Datenbanken für jeden Benutzer getrennt vorzunehmen. Mit diesem
212   Release wurden Mandanten eingeführt: ein Mandant bekommt einen Namen
213   sowie die Datenbankkonfiguration, und Benutzer bekommen
214   Zugriffsrechte auf einen oder mehrere Mandanten.
215
216   Um dieses Update durchzuführen, müssen Sie sich einmal im
217   Administrationsbereich anmelden. Vorher ist kein Login im
218   Benutzerbereich möglich.
219
220   Die neue Struktur bedingt, dass viele Scripte, die bisher zur
221   Konfiguration nur einen Benutzer verlangt haben, jetzt auch einen
222   Mandanten verlangen. Die Konfiguration dieser Scripte ist deshalb
223   manuell anzupassen. Dazu gehören:
224
225   - der Task-Server (config/kivitendo.conf)
226   - CSV-Import von der Shell aus (scripts/csv-import-from-shell.sh)
227
228   Die folgenden Scripte sind ebenfalls betroffen, allerdings nur für
229   Entwickler interessant:
230
231   - scripts/dbupgrade2_tool.pl
232   - scripts/rose_auto_create_model.pl
233
234 * Neue Benutzerrechte
235
236   Diese müssen bei vorhandenen Gruppen eventuell nachgepflegt werden. Z.B. bei
237   der Gruppe Vollzugriff
238
239   - Stammdaten -> Kunden und Lieferanten erfassen. Alle Lieferanten bearbeiten.
240     Alle Kunden bearbeiten
241   - Konfiguration -> Verändern der kivitendo-Installationseinstellungen (die
242     meisten Menüpunkte unterhalb von 'System')
243
244 * Die alten ungepflegten Druckvorlagenvarianten French und Service
245   wurden entfernt.
246
247 * Die HTML-Druckvorlagen der Berichte (GuV, Bilanz, SuSa, BWA, UStVA) werden
248   jetzt alle zentral in den Webvorlagen verwaltet, es werden keine
249   benutzerangepasste Versionen der Druckvorlagen im Druckvorlagenverzeichnis
250   mehr unterstützt.
251
252 Upgrade auf v3.0.0
253 ==================
254
255 * Neue Abhängigkeiten
256
257   * Clone 1.16
258   * Email::MIME
259   * FCGI jetzt min Version 0.72
260   * Test::Harness 3.00
261   * IO::Socket::SSL
262   * Net::LDAP
263   * Net::SMTP::SSL
264   * Net::SSLGlue
265
266   Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:
267
268   $ scripts/installation_check.pl -ro
269
270 * Neue Entwicklerabhängigkeiten
271
272   * Test::Deep
273   * GD 2.00
274
275 * Diverse umstrittene Features zum nicht standardkonformen Umgang mit gebuchten
276   Rechnungen sind jetzt standardmässig deaktiviert und müssen unter "System" ->
277   "Mandantenkonfiguration" aktiviert werden.
278
279 * Die Übersetzungen "de_DE" und "fr" für die alternative deutsche Version und
280   französische Version respektive wurden entfernt. Es bleiben offiziell
281   unterstützte Übersetzungen in Deutsch ("de") und English ("en").
282
283 * Dieses ist die letzte Version, die Perl-Versionen vor 5.10.1
284   unterstützen wird.  Ab dem nächsten Release werden Sprachkonstrukte
285   verwendet werden, die nicht mehr in 5.8 kompilieren, und Module, die
286   seit v5.10.1 zu den Coremodulen gehören, werden ab dann nicht mehr
287   als explizite Abhängigkeiten gelistet.
288
289
290 Upgrade auf v2.7.0
291 ==================
292
293 * In der Version 2.7.0 wird das XUL Menü entfernt. Alle Benutzer die das XUL
294   Menü noch eingestellt haben, werden beim ersten Einloggen auf ein
295   Kompatibilitätsmenü gesetzt. Das Javascriptmenü wurde entsprechend erweitert
296   um der Funktionalität nahe zu kommen.
297
298 * Das Lizenzenfeature wurde ersatzlos entfernt.
299
300 * In den LaTeX Vorlagen gilt der Befehl "pagebreak" und die dazugehörigen
301   "sumcarriedforward" und "lastpage" als deprecated und werden in einer
302   kommenden Version komplett entfernt. Die Mechanik ist anfällig gegenüber
303   subtilen Formatierungsfehlern bei bestimmten Zahlenformaten und ist
304   grundsätzlich fehlerhaft in den gemachten Annahmen über den verfügbaren Platz
305   auf einer Seite. Die Standardvorlagen sind entsprechend angepasst worden
306   und müssen in der Administration neu angelegt werden.
307
308 * Das Druckvorlagensystem wurde umgestellt, dadurch ist der Name "print" für
309   Druckvorlagen jetzt reserviert. Wenn eine Ihrer Vorlagensätze "print" heisst,
310   benennen Sie ihn um bevor Sie das Update starten.
311
312 * Die Druckvorlagen für USTVA vor 2012 wurden entfernt und das Ausdrucken von
313   USTVA als PDF ist deprecated. Da die Eingabe von Erklärungen als PDF nicht
314   mehr gestattet ist, sollten Archivkopien der USTVA direkt bei Elster bezogen
315   werden, oder auf anderem Wege erstellt werden. Der Prozess dazu wird sich in
316   einer kommenden Version ändern.
317
318 * Die Namen der von LaTeX generierten PDF-Dateien sind jetzt in der
319   eingestellten Dokumentensprache, nicht mehr in der Oberflächensprache des
320   Bearbeiters.
321
322 * Neue Abhängigkeiten
323
324   * JSON
325   * String::ShellQuote
326   * Digest::SHA (optional, empfohlen)
327
328   Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:
329
330   $ scripts/installation_check.pl -ro
331
332 * CSV-Import wurde neu in Perl implementiert
333
334   Der PHP-Code wurde entfernt. Automatische Skripte, die per Aufruf von
335   lxo-import/partsB.php?cron=1 die Datei parts.csv importiert haben,
336   funktionieren nicht mehr.  Stattdessen kann scripts/csv-import-from-shell.sh
337   benutzt werden. Im Unterschied zur PHP-Version werden unbekannte Warengruppen
338   nicht mehr automatisch angelegt, stattdessen bricht das Skript ab.
339
340 * Rechteverwaltung
341
342   * Das Recht "Kunden und Lieferanten bearbeiten" wurde aufgespalten in zwei
343     einzelne Rechte. Ein Updatescript passt bestehende Gruppenaentsprechend an.
344   * Das Recht "Preise nd Rabatte bearbeiten" wurde neu eingeführt und ist
345     notwendig um in Belegen Preise ändern zu können. Es wird beim Upgrade
346     automatisch allen Benutzern erteilt.
347   * Das Recht "Administration" wurde neu eingeführt, und ist dazu da
348     administrative Tätigkeiten an der Mandantendatenbank aus einm Benutzerlogin
349     heraus durchzuführen. Es ist standardmäßig NICHT vergeben.
350   * Der Vorlageneditor wurde unter das Recht Administration gestellt, war
351     vorher Konfiguration.
352
353
354 Upgrade auf v2.6.3
355 ==================
356
357 1. Mit Version 2.6.3. wurden die beiden Konfigurationsdateien
358 authentication.pl und lx-erp.conf, sowie deren Varianten,
359 abgeschafft. Stattdessen gibt es nun die Datei lx_office.conf, die
360 aber erst neu angelegt werden muß. Als Vorlage dient hierfür die Datei
361 lx_office.conf.default. Die entsprechenden Werte muß man selber neu
362 konfigurieren, dies ist automatisiert zu fehleranfällig.
363
364 Nach dem Upgrade kann man sich so lange nicht anmelden, bis lx_office.conf
365 angelegt und authentication.pl und lx-erp.conf gelöscht oder verschoben wurden.
366
367 Es gibt keine local-Variante der lx_office.conf, arbeitet man mit git sollte
368 man lx_office.conf nicht einchecken.
369
370 Eine etwas ausführlichere Beschreibung findet sich in Kapitel 2.3
371 "Lx-Office-Konfigurationsdatei" in doc/Lx-Office-Dokumentation.pdf
372
373 2. Eine neu hinzugekommene Komponente ist der Task-Server. Hierbei
374 handelt es sich um einen Dämonen, der im Hintergrund läuft, in
375 regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und diese
376 zu festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser
377 Dämon wird bisher nur für die Erzeugung der wiederkehrenden Rechnungen
378 benutzt, wird aber in Zukunft deutlich mehr Aufgaben übertragen
379 bekommen. Die Einrichtung des Dämonen wird in der
380 Installationsdokumentation im Abschnitt "Der Task-Server" beschrieben.
381
382 3. Mit Version 2.6.3 sind einige Abhängigkeiten von Perl-Modulen
383 hinzugekommen. Bitte führen sie vor dem ersten Aufrufen der einmal
384 den folgenden Befehl im Lx-Office Verzeichnis aus:
385
386 $ scripts/installation_check.pl
387
388 Sollten Module als fehlend markiert sein, folgen Sie bitte den Anweisungen in
389 der Installationsanweisung.
390
391 Zumindest folgende Module sind neu benötigt:
392
393 * Config::Std
394 * Params::Validate
395
396 4. Sollten Sie die FCGI-Version einsetzen, das Apache-Modul
397 "mod_fcgid" (nicht "mod_fastcgi") benutzen und von diesem Modul die
398 Version v2.6.3 oder später installiert haben, so ist außerdem wichtig,
399 seinen Parameter "FcgidMaxRequestLen" deutlich zu erhöhen, weil sich
400 dieser im Release mod_fcgid-Release v2.6.3 deutlich geändert
401 hat. Details dazu finden sich in Kapitel 2.5.2 "Konfiguration für
402 FastCGI/FCGI" in doc/Lx-Office-Dokumentation.pdf
403
404
405 Upgrade auf v2.6.2
406 ==================
407
408  Vor dem Einloggen
409  -----------------
410
411 Mit Version 2.6.2 sind einige Abhängigkeiten von Perl-Modulen hinzugekommen.
412 Bitte führen sie vor dem ersten Aufrufen der einmal den folgenden Befehl im
413 Lx-Office Verzeichnis aus:
414
415 $ scripts/installation_check.pl
416
417 Sollten Module als fehlend markiert sein, folgen Sie bitte den Anweisungen in
418 der Installationsanweisung.
419
420 Zumindest folgende Module sind neu benötigt:
421
422 * Rose::Object, Rose::DB und Rose::DB::Object (die Installation von
423   Rose::DB::Object via CPAN oder den Paketmechanismus Ihrer
424   Distribution sollte für die automatische Installation der anderen
425   zwei Pakete sorgen)
426
427  Neue Gruppenrechte
428  ------------------
429
430 Es wurde ein neues Recht "Druck" eingeführt. Dieses bestimmt, ob die
431 Benutzerin das Menü "Druck" zu Gesicht bekommt oder nicht, unabhängig
432 davon, wie die Rechte für die einzelnen Unterpunkte gesetzt sind.
433
434 Für bereits bestehende Gruppen muss es sofern gewünscht vom
435 Administrator manuell gewährt werden.
436
437
438 Upgrade auf v2.6.1
439 ==================
440
441  Vor dem Einloggen
442  -----------------
443
444 Mit Version 2.6.1 wurden die Listen der benötigten Perl Module überarbeitet.
445 Einige der vorher in den Abhängigkeiten gelisteten Module waren Coremodules
446 (und damit in jeder Perldistribution vorhanden), oder ihrerseits Abhängigkeiten
447 anderer benötigter Module. Durch die Überarbeitung hat sich die Liste deutlich
448 geändert.
449
450 Bitte führen sie vor dem ersten Aufrufen der einmal den folgenden Befehl im
451 Lx-Office Verzeichnis aus:
452
453 $ scripts/installation_check.pl
454
455 Sollten Module als fehlend markiert sein, folgen Sie bitte den Anweisungen in
456 der Installationsanweisung.
457
458 Zumindest folgende Module sind neu benötigt:
459
460 * URI
461 * XML::Writer
462
463  Neue Konfigurationsvariablen
464  ----------------------------
465
466 In der config/lx-erp.conf ist als neue Option $show_best_before hinzugekommen.
467 Die Variable kontrolliert die Anzeige von Mindesthaltbarkeitsdaten. Sie ist
468 standardmäßig deaktiviert.