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