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