From: Moritz Bunkus Date: Tue, 23 Apr 2013 12:15:33 +0000 (+0200) Subject: Perl-Datenbank-Upgradescripte: Dokumentationsupdate X-Git-Tag: release-3.1.0beta1~476 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=f1a40f51c548b045c6d4ae38766bf7094a8f193a;p=kivitendo-erp.git Perl-Datenbank-Upgradescripte: Dokumentationsupdate --- diff --git a/doc/dokumentation.xml b/doc/dokumentation.xml index 0c41875ee..759ff0f01 100644 --- a/doc/dokumentation.xml +++ b/doc/dokumentation.xml @@ -5568,11 +5568,10 @@ file = /tmp/kivitendo-debug.log charset - Empfohlen. Gibt den Zeichensatz an, in dem das Script - geschrieben wurde, z.B. "UTF-8". Aus - Kompatibilitätsgründen mit alten Upgrade-Scripten wird bei - Abwesenheit des Tags der Zeichensatz - "ISO-8859-15" angenommen. + Empfohlen. Gibt den Zeichensatz an, in dem das Script geschrieben wurde, z.B. "UTF-8". Aus + Kompatibilitätsgründen mit alten Upgrade-Scripten wird bei Abwesenheit des Tags für SQL-Upgradedateien der Zeichensatz + "ISO-8859-15" angenommen. Perl-Upgradescripte hingegen müssen immer in UTF-8 encodiert sein und sollten + demnach auch ein "use utf8;" enthalten. @@ -5640,6 +5639,48 @@ file = /tmp/kivitendo-debug.log + + Format von in Perl geschriebenen Datenbankupgradescripten + + In Perl geschriebene Datenbankscripte werden nicht einfach so ausgeführt sondern müssen sich an gewisse Konventionen + halten. Dafür bekommen sie aber auch einige Komfortfunktionen bereitgestellt. + + Ein Upgradescript stellt dabei eine vollständige Objektklasse dar, die vom Elternobjekt + "SL::DBUpgrade2::Base" erben und eine Funktion namens "run" zur Verfügung stellen muss. Das + Script wird ausgeführt, indem eine Instanz dieser Klasse erzeugt und darauf die erwähnte "run" aufgerufen + wird. + + Zu beachten ist, dass sich der Paketname der Datei aus dem Wert für "@tag" ableitet. Dabei werden alle + Zeichen, die in Paketnamen ungültig wären (gerade Bindestriche), durch Unterstriche ersetzt. Insgesamt sieht der Paketname wie folgt + aus: "SL::DBUpgrade2::tag". + + Welche Komfortfunktionen zur Verfügung stehen, erfahren Sie in der Perl-Dokumentation zum oben genannten Modul; aufzurufen mit + "perldoc SL/DBUpgrade2/Base.pm". + + Ein Mindestgerüst eines gültigen Perl-Upgradescriptes sieht wie folgt aus: + + # @tag: beispiel-upgrade-file42 +# @description: Ein schönes Beispielscript +# @depends: release_3_0_0 +package SL::DBUpgrade2::beispiel_upgrade_file42; + +use strict; +use utf8; + +use parent qw(SL::DBUpgrade2::Base); + +sub run { + my ($self) = @_; + + # hier Aktionen ausführen + + return 1; +} + +1; + + + Hilfsscript dbupgrade2_tool.pl diff --git a/doc/html/ch04s03.html b/doc/html/ch04s03.html index b8e68f993..39f03d32c 100644 --- a/doc/html/ch04s03.html +++ b/doc/html/ch04s03.html @@ -31,11 +31,10 @@ erlaubt und sollten stattdessen mit Unterstrichen ersetzt werden.

charset -

Empfohlen. Gibt den Zeichensatz an, in dem das Script - geschrieben wurde, z.B. "UTF-8". Aus - Kompatibilitätsgründen mit alten Upgrade-Scripten wird bei - Abwesenheit des Tags der Zeichensatz - "ISO-8859-15" angenommen.

+

Empfohlen. Gibt den Zeichensatz an, in dem das Script geschrieben wurde, z.B. "UTF-8". Aus + Kompatibilitätsgründen mit alten Upgrade-Scripten wird bei Abwesenheit des Tags für SQL-Upgradedateien der Zeichensatz + "ISO-8859-15" angenommen. Perl-Upgradescripte hingegen müssen immer in UTF-8 encodiert sein und sollten + demnach auch ein "use utf8;" enthalten.

description

Benötigt. Eine Beschreibung, was in diesem Update passiert. Diese wird dem Benutzer beim eigentlichen @@ -67,7 +66,33 @@ ignore

