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