Part: columns assembly und (inventory|expense|income)_accno_id entfernt
[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
122   Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:
123
124   $ scripts/installation_check.pl -ro
125
126   Sofern das Upgrade von einer früheren Version als 3.1.0 geschieht auch die
127   Upgradehinweise der Vorversionen beachten.
128
129 * Druckvorlagen auf shipto-Verwendung prüfen
130
131   Hier hat sich das Standardverhalten geändert und ggf. werden shipto* nicht mehr
132   ausgedruckt, hier müssten die Druckvorlagen individuell angepasst werden, s.a.
133   Changelog -> Verkaufsbeleg-Ausdruck.
134
135 Upgrade auf v3.1.0
136 ==================
137
138
139 * BEVOR ein Aufruf im Administrationsbereich erfolgt, muss zwingend der
140   webdav Ordner im Installationspfad vorhanden sein!
141    -  mkdir webdav/
142    -  Rechte für webserver setzen ($ chmod www-data webdav/)
143   Dieses "Feature" war in vorhergehenden Versionen optional, wird aber
144   für das Upgrade auf Mandantenfähigkeit vorausgesetzt.
145
146 * Neue Softwarevoraussetzungen: Perl v5.10.1 oder neuer sowie
147   PostgreSQL 8.4 oder neuer werden zwingend vorausgesetzt. Ein Betrieb
148   mit älteren Versionen ist nicht mehr möglich.
149
150 * Neue Perl-Modul-Abhängigkeiten:
151
152   * File::Copy::Recursive
153   * Rose::DB::Object muss v0.788 oder neuer sein (aufgrund eines Bugs
154     in besagtem Modul im Zusammenspiel mit PostgreSQL)
155
156   Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:
157
158   $ scripts/installation_check.pl -ro
159
160 * Die Datenbank muss zwingend Unicode als Encoding nutzen. Daher wird
161   auch die Konfigurationsvariable "system.dbcharset" nicht mehr
162   unterstützt.
163
164 * Einführung von Mandanten. Früher war die Konfiguration der
165   Datenbanken für jeden Benutzer getrennt vorzunehmen. Mit diesem
166   Release wurden Mandanten eingeführt: ein Mandant bekommt einen Namen
167   sowie die Datenbankkonfiguration, und Benutzer bekommen
168   Zugriffsrechte auf einen oder mehrere Mandanten.
169
170   Um dieses Update durchzuführen, müssen Sie sich einmal im
171   Administrationsbereich anmelden. Vorher ist kein Login im
172   Benutzerbereich möglich.
173
174   Die neue Struktur bedingt, dass viele Scripte, die bisher zur
175   Konfiguration nur einen Benutzer verlangt haben, jetzt auch einen
176   Mandanten verlangen. Die Konfiguration dieser Scripte ist deshalb
177   manuell anzupassen. Dazu gehören:
178
179   - der Task-Server (config/kivitendo.conf)
180   - CSV-Import von der Shell aus (scripts/csv-import-from-shell.sh)
181
182   Die folgenden Scripte sind ebenfalls betroffen, allerdings nur für
183   Entwickler interessant:
184
185   - scripts/dbupgrade2_tool.pl
186   - scripts/rose_auto_create_model.pl
187
188 * Neue Benutzerrechte
189
190   Diese müssen bei vorhandenen Gruppen eventuell nachgepflegt werden. Z.B. bei
191   der Gruppe Vollzugriff
192
193   - Stammdaten -> Kunden und Lieferanten erfassen. Alle Lieferanten bearbeiten.
194     Alle Kunden bearbeiten
195   - Konfiguration -> Verändern der kivitendo-Installationseinstellungen (die
196     meisten Menüpunkte unterhalb von 'System')
197
198 * Die alten ungepflegten Druckvorlagenvarianten French und Service
199   wurden entfernt.
200
201 * Die HTML-Druckvorlagen der Berichte (GuV, Bilanz, SuSa, BWA, UStVA) werden
202   jetzt alle zentral in den Webvorlagen verwaltet, es werden keine
203   benutzerangepasste Versionen der Druckvorlagen im Druckvorlagenverzeichnis
204   mehr unterstützt.
205
206 Upgrade auf v3.0.0
207 ==================
208
209 * Neue Abhängigkeiten
210
211   * Clone 1.16
212   * Email::MIME
213   * FCGI jetzt min Version 0.72
214   * Test::Harness 3.00
215   * IO::Socket::SSL
216   * Net::LDAP
217   * Net::SMTP::SSL
218   * Net::SSLGlue
219
220   Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:
221
222   $ scripts/installation_check.pl -ro
223
224 * Neue Entwicklerabhängigkeiten
225
226   * Test::Deep
227   * GD 2.00
228
229 * Diverse umstrittene Features zum nicht standardkonformen Umgang mit gebuchten
230   Rechnungen sind jetzt standardmässig deaktiviert und müssen unter "System" ->
231   "Mandantenkonfiguration" aktiviert werden.
232
233 * Die Übersetzungen "de_DE" und "fr" für die alternative deutsche Version und
234   französische Version respektive wurden entfernt. Es bleiben offiziell
235   unterstützte Übersetzungen in Deutsch ("de") und English ("en").
236
237 * Dieses ist die letzte Version, die Perl-Versionen vor 5.10.1
238   unterstützen wird.  Ab dem nächsten Release werden Sprachkonstrukte
239   verwendet werden, die nicht mehr in 5.8 kompilieren, und Module, die
240   seit v5.10.1 zu den Coremodulen gehören, werden ab dann nicht mehr
241   als explizite Abhängigkeiten gelistet.
242
243
244 Upgrade auf v2.7.0
245 ==================
246
247 * In der Version 2.7.0 wird das XUL Menü entfernt. Alle Benutzer die das XUL
248   Menü noch eingestellt haben, werden beim ersten Einloggen auf ein
249   Kompatibilitätsmenü gesetzt. Das Javascriptmenü wurde entsprechend erweitert
250   um der Funktionalität nahe zu kommen.
251
252 * Das Lizenzenfeature wurde ersatzlos entfernt.
253
254 * In den LaTeX Vorlagen gilt der Befehl "pagebreak" und die dazugehörigen
255   "sumcarriedforward" und "lastpage" als deprecated und werden in einer
256   kommenden Version komplett entfernt. Die Mechanik ist anfällig gegenüber
257   subtilen Formatierungsfehlern bei bestimmten Zahlenformaten und ist
258   grundsätzlich fehlerhaft in den gemachten Annahmen über den verfügbaren Platz
259   auf einer Seite. Die Standardvorlagen sind entsprechend angepasst worden
260   und müssen in der Administration neu angelegt werden.
261
262 * Das Druckvorlagensystem wurde umgestellt, dadurch ist der Name "print" für
263   Druckvorlagen jetzt reserviert. Wenn eine Ihrer Vorlagensätze "print" heisst,
264   benennen Sie ihn um bevor Sie das Update starten.
265
266 * Die Druckvorlagen für USTVA vor 2012 wurden entfernt und das Ausdrucken von
267   USTVA als PDF ist deprecated. Da die Eingabe von Erklärungen als PDF nicht
268   mehr gestattet ist, sollten Archivkopien der USTVA direkt bei Elster bezogen
269   werden, oder auf anderem Wege erstellt werden. Der Prozess dazu wird sich in
270   einer kommenden Version ändern.
271
272 * Die Namen der von LaTeX generierten PDF-Dateien sind jetzt in der
273   eingestellten Dokumentensprache, nicht mehr in der Oberflächensprache des
274   Bearbeiters.
275
276 * Neue Abhängigkeiten
277
278   * JSON
279   * String::ShellQuote
280   * Digest::SHA (optional, empfohlen)
281
282   Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:
283
284   $ scripts/installation_check.pl -ro
285
286 * CSV-Import wurde neu in Perl implementiert
287
288   Der PHP-Code wurde entfernt. Automatische Skripte, die per Aufruf von
289   lxo-import/partsB.php?cron=1 die Datei parts.csv importiert haben,
290   funktionieren nicht mehr.  Stattdessen kann scripts/csv-import-from-shell.sh
291   benutzt werden. Im Unterschied zur PHP-Version werden unbekannte Warengruppen
292   nicht mehr automatisch angelegt, stattdessen bricht das Skript ab.
293
294 * Rechteverwaltung
295
296   * Das Recht "Kunden und Lieferanten bearbeiten" wurde aufgespalten in zwei
297     einzelne Rechte. Ein Updatescript passt bestehende Gruppenaentsprechend an.
298   * Das Recht "Preise nd Rabatte bearbeiten" wurde neu eingeführt und ist
299     notwendig um in Belegen Preise ändern zu können. Es wird beim Upgrade
300     automatisch allen Benutzern erteilt.
301   * Das Recht "Administration" wurde neu eingeführt, und ist dazu da
302     administrative Tätigkeiten an der Mandantendatenbank aus einm Benutzerlogin
303     heraus durchzuführen. Es ist standardmäßig NICHT vergeben.
304   * Der Vorlageneditor wurde unter das Recht Administration gestellt, war
305     vorher Konfiguration.
306
307
308 Upgrade auf v2.6.3
309 ==================
310
311 1. Mit Version 2.6.3. wurden die beiden Konfigurationsdateien
312 authentication.pl und lx-erp.conf, sowie deren Varianten,
313 abgeschafft. Stattdessen gibt es nun die Datei lx_office.conf, die
314 aber erst neu angelegt werden muß. Als Vorlage dient hierfür die Datei
315 lx_office.conf.default. Die entsprechenden Werte muß man selber neu
316 konfigurieren, dies ist automatisiert zu fehleranfällig.
317
318 Nach dem Upgrade kann man sich so lange nicht anmelden, bis lx_office.conf
319 angelegt und authentication.pl und lx-erp.conf gelöscht oder verschoben wurden.
320
321 Es gibt keine local-Variante der lx_office.conf, arbeitet man mit git sollte
322 man lx_office.conf nicht einchecken.
323
324 Eine etwas ausführlichere Beschreibung findet sich in Kapitel 2.3
325 "Lx-Office-Konfigurationsdatei" in doc/Lx-Office-Dokumentation.pdf
326
327 2. Eine neu hinzugekommene Komponente ist der Task-Server. Hierbei
328 handelt es sich um einen Dämonen, der im Hintergrund läuft, in
329 regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und diese
330 zu festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser
331 Dämon wird bisher nur für die Erzeugung der wiederkehrenden Rechnungen
332 benutzt, wird aber in Zukunft deutlich mehr Aufgaben übertragen
333 bekommen. Die Einrichtung des Dämonen wird in der
334 Installationsdokumentation im Abschnitt "Der Task-Server" beschrieben.
335
336 3. Mit Version 2.6.3 sind einige Abhängigkeiten von Perl-Modulen
337 hinzugekommen. Bitte führen sie vor dem ersten Aufrufen der einmal
338 den folgenden Befehl im 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 * Config::Std
348 * Params::Validate
349
350 4. Sollten Sie die FCGI-Version einsetzen, das Apache-Modul
351 "mod_fcgid" (nicht "mod_fastcgi") benutzen und von diesem Modul die
352 Version v2.6.3 oder später installiert haben, so ist außerdem wichtig,
353 seinen Parameter "FcgidMaxRequestLen" deutlich zu erhöhen, weil sich
354 dieser im Release mod_fcgid-Release v2.6.3 deutlich geändert
355 hat. Details dazu finden sich in Kapitel 2.5.2 "Konfiguration für
356 FastCGI/FCGI" in doc/Lx-Office-Dokumentation.pdf
357
358
359 Upgrade auf v2.6.2
360 ==================
361
362  Vor dem Einloggen
363  -----------------
364
365 Mit Version 2.6.2 sind einige Abhängigkeiten von Perl-Modulen hinzugekommen.
366 Bitte führen sie vor dem ersten Aufrufen der einmal den folgenden Befehl im
367 Lx-Office Verzeichnis aus:
368
369 $ scripts/installation_check.pl
370
371 Sollten Module als fehlend markiert sein, folgen Sie bitte den Anweisungen in
372 der Installationsanweisung.
373
374 Zumindest folgende Module sind neu benötigt:
375
376 * Rose::Object, Rose::DB und Rose::DB::Object (die Installation von
377   Rose::DB::Object via CPAN oder den Paketmechanismus Ihrer
378   Distribution sollte für die automatische Installation der anderen
379   zwei Pakete sorgen)
380
381  Neue Gruppenrechte
382  ------------------
383
384 Es wurde ein neues Recht "Druck" eingeführt. Dieses bestimmt, ob die
385 Benutzerin das Menü "Druck" zu Gesicht bekommt oder nicht, unabhängig
386 davon, wie die Rechte für die einzelnen Unterpunkte gesetzt sind.
387
388 Für bereits bestehende Gruppen muss es sofern gewünscht vom
389 Administrator manuell gewährt werden.
390
391
392 Upgrade auf v2.6.1
393 ==================
394
395  Vor dem Einloggen
396  -----------------
397
398 Mit Version 2.6.1 wurden die Listen der benötigten Perl Module überarbeitet.
399 Einige der vorher in den Abhängigkeiten gelisteten Module waren Coremodules
400 (und damit in jeder Perldistribution vorhanden), oder ihrerseits Abhängigkeiten
401 anderer benötigter Module. Durch die Überarbeitung hat sich die Liste deutlich
402 geändert.
403
404 Bitte führen sie vor dem ersten Aufrufen der einmal den folgenden Befehl im
405 Lx-Office Verzeichnis aus:
406
407 $ scripts/installation_check.pl
408
409 Sollten Module als fehlend markiert sein, folgen Sie bitte den Anweisungen in
410 der Installationsanweisung.
411
412 Zumindest folgende Module sind neu benötigt:
413
414 * URI
415 * XML::Writer
416
417  Neue Konfigurationsvariablen
418  ----------------------------
419
420 In der config/lx-erp.conf ist als neue Option $show_best_before hinzugekommen.
421 Die Variable kontrolliert die Anzeige von Mindesthaltbarkeitsdaten. Sie ist
422 standardmäßig deaktiviert.