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