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