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