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