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