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