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