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