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