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