1 Wichtige Hinweise zum Upgrade von älteren Versionen
2 ===================================================
5 ** BITTE FERTIGEN SIE VOR DEM UPGRADE EIN BACKUP IHRER DATENBANK(EN) AN! **
9 In dieser Version sind die Mehrwertsteueranpassungen für den SKR03 und SKR04
10 ab 1.7.2020 vorhanden. Wer diese Anpassungen schon manuell eingestellt hat, sollte
11 die Upgrade-Skripte deaktivieren.
12 Dies betrifft diese drei Skripte "sql/Pg-upgrade2/konjunkturpaket_2020*"
14 Folgender sed-Einzeiler erledigt das:
16 sed -i 's/ignore: 0/ignore: 1/g' sql/Pg-upgrade2/konjunkturpaket_2020*
18 Alternativ sollten die Datenbank-Upgrade-Skripte gegen einen Testdatenbestand ausgeführt werden
19 und der kivitendo-Dienstleister Ihres Vertrauens griffbereit sein.
23 Für den MT940-Import erwartet kivitendo aqbanking ab Version 6.
25 Für die Erzeugung von ZUGFeRD 2.0 fähigen PDFs wird ein aktuelles TexLive ab Version 2018 benötigt.
26 Details hierzu auch in der Dokumentation (HTML oder Dokumentation.pdf).
28 Bitte wie immer vor dem Anmelden an der Weboberfläche 'scripts/installation_check.pl -v' ausführen.
30 Es sollten mindestens zwei Perl-Module "CAM::PDF" und "XML::LibXML" dort erscheinen, falls noch nicht installiert.
32 Diese Version ist ferner mit Postgres Datenbanken ab Version 12 kompatibel, da die Abhängigkeit von oids entfernt wurde.
36 Für git-Installation sollte geprüft werden ob das Verzeichnis .git/ für den Webserver auslesbar ist.
37 Gleiches gilt für alle Installation für den Ordner config/, der die Datei kivitendo.conf beinhaltet.
38 Die Standard-Konfiguration des Apache2 Webservers sollte letzteres verhindern, aber wir weisen darauf hin
39 dies einmal zu überprüfen.
41 Ab dieser Version wird eine globale .htaccess ausgeliefert die beide Verzeichnisse mittels rewrite sichert.
42 Dafür muss einmalig das Modul rewrite für den Apache, bspw. mit "a2enmode rewrite" aktiviert werden.
45 <IfModule mod_rewrite.c>
47 RewriteRule .*(\.git|config).*$ - [F,NC]
54 * Task-Server berücksichtigt Memory-Limit
56 Falls für fgci-Prozesse ein Memory-Limit in der Konfigurationsdatei eingerichtet
57 ist, wird dies nun auch vom Task-Server berücksichtigt. Dieser beendet sich bei
58 Überschreitung des Limits. Deshalb muss dafür gesorgt werden, dass der
59 Task-Server in diesem Fall neu gestartet wird (z.B. über den systemd-Service).
60 Siehe auch aktuelle kivitendo-Dokumentation.
65 * Fallback-Module entfernt
67 Einige Default-Module die als Fallback zu Verfügung standen, werden ab
68 dieser Version nicht mehr mit ausgeliefert.
69 Bitte vor dem Anmelden an der Weboberfläche 'scripts/installation_check.pl -v' ausführen
70 und die entsprechenden Module installieren.
71 S.a. weitere Details in der aktuellen kivitendo-Dokumentation.
76 * Neue Perlabhängigkeiten
78 * LWP::Authen::Digest für WebshopApi
79 * LWP::UserAgent für WebshopApi
81 * Zwingende Postgres Erweiterung pg_trgm(Trigram)
83 Die Trigramerweiterung bietet eine Ähnlichkeitsuche.
84 Diese verwendet das Shopmodul, wenn installiert, beim Bestellimport
85 um zu entscheiden ob ein Kunde neu angelegt oder als Vorschlag angezeigt wird.
86 Die Erweiterung wird bisher nur beim Ableich der Straße genutzt, da hier oft
87 unterschiedliche Schreibweisen vorhanden sind.
88 z.B Dorfstraße, Dorfstrasse, Dorfstr., Dorf Straße usw..
89 So wird vermieden, dass Kunden eventuell doppelt angelegt werden.
91 * Zunächst muss geprüft werden, ob die Erweiterung prinzipiell für postgres
92 vorhanden ist, dafür kann folgendes Select-Statement in template1 genutzt werden:
94 # select * from pg_available_extensions where name ='pg_trgm';
96 Sollte bei diesem Statement kein Ergebnis kommen, so muss die entsprechende
97 Erweiterung für die eigene Distribution nachinstalliert werden.
98 Bei debian/ubuntu befindet sich diese im Paket postgresql-contrib
101 $ apt install postgresql-contrib
105 * Diese Erweiterung wird mit dem SQL-Updatescript sql/Pg-upgrade2/trigram_extension.sql
106 und Datenbank-Super-Benutzer Rechten automatisch installiert.
107 Dazu braucht der DatenbankSuperbenutzer "postgres" ein Passwort
115 Passwort und Benutzername können jetzt beim Anlegen einer neuen Datenbank bzw.
116 bei Updatescripten, die SuperUserRechte benötigen eingegeben werden.
119 * Änderungen DATEV-Export Format CSV
121 Die Felder Belegfeld2 und Buchungsbeschreibung werden nicht mehr befüllt.
122 Im KNE-Export war im Belegfeld2 die Fälligkeit der Buchung gesetzt und in
123 Buchungsbeschreibung der Kunden- oder Lieferantenname.
124 Bei nicht valider Umsatz-Steuer-Identnummer wird der Export abgelehnt.
125 Da das Feld ein Freitext-Feld und keine Validierung bei der Eingabe hat(te)
126 unternimmt kivitendo keine eigene Normalisierung, bzw. Konvertierung
129 Eine Bereinigung der Ust-IDs muss der kivitendo-Admin eigenverantwortlich unternehmen.
130 Hier exemplarisch ein SQL-Schnipsel zum Ersetzen der Leerzeichen in diesem Feld:
131 UPDATE customer SET ustid=REPLACE(ustid, ' ', '') WHERE ustid LIKE '% %';
134 ===========================
136 * Neue Perl Abhängigkeiten:
138 * File::MimeInfo - für den Dateiupload
140 * Thread::Pool::Simple
142 * Neue externe Abhängigkeiten:
146 * In der Rechte-Tabelle auth.master_rights wurden alle Positionswerte mit 100
147 multipliziert, um Lücken für neue Rechte zu schaffen.
149 * In der Tabelle "customer" wurde die Spalte "klass" nach "pricegroup_id"
150 migriert. Bei Kunden ohne Preisgruppe ist der Datenbankwert jetzt NULL statt
151 "0". Falls Kunden per CSV-Import importiert werden muß dieses Feld in der
152 CSV-Datei ebenfalls umbenannt werden.
154 * Für das neue Feature Lieferantenbriefe ist die Standardvorlage für Briefe
155 (letter.tex) angepasst worden. Statt letter.customer muss der Adressat jetzt
156 aus letter.custoemr_vendor erzeugt werden.
158 * In der Tabelle parts wurde die Boolean-Spalte "assembly" entfernt. Zur
159 Erkennung von Waren/Dienstleistungen/Erzeugnissen gibt es nun in parts eine
160 neue Spalte part_type vom ENUM-Typ, der auf die Werte 'part', 'service',
161 'assembly' und 'assortment' beschränkt ist.
163 * In der Tabelle parts wurde die Spalten inventory_accno_id, expense_accno_id
164 und income_accno_id entfernt. Deren Funktionalität wurde schon lange durch
165 Buchungsgruppen ersetzt und für die Erkennung des Artikeltyps gibt es nun die
171 * Neue Druckvariante Gelangensbestätigung für Verkaufs-Aufträge
173 Im Standard-Vorlagensatz RB befindet sich als Vorlage die ic_supply.tex
174 als Orientierung für die Anpassung an eigene Vorlagen. Eigene Vorlagen
175 müssen entsprechend um diesen Typ für die 3.4.1 erweitert werden.
177 * Druckvorlagen für Briefe
179 Die Erzeugung der Druckausgabe für die Brieffunktion wurde auf die
180 Verwendung des Template Toolkits umgestellt. Dazu muss die verwendete
181 Druckvorlage "letter.tex" angepasst werden. Im Standard-Vorlagensatz RB ist
182 das bereits geschehen. Falls keine manuellen Änderungen an der "letter.tex"
183 aus einer vorherigen Version gemacht wurden, reicht es, diese Datei
184 ("templates/print/RB/letter.tex") in das verwendete Vorlagenverzeichnis zu
185 kopieren. Ansonsten kann diese Datei als Beispiel dienen.
191 * Neue Perl-Modul-Abhängigkeiten:
193 * Algorithm::CheckDigits
196 Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:
198 $ scripts/installation_check.pl -ro
200 * Der in der Dokumentation beschriebene Mechanismus für die CGI-Anbindung
201 (2.6.1 Grundkonfiguration mittels CGI) wurde geändert. Ein einfacher Alias
202 auf das Programmverzeichnis funktioniert nicht mehr, und es muss immer ein
203 AliasMatch auf einen dispatcher eingerichtet werden. Die Dokumentation wurde
204 aktualisiert. Für Benutzer der empfohlenen FastCGI Anbindung ändert sich
207 * Der Task-Server ist nun mandantenfähig. Für jeden Mandanten, für den
208 der Task-Server laufen soll, muss in der Administrationsoberfläche
209 in der Konfiguration des Mandanten hinterlegt werden, welchen
210 kivitendo-Benutzer der Task-Server nutzen soll. Ist bei einem
211 Mandanten kein Benutzer hinterlegt, so ignoriert der Task-Server
214 Im Gegenzug wurden die beiden Konfigurations-Einstellungen »client«
215 und »login« aus dem Abschnitt [task_server] entfernt. Der
216 Task-Server prüft beim Starten allerdings, ob diese Einstellungen
217 noch existieren und verweigert den Start mit einer hilfreichen
218 Fehlermeldung, solange sie noch vorhanden sind.
220 * Die Unterstützung unsicherer Passwort-Hashing-Mechanism wurde
221 entfernt. Für BenutzerInnen, die noch alte Mechanismen verwenden,
222 müssen die Passwörter einmalig in der Administrationsoberfläche
223 zurückgesetzt werden.
225 Dies betrifft nur Accounts, deren Passwort sich das letzte Mal vor
226 kivitendo 2.7.0 geändert hat.
231 * Bei Upgrade von Versionen vor v.3.2.x wie immer erst die dortigen
232 Upgradehinweise beachten.
234 * Es gibt keine neuen Perl-Modul-Abhängigkeiten.
236 * Die alte ungepflegte Druckvorlagenvariante "Standard" wurde entfernt.
237 Bereits verwendete Druckvorlagen, die darauf aufbauen, funktionieren
240 * Für die Verwendung des MT940 Import Features der Bankerweiterung muß
241 aqbanking installiert werden. Dies wird nur für die Konvertierung vom MT940
242 ins CSV Format benötigt, das Kommandozeilentool "aqbanking-cli" befindet sich
243 z.B. unter Ubuntu im Paket aqbanking-tools.
248 * Neue Perl-Modul-Abhängigkeiten:
255 Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:
257 $ scripts/installation_check.pl -ro
259 Sofern das Upgrade von einer früheren Version als 3.1.0 geschieht auch die
260 Upgradehinweise der Vorversionen beachten.
262 * Druckvorlagen auf shipto-Verwendung prüfen
264 Hier hat sich das Standardverhalten geändert und ggf. werden shipto* nicht mehr
265 ausgedruckt, hier müssten die Druckvorlagen individuell angepasst werden, s.a.
266 Changelog -> Verkaufsbeleg-Ausdruck.
272 * BEVOR ein Aufruf im Administrationsbereich erfolgt, muss zwingend der
273 webdav Ordner im Installationspfad vorhanden sein!
275 - Rechte für webserver setzen ($ chmod www-data webdav/)
276 Dieses "Feature" war in vorhergehenden Versionen optional, wird aber
277 für das Upgrade auf Mandantenfähigkeit vorausgesetzt.
279 * Neue Softwarevoraussetzungen: Perl v5.10.1 oder neuer sowie
280 PostgreSQL 8.4 oder neuer werden zwingend vorausgesetzt. Ein Betrieb
281 mit älteren Versionen ist nicht mehr möglich.
283 * Neue Perl-Modul-Abhängigkeiten:
285 * File::Copy::Recursive
286 * Rose::DB::Object muss v0.788 oder neuer sein (aufgrund eines Bugs
287 in besagtem Modul im Zusammenspiel mit PostgreSQL)
289 Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:
291 $ scripts/installation_check.pl -ro
293 * Die Datenbank muss zwingend Unicode als Encoding nutzen. Daher wird
294 auch die Konfigurationsvariable "system.dbcharset" nicht mehr
297 * Einführung von Mandanten. Früher war die Konfiguration der
298 Datenbanken für jeden Benutzer getrennt vorzunehmen. Mit diesem
299 Release wurden Mandanten eingeführt: ein Mandant bekommt einen Namen
300 sowie die Datenbankkonfiguration, und Benutzer bekommen
301 Zugriffsrechte auf einen oder mehrere Mandanten.
303 Um dieses Update durchzuführen, müssen Sie sich einmal im
304 Administrationsbereich anmelden. Vorher ist kein Login im
305 Benutzerbereich möglich.
307 Die neue Struktur bedingt, dass viele Scripte, die bisher zur
308 Konfiguration nur einen Benutzer verlangt haben, jetzt auch einen
309 Mandanten verlangen. Die Konfiguration dieser Scripte ist deshalb
310 manuell anzupassen. Dazu gehören:
312 - der Task-Server (config/kivitendo.conf)
313 - CSV-Import von der Shell aus (scripts/csv-import-from-shell.sh)
315 Die folgenden Scripte sind ebenfalls betroffen, allerdings nur für
316 Entwickler interessant:
318 - scripts/dbupgrade2_tool.pl
319 - scripts/rose_auto_create_model.pl
321 * Neue Benutzerrechte
323 Diese müssen bei vorhandenen Gruppen eventuell nachgepflegt werden. Z.B. bei
324 der Gruppe Vollzugriff
326 - Stammdaten -> Kunden und Lieferanten erfassen. Alle Lieferanten bearbeiten.
327 Alle Kunden bearbeiten
328 - Konfiguration -> Verändern der kivitendo-Installationseinstellungen (die
329 meisten Menüpunkte unterhalb von 'System')
331 * Die alten ungepflegten Druckvorlagenvarianten French und Service
334 * Die HTML-Druckvorlagen der Berichte (GuV, Bilanz, SuSa, BWA, UStVA) werden
335 jetzt alle zentral in den Webvorlagen verwaltet, es werden keine
336 benutzerangepasste Versionen der Druckvorlagen im Druckvorlagenverzeichnis
342 * Neue Abhängigkeiten
346 * FCGI jetzt min Version 0.72
353 Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:
355 $ scripts/installation_check.pl -ro
357 * Neue Entwicklerabhängigkeiten
362 * Diverse umstrittene Features zum nicht standardkonformen Umgang mit gebuchten
363 Rechnungen sind jetzt standardmässig deaktiviert und müssen unter "System" ->
364 "Mandantenkonfiguration" aktiviert werden.
366 * Die Übersetzungen "de_DE" und "fr" für die alternative deutsche Version und
367 französische Version respektive wurden entfernt. Es bleiben offiziell
368 unterstützte Übersetzungen in Deutsch ("de") und English ("en").
370 * Dieses ist die letzte Version, die Perl-Versionen vor 5.10.1
371 unterstützen wird. Ab dem nächsten Release werden Sprachkonstrukte
372 verwendet werden, die nicht mehr in 5.8 kompilieren, und Module, die
373 seit v5.10.1 zu den Coremodulen gehören, werden ab dann nicht mehr
374 als explizite Abhängigkeiten gelistet.
380 * In der Version 2.7.0 wird das XUL Menü entfernt. Alle Benutzer die das XUL
381 Menü noch eingestellt haben, werden beim ersten Einloggen auf ein
382 Kompatibilitätsmenü gesetzt. Das Javascriptmenü wurde entsprechend erweitert
383 um der Funktionalität nahe zu kommen.
385 * Das Lizenzenfeature wurde ersatzlos entfernt.
387 * In den LaTeX Vorlagen gilt der Befehl "pagebreak" und die dazugehörigen
388 "sumcarriedforward" und "lastpage" als deprecated und werden in einer
389 kommenden Version komplett entfernt. Die Mechanik ist anfällig gegenüber
390 subtilen Formatierungsfehlern bei bestimmten Zahlenformaten und ist
391 grundsätzlich fehlerhaft in den gemachten Annahmen über den verfügbaren Platz
392 auf einer Seite. Die Standardvorlagen sind entsprechend angepasst worden
393 und müssen in der Administration neu angelegt werden.
395 * Das Druckvorlagensystem wurde umgestellt, dadurch ist der Name "print" für
396 Druckvorlagen jetzt reserviert. Wenn eine Ihrer Vorlagensätze "print" heisst,
397 benennen Sie ihn um bevor Sie das Update starten.
399 * Die Druckvorlagen für USTVA vor 2012 wurden entfernt und das Ausdrucken von
400 USTVA als PDF ist deprecated. Da die Eingabe von Erklärungen als PDF nicht
401 mehr gestattet ist, sollten Archivkopien der USTVA direkt bei Elster bezogen
402 werden, oder auf anderem Wege erstellt werden. Der Prozess dazu wird sich in
403 einer kommenden Version ändern.
405 * Die Namen der von LaTeX generierten PDF-Dateien sind jetzt in der
406 eingestellten Dokumentensprache, nicht mehr in der Oberflächensprache des
409 * Neue Abhängigkeiten
413 * Digest::SHA (optional, empfohlen)
415 Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:
417 $ scripts/installation_check.pl -ro
419 * CSV-Import wurde neu in Perl implementiert
421 Der PHP-Code wurde entfernt. Automatische Skripte, die per Aufruf von
422 lxo-import/partsB.php?cron=1 die Datei parts.csv importiert haben,
423 funktionieren nicht mehr. Stattdessen kann scripts/csv-import-from-shell.sh
424 benutzt werden. Im Unterschied zur PHP-Version werden unbekannte Warengruppen
425 nicht mehr automatisch angelegt, stattdessen bricht das Skript ab.
429 * Das Recht "Kunden und Lieferanten bearbeiten" wurde aufgespalten in zwei
430 einzelne Rechte. Ein Updatescript passt bestehende Gruppenaentsprechend an.
431 * Das Recht "Preise nd Rabatte bearbeiten" wurde neu eingeführt und ist
432 notwendig um in Belegen Preise ändern zu können. Es wird beim Upgrade
433 automatisch allen Benutzern erteilt.
434 * Das Recht "Administration" wurde neu eingeführt, und ist dazu da
435 administrative Tätigkeiten an der Mandantendatenbank aus einm Benutzerlogin
436 heraus durchzuführen. Es ist standardmäßig NICHT vergeben.
437 * Der Vorlageneditor wurde unter das Recht Administration gestellt, war
438 vorher Konfiguration.
444 1. Mit Version 2.6.3. wurden die beiden Konfigurationsdateien
445 authentication.pl und lx-erp.conf, sowie deren Varianten,
446 abgeschafft. Stattdessen gibt es nun die Datei lx_office.conf, die
447 aber erst neu angelegt werden muß. Als Vorlage dient hierfür die Datei
448 lx_office.conf.default. Die entsprechenden Werte muß man selber neu
449 konfigurieren, dies ist automatisiert zu fehleranfällig.
451 Nach dem Upgrade kann man sich so lange nicht anmelden, bis lx_office.conf
452 angelegt und authentication.pl und lx-erp.conf gelöscht oder verschoben wurden.
454 Es gibt keine local-Variante der lx_office.conf, arbeitet man mit git sollte
455 man lx_office.conf nicht einchecken.
457 Eine etwas ausführlichere Beschreibung findet sich in Kapitel 2.3
458 "Lx-Office-Konfigurationsdatei" in doc/Lx-Office-Dokumentation.pdf
460 2. Eine neu hinzugekommene Komponente ist der Task-Server. Hierbei
461 handelt es sich um einen Dämonen, der im Hintergrund läuft, in
462 regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und diese
463 zu festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser
464 Dämon wird bisher nur für die Erzeugung der wiederkehrenden Rechnungen
465 benutzt, wird aber in Zukunft deutlich mehr Aufgaben übertragen
466 bekommen. Die Einrichtung des Dämonen wird in der
467 Installationsdokumentation im Abschnitt "Der Task-Server" beschrieben.
469 3. Mit Version 2.6.3 sind einige Abhängigkeiten von Perl-Modulen
470 hinzugekommen. Bitte führen sie vor dem ersten Aufrufen der einmal
471 den folgenden Befehl im Lx-Office Verzeichnis aus:
473 $ scripts/installation_check.pl
475 Sollten Module als fehlend markiert sein, folgen Sie bitte den Anweisungen in
476 der Installationsanweisung.
478 Zumindest folgende Module sind neu benötigt:
483 4. Sollten Sie die FCGI-Version einsetzen, das Apache-Modul
484 "mod_fcgid" (nicht "mod_fastcgi") benutzen und von diesem Modul die
485 Version v2.6.3 oder später installiert haben, so ist außerdem wichtig,
486 seinen Parameter "FcgidMaxRequestLen" deutlich zu erhöhen, weil sich
487 dieser im Release mod_fcgid-Release v2.6.3 deutlich geändert
488 hat. Details dazu finden sich in Kapitel 2.5.2 "Konfiguration für
489 FastCGI/FCGI" in doc/Lx-Office-Dokumentation.pdf
498 Mit Version 2.6.2 sind einige Abhängigkeiten von Perl-Modulen hinzugekommen.
499 Bitte führen sie vor dem ersten Aufrufen der einmal den folgenden Befehl im
500 Lx-Office Verzeichnis aus:
502 $ scripts/installation_check.pl
504 Sollten Module als fehlend markiert sein, folgen Sie bitte den Anweisungen in
505 der Installationsanweisung.
507 Zumindest folgende Module sind neu benötigt:
509 * Rose::Object, Rose::DB und Rose::DB::Object (die Installation von
510 Rose::DB::Object via CPAN oder den Paketmechanismus Ihrer
511 Distribution sollte für die automatische Installation der anderen
517 Es wurde ein neues Recht "Druck" eingeführt. Dieses bestimmt, ob die
518 Benutzerin das Menü "Druck" zu Gesicht bekommt oder nicht, unabhängig
519 davon, wie die Rechte für die einzelnen Unterpunkte gesetzt sind.
521 Für bereits bestehende Gruppen muss es sofern gewünscht vom
522 Administrator manuell gewährt werden.
531 Mit Version 2.6.1 wurden die Listen der benötigten Perl Module überarbeitet.
532 Einige der vorher in den Abhängigkeiten gelisteten Module waren Coremodules
533 (und damit in jeder Perldistribution vorhanden), oder ihrerseits Abhängigkeiten
534 anderer benötigter Module. Durch die Überarbeitung hat sich die Liste deutlich
537 Bitte führen sie vor dem ersten Aufrufen der einmal den folgenden Befehl im
538 Lx-Office Verzeichnis aus:
540 $ scripts/installation_check.pl
542 Sollten Module als fehlend markiert sein, folgen Sie bitte den Anweisungen in
543 der Installationsanweisung.
545 Zumindest folgende Module sind neu benötigt:
550 Neue Konfigurationsvariablen
551 ----------------------------
553 In der config/lx-erp.conf ist als neue Option $show_best_before hinzugekommen.
554 Die Variable kontrolliert die Anzeige von Mindesthaltbarkeitsdaten. Sie ist
555 standardmäßig deaktiviert.