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