1 Wichtige Hinweise zum Upgrade von älteren Versionen
 
   2 ===================================================
 
   5 ** BITTE FERTIGEN SIE VOR DEM UPGRADE EIN BACKUP IHRER DATENBANK(EN) AN! **
 
  10 * Task-Server berücksichtigt Memory-Limit
 
  12 Falls für fgci-Prozesse ein Memory-Limit in der Konfigurationsdatei eingerichtet
 
  13 ist, wird dies nun auch vom Task-Server berücksichtigt. Dieser beendet sich bei
 
  14 Überschreitung des Limits. Deshalb muss dafür gesorgt werden, dass der
 
  15 Task-Server in diesem Fall neu gestartet wird (z.B. über den systemd-Service).
 
  16 Siehe auch aktuelle kivitendo-Dokumentation.
 
  21 * Fallback-Module entfernt
 
  23 Einige Default-Module die als Fallback zu Verfügung standen, werden ab
 
  24 dieser Version nicht mehr mit ausgeliefert.
 
  25 Bitte vor dem Anmelden an der Weboberfläche 'scripts/installation_check.pl -v' ausführen
 
  26 und die entsprechenden Module installieren.
 
  27 S.a. weitere Details in der aktuellen kivitendo-Dokumentation.
 
  32 * Neue Perlabhängigkeiten
 
  34 * LWP::Authen::Digest für WebshopApi
 
  35 * LWP::UserAgent für WebshopApi
 
  37 * Zwingende Postgres Erweiterung pg_trgm(Trigram)
 
  39   Die Trigramerweiterung bietet eine Ähnlichkeitsuche.
 
  40   Diese verwendet das Shopmodul, wenn installiert, beim Bestellimport
 
  41   um zu entscheiden ob ein Kunde neu angelegt oder als Vorschlag angezeigt wird.
 
  42   Die Erweiterung wird bisher nur beim Ableich der Straße genutzt, da hier oft
 
  43   unterschiedliche Schreibweisen vorhanden sind.
 
  44   z.B Dorfstraße, Dorfstrasse, Dorfstr., Dorf Straße usw..
 
  45   So wird vermieden, dass Kunden eventuell doppelt angelegt werden.
 
  47   * Zunächst muss geprüft werden, ob die Erweiterung prinzipiell für postgres
 
  48   vorhanden ist, dafür kann folgendes Select-Statement in template1 genutzt werden:
 
  50   # select * from pg_available_extensions where name ='pg_trgm';
 
  52   Sollte bei diesem Statement kein Ergebnis kommen, so muss die entsprechende
 
  53   Erweiterung für die eigene Distribution nachinstalliert werden.
 
  54   Bei debian/ubuntu befindet sich diese im Paket postgresql-contrib
 
  57   $ apt install postgresql-contrib
 
  61   * Diese Erweiterung wird mit dem SQL-Updatescript sql/Pg-upgrade2/trigram_extension.sql
 
  62   und Datenbank-Super-Benutzer Rechten automatisch installiert.
 
  63   Dazu braucht der DatenbankSuperbenutzer "postgres" ein Passwort
 
  71   Passwort und Benutzername können jetzt beim Anlegen einer neuen Datenbank bzw.
 
  72   bei Updatescripten, die SuperUserRechte benötigen eingegeben werden.
 
  75   * Änderungen DATEV-Export Format CSV
 
  77   Die Felder Belegfeld2 und Buchungsbeschreibung werden nicht mehr befüllt.
 
  78   Im KNE-Export war im Belegfeld2 die Fälligkeit der Buchung gesetzt und in
 
  79   Buchungsbeschreibung der Kunden- oder Lieferantenname.
 
  80   Bei nicht valider Umsatz-Steuer-Identnummer wird der Export abgelehnt.
 
  81   Da das Feld ein Freitext-Feld und keine Validierung bei der Eingabe hat(te)
 
  82   unternimmt kivitendo keine eigene Normalisierung,  bzw. Konvertierung
 
  85   Eine Bereinigung der Ust-IDs muss der kivitendo-Admin eigenverantwortlich unternehmen.
 
  86   Hier exemplarisch ein SQL-Schnipsel zum Ersetzen der Leerzeichen in diesem Feld:
 
  87   UPDATE customer SET ustid=REPLACE(ustid, ' ', '') WHERE ustid LIKE '% %';
 
  90   ===========================
 
  92   * Neue Perl Abhängigkeiten:
 
  94   * File::MimeInfo - für den Dateiupload
 
  96   * Thread::Pool::Simple
 
  98   * Neue externe Abhängigkeiten:
 
 102   * In der Rechte-Tabelle auth.master_rights wurden alle Positionswerte mit 100
 
 103   multipliziert, um Lücken für neue Rechte zu schaffen.
 
 105   * In der Tabelle "customer" wurde die Spalte "klass" nach "pricegroup_id"
 
 106   migriert. Bei Kunden ohne Preisgruppe ist der Datenbankwert jetzt NULL statt
 
 107   "0". Falls Kunden per CSV-Import importiert werden muß dieses Feld in der
 
 108   CSV-Datei ebenfalls umbenannt werden.
 
 110   * Für das neue Feature Lieferantenbriefe ist die Standardvorlage für Briefe
 
 111   (letter.tex) angepasst worden. Statt letter.customer muss der Adressat jetzt
 
 112   aus letter.custoemr_vendor erzeugt werden.
 
 114   * In der Tabelle parts wurde die Boolean-Spalte "assembly" entfernt. Zur
 
 115   Erkennung von Waren/Dienstleistungen/Erzeugnissen gibt es nun in parts eine
 
 116   neue Spalte part_type vom ENUM-Typ, der auf die Werte 'part', 'service',
 
 117   'assembly' und 'assortment' beschränkt ist.
 
 119   * In der Tabelle parts wurde die Spalten inventory_accno_id, expense_accno_id
 
 120   und income_accno_id entfernt. Deren Funktionalität wurde schon lange durch
 
 121   Buchungsgruppen ersetzt und für die Erkennung des Artikeltyps gibt es nun die
 
 127   * Neue Druckvariante Gelangensbestätigung für Verkaufs-Aufträge
 
 129   Im Standard-Vorlagensatz RB befindet sich als Vorlage die ic_supply.tex
 
 130   als Orientierung für die Anpassung an eigene Vorlagen. Eigene Vorlagen
 
 131   müssen entsprechend um diesen Typ für die 3.4.1 erweitert werden.
 
 133   * Druckvorlagen für Briefe
 
 135   Die Erzeugung der Druckausgabe für die Brieffunktion wurde auf die
 
 136   Verwendung des Template Toolkits umgestellt. Dazu muss die verwendete
 
 137   Druckvorlage "letter.tex" angepasst werden. Im Standard-Vorlagensatz RB ist
 
 138   das bereits geschehen. Falls keine manuellen Änderungen an der "letter.tex"
 
 139   aus einer vorherigen Version gemacht wurden, reicht es, diese Datei
 
 140   ("templates/print/RB/letter.tex") in das verwendete Vorlagenverzeichnis zu
 
 141   kopieren. Ansonsten kann diese Datei als Beispiel dienen.
 
 147   * Neue Perl-Modul-Abhängigkeiten:
 
 149   * Algorithm::CheckDigits
 
 152   Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:
 
 154   $ scripts/installation_check.pl -ro
 
 156   * Der in der Dokumentation beschriebene Mechanismus für die CGI-Anbindung
 
 157   (2.6.1 Grundkonfiguration mittels CGI) wurde geändert. Ein einfacher Alias
 
 158   auf das Programmverzeichnis funktioniert nicht mehr, und es muss immer ein
 
 159   AliasMatch auf einen dispatcher eingerichtet werden. Die Dokumentation wurde
 
 160   aktualisiert. Für Benutzer der empfohlenen FastCGI Anbindung ändert sich
 
 163   * Der Task-Server ist nun mandantenfähig. Für jeden Mandanten, für den
 
 164   der Task-Server laufen soll, muss in der Administrationsoberfläche
 
 165   in der Konfiguration des Mandanten hinterlegt werden, welchen
 
 166   kivitendo-Benutzer der Task-Server nutzen soll. Ist bei einem
 
 167   Mandanten kein Benutzer hinterlegt, so ignoriert der Task-Server
 
 170   Im Gegenzug wurden die beiden Konfigurations-Einstellungen »client«
 
 171   und »login« aus dem Abschnitt [task_server] entfernt. Der
 
 172   Task-Server prüft beim Starten allerdings, ob diese Einstellungen
 
 173   noch existieren und verweigert den Start mit einer hilfreichen
 
 174   Fehlermeldung, solange sie noch vorhanden sind.
 
 176   * Die Unterstützung unsicherer Passwort-Hashing-Mechanism wurde
 
 177   entfernt. Für BenutzerInnen, die noch alte Mechanismen verwenden,
 
 178   müssen die Passwörter einmalig in der Administrationsoberfläche
 
 179   zurückgesetzt werden.
 
 181   Dies betrifft nur Accounts, deren Passwort sich das letzte Mal vor
 
 182   kivitendo 2.7.0 geändert hat.
 
 187   * Bei Upgrade von Versionen vor v.3.2.x wie immer erst die dortigen
 
 188   Upgradehinweise beachten.
 
 190   * Es gibt keine neuen Perl-Modul-Abhängigkeiten.
 
 192   * Die alte ungepflegte Druckvorlagenvariante "Standard" wurde entfernt.
 
 193   Bereits verwendete Druckvorlagen, die darauf aufbauen, funktionieren
 
 196   * Für die Verwendung des MT940 Import Features der Bankerweiterung muß
 
 197   aqbanking installiert werden. Dies wird nur für die Konvertierung vom MT940
 
 198   ins CSV Format benötigt, das Kommandozeilentool "aqbanking-cli" befindet sich
 
 199   z.B. unter Ubuntu im Paket aqbanking-tools.
 
 204   * Neue Perl-Modul-Abhängigkeiten:
 
 211   Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:
 
 213   $ scripts/installation_check.pl -ro
 
 215   Sofern das Upgrade von einer früheren Version als 3.1.0 geschieht auch die
 
 216   Upgradehinweise der Vorversionen beachten.
 
 218   * Druckvorlagen auf shipto-Verwendung prüfen
 
 220   Hier hat sich das Standardverhalten geändert und ggf. werden shipto* nicht mehr
 
 221   ausgedruckt, hier müssten die Druckvorlagen individuell angepasst werden, s.a.
 
 222   Changelog -> Verkaufsbeleg-Ausdruck.
 
 228   * BEVOR ein Aufruf im Administrationsbereich erfolgt, muss zwingend der
 
 229   webdav Ordner im Installationspfad vorhanden sein!
 
 231 -  Rechte für webserver setzen ($ chmod www-data webdav/)
 
 232   Dieses "Feature" war in vorhergehenden Versionen optional, wird aber
 
 233   für das Upgrade auf Mandantenfähigkeit vorausgesetzt.
 
 235   * Neue Softwarevoraussetzungen: Perl v5.10.1 oder neuer sowie
 
 236   PostgreSQL 8.4 oder neuer werden zwingend vorausgesetzt. Ein Betrieb
 
 237   mit älteren Versionen ist nicht mehr möglich.
 
 239   * Neue Perl-Modul-Abhängigkeiten:
 
 241   * File::Copy::Recursive
 
 242   * Rose::DB::Object muss v0.788 oder neuer sein (aufgrund eines Bugs
 
 243       in besagtem Modul im Zusammenspiel mit PostgreSQL)
 
 245   Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:
 
 247   $ scripts/installation_check.pl -ro
 
 249   * Die Datenbank muss zwingend Unicode als Encoding nutzen. Daher wird
 
 250   auch die Konfigurationsvariable "system.dbcharset" nicht mehr
 
 253   * Einführung von Mandanten. Früher war die Konfiguration der
 
 254   Datenbanken für jeden Benutzer getrennt vorzunehmen. Mit diesem
 
 255   Release wurden Mandanten eingeführt: ein Mandant bekommt einen Namen
 
 256   sowie die Datenbankkonfiguration, und Benutzer bekommen
 
 257   Zugriffsrechte auf einen oder mehrere Mandanten.
 
 259   Um dieses Update durchzuführen, müssen Sie sich einmal im
 
 260   Administrationsbereich anmelden. Vorher ist kein Login im
 
 261   Benutzerbereich möglich.
 
 263   Die neue Struktur bedingt, dass viele Scripte, die bisher zur
 
 264   Konfiguration nur einen Benutzer verlangt haben, jetzt auch einen
 
 265   Mandanten verlangen. Die Konfiguration dieser Scripte ist deshalb
 
 266   manuell anzupassen. Dazu gehören:
 
 268   - der Task-Server (config/kivitendo.conf)
 
 269 - CSV-Import von der Shell aus (scripts/csv-import-from-shell.sh)
 
 271   Die folgenden Scripte sind ebenfalls betroffen, allerdings nur für
 
 272   Entwickler interessant:
 
 274   - scripts/dbupgrade2_tool.pl
 
 275   - scripts/rose_auto_create_model.pl
 
 277   * Neue Benutzerrechte
 
 279   Diese müssen bei vorhandenen Gruppen eventuell nachgepflegt werden. Z.B. bei
 
 280   der Gruppe Vollzugriff
 
 282   - Stammdaten -> Kunden und Lieferanten erfassen. Alle Lieferanten bearbeiten.
 
 283   Alle Kunden bearbeiten
 
 284   - Konfiguration -> Verändern der kivitendo-Installationseinstellungen (die
 
 285       meisten Menüpunkte unterhalb von 'System')
 
 287   * Die alten ungepflegten Druckvorlagenvarianten French und Service
 
 290   * Die HTML-Druckvorlagen der Berichte (GuV, Bilanz, SuSa, BWA, UStVA) werden
 
 291   jetzt alle zentral in den Webvorlagen verwaltet, es werden keine
 
 292   benutzerangepasste Versionen der Druckvorlagen im Druckvorlagenverzeichnis
 
 298   * Neue Abhängigkeiten
 
 302   * FCGI jetzt min Version 0.72
 
 309   Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:
 
 311   $ scripts/installation_check.pl -ro
 
 313   * Neue Entwicklerabhängigkeiten
 
 318   * Diverse umstrittene Features zum nicht standardkonformen Umgang mit gebuchten
 
 319   Rechnungen sind jetzt standardmässig deaktiviert und müssen unter "System" ->
 
 320   "Mandantenkonfiguration" aktiviert werden.
 
 322   * Die Übersetzungen "de_DE" und "fr" für die alternative deutsche Version und
 
 323   französische Version respektive wurden entfernt. Es bleiben offiziell
 
 324   unterstützte Übersetzungen in Deutsch ("de") und English ("en").
 
 326   * Dieses ist die letzte Version, die Perl-Versionen vor 5.10.1
 
 327   unterstützen wird.  Ab dem nächsten Release werden Sprachkonstrukte
 
 328   verwendet werden, die nicht mehr in 5.8 kompilieren, und Module, die
 
 329   seit v5.10.1 zu den Coremodulen gehören, werden ab dann nicht mehr
 
 330   als explizite Abhängigkeiten gelistet.
 
 336   * In der Version 2.7.0 wird das XUL Menü entfernt. Alle Benutzer die das XUL
 
 337   Menü noch eingestellt haben, werden beim ersten Einloggen auf ein
 
 338   Kompatibilitätsmenü gesetzt. Das Javascriptmenü wurde entsprechend erweitert
 
 339   um der Funktionalität nahe zu kommen.
 
 341   * Das Lizenzenfeature wurde ersatzlos entfernt.
 
 343   * In den LaTeX Vorlagen gilt der Befehl "pagebreak" und die dazugehörigen
 
 344   "sumcarriedforward" und "lastpage" als deprecated und werden in einer
 
 345   kommenden Version komplett entfernt. Die Mechanik ist anfällig gegenüber
 
 346   subtilen Formatierungsfehlern bei bestimmten Zahlenformaten und ist
 
 347   grundsätzlich fehlerhaft in den gemachten Annahmen über den verfügbaren Platz
 
 348   auf einer Seite. Die Standardvorlagen sind entsprechend angepasst worden
 
 349   und müssen in der Administration neu angelegt werden.
 
 351   * Das Druckvorlagensystem wurde umgestellt, dadurch ist der Name "print" für
 
 352   Druckvorlagen jetzt reserviert. Wenn eine Ihrer Vorlagensätze "print" heisst,
 
 353   benennen Sie ihn um bevor Sie das Update starten.
 
 355   * Die Druckvorlagen für USTVA vor 2012 wurden entfernt und das Ausdrucken von
 
 356   USTVA als PDF ist deprecated. Da die Eingabe von Erklärungen als PDF nicht
 
 357   mehr gestattet ist, sollten Archivkopien der USTVA direkt bei Elster bezogen
 
 358   werden, oder auf anderem Wege erstellt werden. Der Prozess dazu wird sich in
 
 359   einer kommenden Version ändern.
 
 361   * Die Namen der von LaTeX generierten PDF-Dateien sind jetzt in der
 
 362   eingestellten Dokumentensprache, nicht mehr in der Oberflächensprache des
 
 365   * Neue Abhängigkeiten
 
 369 * Digest::SHA (optional, empfohlen)
 
 371   Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:
 
 373   $ scripts/installation_check.pl -ro
 
 375   * CSV-Import wurde neu in Perl implementiert
 
 377   Der PHP-Code wurde entfernt. Automatische Skripte, die per Aufruf von
 
 378   lxo-import/partsB.php?cron=1 die Datei parts.csv importiert haben,
 
 379   funktionieren nicht mehr.  Stattdessen kann scripts/csv-import-from-shell.sh
 
 380   benutzt werden. Im Unterschied zur PHP-Version werden unbekannte Warengruppen
 
 381   nicht mehr automatisch angelegt, stattdessen bricht das Skript ab.
 
 385   * Das Recht "Kunden und Lieferanten bearbeiten" wurde aufgespalten in zwei
 
 386   einzelne Rechte. Ein Updatescript passt bestehende Gruppenaentsprechend an.
 
 387   * Das Recht "Preise nd Rabatte bearbeiten" wurde neu eingeführt und ist
 
 388   notwendig um in Belegen Preise ändern zu können. Es wird beim Upgrade
 
 389   automatisch allen Benutzern erteilt.
 
 390   * Das Recht "Administration" wurde neu eingeführt, und ist dazu da
 
 391   administrative Tätigkeiten an der Mandantendatenbank aus einm Benutzerlogin
 
 392   heraus durchzuführen. Es ist standardmäßig NICHT vergeben.
 
 393   * Der Vorlageneditor wurde unter das Recht Administration gestellt, war
 
 394   vorher Konfiguration.
 
 400   1. Mit Version 2.6.3. wurden die beiden Konfigurationsdateien
 
 401   authentication.pl und lx-erp.conf, sowie deren Varianten,
 
 402   abgeschafft. Stattdessen gibt es nun die Datei lx_office.conf, die
 
 403   aber erst neu angelegt werden muß. Als Vorlage dient hierfür die Datei
 
 404   lx_office.conf.default. Die entsprechenden Werte muß man selber neu
 
 405   konfigurieren, dies ist automatisiert zu fehleranfällig.
 
 407   Nach dem Upgrade kann man sich so lange nicht anmelden, bis lx_office.conf
 
 408   angelegt und authentication.pl und lx-erp.conf gelöscht oder verschoben wurden.
 
 410   Es gibt keine local-Variante der lx_office.conf, arbeitet man mit git sollte
 
 411   man lx_office.conf nicht einchecken.
 
 413   Eine etwas ausführlichere Beschreibung findet sich in Kapitel 2.3
 
 414   "Lx-Office-Konfigurationsdatei" in doc/Lx-Office-Dokumentation.pdf
 
 416   2. Eine neu hinzugekommene Komponente ist der Task-Server. Hierbei
 
 417   handelt es sich um einen Dämonen, der im Hintergrund läuft, in
 
 418   regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und diese
 
 419   zu festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser
 
 420   Dämon wird bisher nur für die Erzeugung der wiederkehrenden Rechnungen
 
 421   benutzt, wird aber in Zukunft deutlich mehr Aufgaben übertragen
 
 422   bekommen. Die Einrichtung des Dämonen wird in der
 
 423   Installationsdokumentation im Abschnitt "Der Task-Server" beschrieben.
 
 425   3. Mit Version 2.6.3 sind einige Abhängigkeiten von Perl-Modulen
 
 426   hinzugekommen. Bitte führen sie vor dem ersten Aufrufen der einmal
 
 427   den folgenden Befehl im Lx-Office Verzeichnis aus:
 
 429   $ scripts/installation_check.pl
 
 431   Sollten Module als fehlend markiert sein, folgen Sie bitte den Anweisungen in
 
 432   der Installationsanweisung.
 
 434   Zumindest folgende Module sind neu benötigt:
 
 439   4. Sollten Sie die FCGI-Version einsetzen, das Apache-Modul
 
 440   "mod_fcgid" (nicht "mod_fastcgi") benutzen und von diesem Modul die
 
 441   Version v2.6.3 oder später installiert haben, so ist außerdem wichtig,
 
 442   seinen Parameter "FcgidMaxRequestLen" deutlich zu erhöhen, weil sich
 
 443   dieser im Release mod_fcgid-Release v2.6.3 deutlich geändert
 
 444   hat. Details dazu finden sich in Kapitel 2.5.2 "Konfiguration für
 
 445   FastCGI/FCGI" in doc/Lx-Office-Dokumentation.pdf
 
 454   Mit Version 2.6.2 sind einige Abhängigkeiten von Perl-Modulen hinzugekommen.
 
 455   Bitte führen sie vor dem ersten Aufrufen der einmal den folgenden Befehl im
 
 456   Lx-Office Verzeichnis aus:
 
 458   $ scripts/installation_check.pl
 
 460   Sollten Module als fehlend markiert sein, folgen Sie bitte den Anweisungen in
 
 461   der Installationsanweisung.
 
 463   Zumindest folgende Module sind neu benötigt:
 
 465   * Rose::Object, Rose::DB und Rose::DB::Object (die Installation von
 
 466       Rose::DB::Object via CPAN oder den Paketmechanismus Ihrer
 
 467       Distribution sollte für die automatische Installation der anderen
 
 473   Es wurde ein neues Recht "Druck" eingeführt. Dieses bestimmt, ob die
 
 474   Benutzerin das Menü "Druck" zu Gesicht bekommt oder nicht, unabhängig
 
 475   davon, wie die Rechte für die einzelnen Unterpunkte gesetzt sind.
 
 477   Für bereits bestehende Gruppen muss es sofern gewünscht vom
 
 478   Administrator manuell gewährt werden.
 
 487   Mit Version 2.6.1 wurden die Listen der benötigten Perl Module überarbeitet.
 
 488   Einige der vorher in den Abhängigkeiten gelisteten Module waren Coremodules
 
 489   (und damit in jeder Perldistribution vorhanden), oder ihrerseits Abhängigkeiten
 
 490   anderer benötigter Module. Durch die Überarbeitung hat sich die Liste deutlich
 
 493   Bitte führen sie vor dem ersten Aufrufen der einmal den folgenden Befehl im
 
 494   Lx-Office Verzeichnis aus:
 
 496   $ scripts/installation_check.pl
 
 498   Sollten Module als fehlend markiert sein, folgen Sie bitte den Anweisungen in
 
 499   der Installationsanweisung.
 
 501   Zumindest folgende Module sind neu benötigt:
 
 506   Neue Konfigurationsvariablen
 
 507   ----------------------------
 
 509   In der config/lx-erp.conf ist als neue Option $show_best_before hinzugekommen.
 
 510   Die Variable kontrolliert die Anzeige von Mindesthaltbarkeitsdaten. Sie ist
 
 511 standardmäßig deaktiviert.