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