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