Hinweise zum neuen CSV-Import in doc/UPDGRADE
[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 v2.7.0
8 ==================
9
10 1. Templateumstellungen
11
12 Das Druckvorlagensystem wurde umgestellt, dadurch ist der Name "print" für
13 Druckvorlagen jetzt reserviert. Wenn eine Ihrer Vorlagensätze "print" heisst,
14 benennen Sie ihn um bevor Sie das Update starten.
15
16 2. Neue Abhängigkeiten
17
18 Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:
19
20 $ scripts/installation_check.pl
21
22 Sollten Module als fehlend markiert sein, folgen Sie bitte den Anweisungen in
23 der Installationsanweisung.
24
25 Es sind zwei neue Abhängigkeiten dazugekommen.
26
27 * JSON
28 * String::ShellQuote
29
30 3. CSV-Import wurde neu in Perl implementiert
31
32 Der PHP-Code wurde entfernt. Automatische Skripte, die per Aufruf von
33 lxo-import/partsB.php?cron=1 die Datei parts.csv importiert haben,
34 funktionieren nicht mehr.  Stattdessen kann scripts/csv-import-from-shell.sh
35 benutzt werden. Im Unterschied zur PHP-Version werden unbekannte Warengruppen
36 nicht mehr automatisch angelegt, stattdessen bricht das Skript ab.
37
38
39 Upgrade auf v2.6.3
40 ==================
41
42 1. Mit Version 2.6.3. wurden die beiden Konfigurationsdateien
43 authentication.pl und lx-erp.conf, sowie deren Varianten,
44 abgeschafft. Stattdessen gibt es nun die Datei lx_office.conf, die
45 aber erst neu angelegt werden muß. Als Vorlage dient hierfür die Datei
46 lx_office.conf.default. Die entsprechenden Werte muß man selber neu
47 konfigurieren, dies ist automatisiert zu fehleranfällig.
48
49 Nach dem Upgrade kann man sich so lange nicht anmelden, bis lx_office.conf
50 angelegt und authentication.pl und lx-erp.conf gelöscht oder verschoben wurden.
51
52 Es gibt keine local-Variante der lx_office.conf, arbeitet man mit git sollte
53 man lx_office.conf nicht einchecken.
54
55 Eine etwas ausführlichere Beschreibung findet sich in der Datei:
56 doc/konfigurationsdatei.txt
57
58 2. Eine neu hinzugekommene Komponente ist der Task-Server. Hierbei
59 handelt es sich um einen Dämonen, der im Hintergrund läuft, in
60 regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und diese
61 zu festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser
62 Dämon wird bisher nur für die Erzeugung der wiederkehrenden Rechnungen
63 benutzt, wird aber in Zukunft deutlich mehr Aufgaben übertragen
64 bekommen. Die Einrichtung des Dämonen wird in der
65 Installationsdokumentation im Abschnitt "Der Task-Server" beschrieben.
66
67 3. Mit Version 2.6.3 sind einige Abhängigkeiten von Perl-Modulen
68 hinzugekommen. Bitte führen sie vor dem ersten Aufrufen der einmal
69 den folgenden Befehl im Lx-Office Verzeichnis aus:
70
71 $ scripts/installation_check.pl
72
73 Sollten Module als fehlend markiert sein, folgen Sie bitte den Anweisungen in
74 der Installationsanweisung.
75
76 Zumindest folgende Module sind neu benötigt:
77
78 * Config::Std
79 * Params::Validate
80
81 4. Sollten Sie die FCGI-Version einsetzen, das Apache-Modul
82 "mod_fcgid" (nicht "mod_fastcgi") benutzen und von diesem Modul die
83 Version v2.6.3 oder später installiert haben, so ist außerdem wichtig,
84 seinen Parameter "FcgidMaxRequestLen" deutlich zu erhöhen, weil sich
85 dieser im Release mod_fcgid-Release v2.6.3 deutlich geändert
86 hat. Details dazu finden sich in der Datei doc/INSTALL.fcgi.
87
88
89 Upgrade auf v2.6.2
90 ==================
91
92  Vor dem Einloggen
93  -----------------
94
95 Mit Version 2.6.2 sind einige Abhängigkeiten von Perl-Modulen hinzugekommen.
96 Bitte führen sie vor dem ersten Aufrufen der einmal den folgenden Befehl im
97 Lx-Office Verzeichnis aus:
98
99 $ scripts/installation_check.pl
100
101 Sollten Module als fehlend markiert sein, folgen Sie bitte den Anweisungen in
102 der Installationsanweisung.
103
104 Zumindest folgende Module sind neu benötigt:
105
106 * Rose::Object, Rose::DB und Rose::DB::Object (die Installation von
107   Rose::DB::Object via CPAN oder den Paketmechanismus Ihrer
108   Distribution sollte für die automatische Installation der anderen
109   zwei Pakete sorgen)
110
111  Neue Gruppenrechte
112  ------------------
113
114 Es wurde ein neues Recht "Druck" eingeführt. Dieses bestimmt, ob die
115 Benutzerin das Menü "Druck" zu Gesicht bekommt oder nicht, unabhängig
116 davon, wie die Rechte für die einzelnen Unterpunkte gesetzt sind.
117
118 Für bereits bestehende Gruppen muss es sofern gewünscht vom
119 Administrator manuell gewährt werden.
120
121
122 Upgrade auf v2.6.1
123 ==================
124
125  Vor dem Einloggen
126  -----------------
127
128 Mit Version 2.6.1 wurden die Listen der benötigten Perl Module überarbeitet.
129 Einige der vorher in den Abhängigkeiten gelisteten Module waren Coremodules
130 (und damit in jeder Perldistribution vorhanden), oder ihrerseits Abhängigkeiten
131 anderer benötigter Module. Durch die Überarbeitung hat sich die Liste deutlich
132 geändert.
133
134 Bitte führen sie vor dem ersten Aufrufen der einmal den folgenden Befehl im
135 Lx-Office Verzeichnis aus:
136
137 $ scripts/installation_check.pl
138
139 Sollten Module als fehlend markiert sein, folgen Sie bitte den Anweisungen in
140 der Installationsanweisung.
141
142 Zumindest folgende Module sind neu benötigt:
143
144 * URI
145 * XML::Writer
146
147  Neue Konfigurationsvariablen
148  ----------------------------
149
150 In der config/lx-erp.conf ist als neue Option $show_best_before hinzugekommen.
151 Die Variable kontrolliert die Anzeige von Mindesthaltbarkeitsdaten. Sie ist
152 standardmäßig deaktiviert.
153
154
155 Upgrade auf v2.6.0
156 ==================
157
158 Mit Version 2.6.0 wurde der Code zur Benutzerauthentifizierung neu
159 geschrieben. Die Umstellung erfordert eine manuelle
160 Konfiguration. Bestehende Benutzeraccounts können aber von Lx-Office
161 automatisch übernommen werden.
162
163  Bevor Sie sich das erste mal einloggen
164  --------------------------------------
165
166 Kopieren Sie bitte die Datei "lx-erp.conf" und
167 ggfs. "lx-erp-local.conf" in das neue Unterverzeichnis "config/". Die
168 alte Datei im Lx-Office-Stammverzeichnis kann daraufhin gelöscht
169 werdern.
170
171 Als nächstes muss die neue datenbankgestützte Benutzerverwaltung
172 konfiguriert werden. Die dafür notwendigen Einstellungen werden in der
173 Datei "config/authentification.pl" vorgenommen, für die eine
174 kommentierte Vorlage in "config/authentication.pl.default"
175 bereitliegt.
176
177 Weitere Informationen zu dieser Datei finden Sie in der Dokumentation
178 "doc/INSTALL/index.html" und dort in den Kapiteln
179 "Benutzerauthentifizierung und Administratorpasswort" sowie "Benutzer-
180 und Gruppenverwaltung".
181
182 Nach der Einrichtung der Datei "config/authentication.pl" muss im
183 Webbrowser das Administrationsinterface aufgerufen werden. Nach
184 erfolgter Anmeldung werden Sie durch den Upgradeprozess geleitet.
185
186 Die weiteren erforderlichen Datenbankupgrades werden erst vorgenommen,
187 wenn sich ein Benutzer erfolgreich anmeldet.
188
189  Neue Perl-Module
190  ----------------
191
192 Mit Version 2.6.0 werden zusätzlich die folgenden Perl-Module benötigt,
193 die bis Version 2.4.3 inklusive noch keine Voraussetzung waren:
194
195 * PDF::API2
196
197
198 Upgrade von v2.4.0 und neuer auf v2.4.3
199 =======================================
200
201 Ein Upgrade von v2.4.0 oder neuer auf v2.4.3 aus zwei Teilen: den
202 Dateien (einfaches Entpacken und Kopieren in das
203 Installationsverzeichnis genügen) sowie dem Datenbankupgrade.
204
205  Neue Variablen in der Datei lx-erp.conf
206  ---------------------------------------
207
208 Wenn Sie eine eigene Version der Konfigurationsdatei "lx-erp.conf"
209 einsetzen und diese nicht mit der Standardkonfigurationsdatei
210 überschreiben, so beachten Sie bitte, dass die folgenden neuen
211 Variablen hinzugekommen sind und von Ihnen manuell ergänzt werden
212 sollten: $html2ps_bin, $ghostscript_bin, $pg_dump_exe und
213 $pg_restore_exe. Die Variable '$jscalendar' kann hingegen entfernt
214 werden, da sie nicht mehr benötigt wird.
215
216 Die Standardwerte für diese Variablen finden Sie in der Datei
217 "lx-erp.conf.default".
218
219  Neue Abhängigkeiten von Perl-Modulen
220  ------------------------------------
221
222 Bitte beachten Sie auch die Liste der benötigten Perl-Module am Anfang
223 der Datei "doc/INSTALL". Seit Version 2.4.0 sind die folgenden Module
224 neu hinzugekommen:
225
226 - Achive::Zip
227 - Template
228 - Text::CSV_XS
229 - Text::Iconv
230 - Time::HiRes
231 - YAML
232
233 Nach Möglichkeit sollten auch die aktuellen Versionen der
234 Datenbankpakete "DBI" und "DBD::Pg" installiert werden.
235
236  Datenbankupgrade
237  ----------------
238
239 Das Datenbankupgrade wird automatisch gestartet, wenn sich der erste
240 Benutzer nach dem Upgrade der Dateien an Lx-Office anmeldet.
241
242 ** BITTE FERTIGEN SIE VOR DEM UPGRADE EIN BACKUP IHRER DATENBANK(EN) AN! **
243
244
245 Upgrade von v2.4.0 auf 2.4.1 sowie von 2.4.1 auf 2.4.2
246 ======================================================
247
248 Ein Upgrade von v2.4.0 auf v2.4.1 oder von v2.4.1 auf v2.4.2 besteht
249 aus zwei Teilen: den Dateien (einfaches Entpacken und Kopieren in das
250 Installationsverzeichnis genügen) sowie dem Datenbankupgrade.
251
252 Bitte beachten Sie auch die Liste der benötigten Perl-Module am Anfang
253 der Datei "doc/INSTALL". Besonders nach einem Upgrade auf 2.4.2 muss
254 sichergestellt werden, dass das Modul "YAML" installiert ist.
255
256 Das Datenbankupgrade wird automatisch gestartet, wenn sich der erste
257 Benutzer nach dem Upgrade der Dateien an Lx-Office anmeldet.
258
259 ** BITTE FERTIGEN SIE VOR DEM UPGRADE EIN BACKUP IHRER DATENBANK(EN) AN! **
260
261 Anders als beim Upgrade auf 2.4.0 handelt es bei den Datenbankupgrades
262 auf 2.4.1 und 2.4.2 nur um automatisch ablaufende Scripte, die keine
263 Benutzereingaben erfordern.
264
265
266 Upgrade von v2.2.0 bis 2.2.2 auf 2.4.0
267 ======================================
268
269 Ein direktes Upgrade von den unmodifizierten Versionen 2.2.0, 2.2.1
270 und 2.2.2 auf 2.4.0 ist möglich. Ein solches Upgrade besteht aus zwei
271 Teilen: den Dateien (einfaches Entpacken und Kopieren in das
272 Installationsverzeichnis genügen) sowie dem Datenbankupgrade.
273
274 Bitte beachten Sie auch die Liste der benötigten Perl-Module am Anfang
275 der Datei "doc/INSTALL".
276
277 Das Datenbankupgrade wird automatisch gestartet, wenn sich der erste
278 Benutzer nach dem Upgrade der Dateien an Lx-Office anmeldet.
279
280 ** BITTE FERTIGEN SIE VOR DEM UPGRADE EIN BACKUP IHRER DATENBANK(EN) AN! **
281
282 Das Datenbankupgrade enthält zwei interaktive Upgradepfade für neue
283 Features in Lx-Office 2.4.0: Einheiten sowie Buchungsgruppen.
284
285
286
287 Einführung von Einheiten
288 ------------------------
289
290 In Versionen von Lx-Office vor 2.4.0 konnte der Benutzer bei den
291 Stammdaten aber auch in den Einkaufs- und Verkaufsdialogen beliebige
292 Texte als "Einheit" angeben. Lx-Office 2.4.0 ändert dies nun. Der
293 Administrator kann unter "System -> Einheiten -> Maßeinheiten" die bei
294 Waren und Erzeugnissen verwendbaren und bei "System -> Einheiten ->
295 Dienstleistungseinheiten" die bei Dienstleistungen verwendbaren
296 Einheiten festlegen. Lx-Office 2.4.0 bringt bereits für beide Typen
297 einige Standardeinheiten mit.
298
299 Einheiten können wiederum auf anderen Einheiten basieren. So ist
300 z.B. "kg" als das 1000fache der Einheit "g" definiert. Der Benutzer
301 muss beim Anlegen von Artikeln in den Stammdaten eine Einheit aus
302 einer Drop-Down-Liste auswählen. In den Einkaufs- und Verkaufsmasken
303 werden dann dem Benutzer nur noch diejenigen Einheiten zur Auswahl
304 angeboten, die sich in die in den Stammdaten hinterlegte Einheit
305 umrechnen lassen. So würden z.B. für eine Ware, deren
306 Stammdateneinheit "kg" ist, nur die Einheiten "g", "kg", "t" zur
307 Auswahl aufgelistet, nicht aber "Stück" oder "Tag", "Stunde".
308
309 Das Datenbankupgrade muss nun alle im System verwendeten Einheiten in
310 den Stammdaten sowie in den Einkaufs- und Verkaufsdaten so anpassen,
311 dass dort nur noch Einheiten auftreten, die im System verwendet werden
312 können. Da dies nur eingeschränkt automatisch möglich ist, werden dem
313 Benutzer, der das Datenbankupgrade nach dem Login durchführt, einige
314 Masken angezeigt, in denen er neue Einheiten in der Datenbank anlegen
315 kann, und in denen er "alte" Einheiten durch "neue" Einheiten ersetzen
316 lassen kann.
317
318 Zuletzt muss er noch für all die Waren, für die früher gar keine
319 Einheit eingetragen wurde, eine Standardeinheit getrennt nach Waren /
320 Erzeugnissen und Dienstleistungen festlegen, die statt dessen
321 eingesetzt wird.
322
323
324 Einführung von Steuerzonen und Buchungsgruppen
325 ----------------------------------------------
326
327 In den Versionen von Lx-Office vor 2.4.0 wurden bei Artikeln und
328 Dienstleistungen jeweils ein Konto für Erlöse und ein Konto für den
329 Aufwand hinterlegt. Über diese Konten wurde dann auch definiert
330 welcher Steuersatz zu berechnen ist. Wollte man einen Artikel mal mit
331 und mal ohne Steuer verkaufen (Inland, Ausland), waren hierfür zwei
332 Artikel notwendig.
333
334 In der Version 2.4.0 können nun bei jedem Artikel für die
335 verschiedenen Fälle
336 - Inland
337 - EU mit UStId
338 - EU ohne UStId
339 - Außerhalb EU
340 verschiedene Erlös- und Aufwandskonten definiert werden. Dadurch
341 werden dann auch jeweils die richtigen Steuersätze berechnet.
342
343 Damit jetzt nicht bei jedem Artikel mehrere Konten definiert werden
344 müssen, werden alle Konten, die zu einer bestimmten Warengruppe
345 gehören, in einer Buchungsgruppe zusammengefasst. Diese
346 Buchungsgruppen werden zunächst unter "System" definiert und können
347 dann den Artikeln und Dienstleistungen zugewiesen werden.
348
349 Beim Datenbankupdate werden aus der Datenbank alle Kombinationen von
350 Erlös- und Aufwandskonten geholt, die bereits verwendet wurden. Für
351 diese Kombinationen müssen im Upgradeprozess Buchungsgruppen angelegt
352 werden, indem man den einzelnen Kombinationen einen Namen zuweist. Die
353 Konten für nicht Inland sind mit den Standardkonten vorbelegt, können
354 aber vor dem Speichern geändert werden.
355
356 Diese neu angelegten Buchungsgruppen werden automatisch den
357 vorhandenen Artikeln und Dienstleistungen zugewiesen.  Buchungsgruppen
358 können genau wie vorher die Kontenzuordnung nachträglich nicht mehr
359 geändert werden.
360
361 Möchte man in der Buchhaltung eine neue Kombination von Erlös- und
362 Aufwandskonten für bestimmte Artikel und Waren verwenden, legt man
363 zunächst die entsprechenden konnten (z.B. 8401 und 3401) an und
364 erstellt dann eine neue Buchungsgruppe mit diesen Konten.  Die
365 Benennung der Buchungsgruppe kann frei erfolgen.
366
367 Beim Anlegen einer neuen Waren oder Dienstleistung werden dann durch
368 Auswahl dieser Buchungsgruppe automatisch alle Konten auf einen Schlag
369 korrekt zugeordnet.
370
371 Wird in einer Verkaufs- oder Einkaufsmaske eine andere Steuerzone als
372 Inland ausgewählt, werden bei den Artikeln auch automatisch die
373 anderen Erlös- und Aufwandskonten der Buchungsgruppe verwendet.
374
375 Dokumentenvorlagen, Umbennante Vorlagenvariablen
376 ------------------------------------------------
377
378 Einige Variablen, die in Dokumentenvorlagen verwendet werden, mussten
379 aufgrund von Namenskonflikten umbenannt werden. Dazu gehören:
380
381 * Adress- und Kontaktinformationen des angemeldeten Mitarbeiters. Die
382   Variablen "company", "address" und "businessnumber" haben alle einen
383   Präfix "employee_" bekommen und heißen nun "employee_company",
384   "employee_address" und "employee_businessnumber".
385
386 Zu beachten ist außerdem, dass der Befehl <%include ...%> in
387 Dokumentenvorlagen nicht mehr zur Verfügung steht.