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