Optional. Falls der Wert auf 1 (true) steht, wird das Skript bei der Anmeldung ignoriert und entsprechend nicht - ausgeführt.

4.3.3. Hilfsscript dbupgrade2_tool.pl

Um die Arbeit mit den Abhängigkeiten etwas zu erleichtern, + ausgeführt.

4.3.3. Format von in Perl geschriebenen Datenbankupgradescripten

In Perl geschriebene Datenbankscripte werden nicht einfach so ausgeführt sondern müssen sich an gewisse Konventionen + halten. Dafür bekommen sie aber auch einige Komfortfunktionen bereitgestellt.

Ein Upgradescript stellt dabei eine vollständige Objektklasse dar, die vom Elternobjekt + "SL::DBUpgrade2::Base" erben und eine Funktion namens "run" zur Verfügung stellen muss. Das + Script wird ausgeführt, indem eine Instanz dieser Klasse erzeugt und darauf die erwähnte "run" aufgerufen + wird.

Zu beachten ist, dass sich der Paketname der Datei aus dem Wert für "@tag" ableitet. Dabei werden alle + Zeichen, die in Paketnamen ungültig wären (gerade Bindestriche), durch Unterstriche ersetzt. Insgesamt sieht der Paketname wie folgt + aus: "SL::DBUpgrade2::tag".

Welche Komfortfunktionen zur Verfügung stehen, erfahren Sie in der Perl-Dokumentation zum oben genannten Modul; aufzurufen mit + "perldoc SL/DBUpgrade2/Base.pm".

Ein Mindestgerüst eines gültigen Perl-Upgradescriptes sieht wie folgt aus:

# @tag: beispiel-upgrade-file42
+# @description: Ein schönes Beispielscript
+# @depends: release_3_0_0
+package SL::DBUpgrade2::beispiel_upgrade_file42;
+
+use strict;
+use utf8;
+
+use parent qw(SL::DBUpgrade2::Base);
+
+sub run {
+  my ($self) = @_;
+
+  # hier Aktionen ausführen
+
+  return 1;
+}
+
+1;
+

4.3.4. Hilfsscript dbupgrade2_tool.pl

Um die Arbeit mit den Abhängigkeiten etwas zu erleichtern, existiert ein Hilfsscript namens "scripts/dbupgrade2_tool.pl". Es muss aus dem kivitendo-ERP-Basisverzeichnis heraus aufgerufen werden. Dieses Tool diff --git a/doc/html/index.html b/doc/html/index.html index 340202aa8..2eb6bde78 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -3,7 +3,7 @@ kivitendo 3.0.0: Installation, Konfiguration, Entwicklung

kivitendo 3.0.0: Installation, Konfiguration, Entwicklung


Inhaltsverzeichnis

