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