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