1. Aktuelle Hinweise
2. Installation und Grundkonfiguration
2.1. Übersicht
2.2. Benötigte Software und Pakete
2.2.1. Betriebssystem
2.2.2. Benötigte Perl-Pakete installieren
2.3. Manuelle Installation des Programmpaketes
2.4. kivitendo-Konfigurationsdatei
2.4.1. Einführung
2.4.2. Abschnitte und Parameter
2.4.3. Versionen vor 2.6.3
2.5. Anpassung der PostgreSQL-Konfiguration
2.5.1. Zeichensätze/die Verwendung von UTF-8
2.5.2. Änderungen an Konfigurationsdateien
2.5.3. Erweiterung für servergespeicherte Prozeduren
2.5.4. Datenbankbenutzer anlegen
2.6. Webserver-Konfiguration
2.6.1. Grundkonfiguration mittels CGI
2.6.2. Konfiguration für FastCGI/FCGI
2.7. Der Task-Server
2.7.1. Verfügbare und notwendige Konfigurationsoptionen
2.7.2. Automatisches Starten des Task-Servers beim Booten
2.7.3. Wie der Task-Server gestartet und beendet wird
2.7.4. Task-Server mit mehreren Mandanten
2.8. Benutzerauthentifizierung und Administratorpasswort
2.8.1. Grundlagen zur Benutzerauthentifizierung
2.8.2. Administratorpasswort
2.8.3. Authentifizierungsdatenbank
2.8.4. Passwortüberprüfung
2.8.5. Name des Session-Cookies
2.8.6. Anlegen der Authentifizierungsdatenbank
2.9. Benutzer- und Gruppenverwaltung
2.9.1. Zusammenhänge
2.9.2. Datenbanken anlegen
2.9.3. Gruppen anlegen
2.9.4. Benutzer anlegen
2.9.5. Gruppenmitgliedschaften verwalten
2.9.6. Migration alter Installationen
2.10. E-Mail-Versand aus kivitendo heraus
2.10.1. Versand über lokalen E-Mail-Server
2.10.2. Versand über einen SMTP-Server
2.11. Drucken mit kivitendo
2.11.1. Vorlagenverzeichnis anlegen
2.11.2. Standard
2.11.3. f-tex
2.11.4. RB
2.11.5. Allgemeine Hinweise zu LaTeX Vorlagen
2.12. OpenDocument-Vorlagen
2.13. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR
2.13.1. Einführung
2.13.2. Konfigurationsparameter
2.13.3. Festlegen der Parameter
2.13.4. Bemerkungen zu Bestandsmethode
2.13.5. Bekannte Probleme
2.14. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb
2.14.1. Einführung
2.14.2. Konto 3804 manuell anlegen
2.15. Einstellungen pro Mandant
2.16. kivitendo ERP verwenden
3. Features und Funktionen
3.1. Wiederkehrende Rechnungen
3.1.1. Einführung
3.1.2. Konfiguration
3.1.3. Spezielle Variablen
3.1.4. Auflisten
3.1.5. Erzeugung der eigentlichen Rechnungen
3.1.6. Erste Rechnung für aktuellen Monat erstellen
3.2. Dokumentenvorlagen und verfügbare Variablen
3.2.1. Einführung
3.2.2. Variablen ausgeben
3.2.3. Verwendung in Druckbefehlen
3.2.4. Anfang und Ende der Tags verändern
3.2.5. Zuordnung von den Dateinamen zu den Funktionen
3.2.6. Sprache, Drucker und E-Mail
3.2.7. Allgemeine Variablen, die in allen Vorlagen vorhanden sind
3.2.8. Variablen in Rechnungen
3.2.9. Variablen in Mahnungen und Rechnungen über Mahngebühren
3.2.10. Variablen in anderen Vorlagen
3.2.11. Blöcke, bedingte Anweisungen und Schleifen
3.2.12. Markup-Code zur Textformatierung innerhalb von - Formularen
3.3. Excel-Vorlagen
3.3.1. Zusammenfassung
3.3.2. Bedienung
3.3.3. Variablensyntax
3.3.4. Einschränkungen
4. Entwicklerdokumentation
4.1. Globale Variablen
4.1.1. Wie sehen globale Variablen in Perl aus?
4.1.2. Warum sind globale Variablen ein Problem?
4.1.3. Kanonische globale Variablen
4.1.4. Ehemalige globale Variablen
4.2. Entwicklung unter FastCGI
4.2.1. Allgemeines
4.2.2. Programmende und Ausnahmen
4.2.3. Globale Variablen
4.2.4. Performance und Statistiken
4.2.5. Bekannte Probleme
4.3. SQL-Upgradedateien
4.3.1. Einführung
4.3.2. Format der Kontrollinformationen
4.3.3. Hilfsscript dbupgrade2_tool.pl
4.4. Translations and languages
4.4.1. Introduction
4.4.2. File structure
4.5. Die kivitendo-Test-Suite
4.5.1. Einführung
4.5.2. Voraussetzungen
4.5.3. + Formularen
3.3. Excel-Vorlagen
3.3.1. Zusammenfassung
3.3.2. Bedienung
3.3.3. Variablensyntax
3.3.4. Einschränkungen
4. Entwicklerdokumentation
4.1. Globale Variablen
4.1.1. Wie sehen globale Variablen in Perl aus?
4.1.2. Warum sind globale Variablen ein Problem?
4.1.3. Kanonische globale Variablen
4.1.4. Ehemalige globale Variablen
4.2. Entwicklung unter FastCGI
4.2.1. Allgemeines
4.2.2. Programmende und Ausnahmen
4.2.3. Globale Variablen
4.2.4. Performance und Statistiken
4.2.5. Bekannte Probleme
4.3. SQL-Upgradedateien
4.3.1. Einführung
4.3.2. Format der Kontrollinformationen
4.3.3. Format von in Perl geschriebenen Datenbankupgradescripten
4.3.4. Hilfsscript dbupgrade2_tool.pl
4.4. Translations and languages
4.4.1. Introduction
4.4.2. File structure
4.5. Die kivitendo-Test-Suite
4.5.1. Einführung
4.5.2. Voraussetzungen
4.5.3. Existierende Tests ausführen
4.5.4. Bedeutung der verschiedenen Test-Scripte diff --git a/doc/kivitendo-Dokumentation.pdf b/doc/kivitendo-Dokumentation.pdf index ecd5a0da8..52ade6eb7 100644 Binary files a/doc/kivitendo-Dokumentation.pdf and b/doc/kivitendo-Dokumentation.pdf differ