From: Jan Büren
Mitte 2012 sind das folgende Systeme, von denen bekannt ist, + Distributionen läuft.
Anfang 2014 sind das folgende Systeme, von denen bekannt ist, dass kivitendo auf ihnen läuft:
Debian
6.0 "Squeeze" (hier muss allerdings das Modul FCGI in der Version >= 0.72 compiled werden, und Rose::DB::Object
ist zu alt)
7.0 "Wheezy"
Ubuntu 12.04 LTS "Precise Pangolin", 12.10 "Quantal Quetzal" und 13.04 "Precise Pangolin"
openSUSE 12.2 und 12.3
SuSE Linux Enterprice Server 11
Fedora 16 bis 19
Zum Betrieb von kivitendo werden zwingend ein Webserver (meist Apache) und ein Datenbankserver (PostgreSQL, mindestens v8.4) benötigt.
Zusätzlich benötigt kivitendo einige Perl-Pakete, die nicht Bestandteil einer Standard-Perl-Installation sind. Um zu diff --git a/doc/html/ch02s04.html b/doc/html/ch02s04.html index e9e710d57..c1bdf68ac 100644 --- a/doc/html/ch02s04.html +++ b/doc/html/ch02s04.html @@ -26,21 +26,26 @@
system
- features
(siehe Kapitel "Features und Funktionen")
paths
+ mail_delivery
(siehe Abschnitt "E-Mail-Versand über einen SMTP-Server)
applications
environment
- mail_delivery
(siehe Abschnitt "E-Mail-Versand über einen SMTP-Server)
print_templates
task_server
periodic_invoices
+
+ self_tests
console
+
+ testing
+
+ testing/database
debug
Die üblicherweise wichtigsten Parameter, die am Anfang diff --git a/doc/html/ch02s06.html b/doc/html/ch02s06.html index f834447aa..c8329b677 100644 --- a/doc/html/ch02s06.html +++ b/doc/html/ch02s06.html @@ -1,6 +1,6 @@
-Anmerkung | ||||||
---|---|---|---|---|---|---|
Für einen deutlichen Performanceschub sorgt die Ausführung +
Der Zugriff auf das Programmverzeichnis muss in der Apache
Webserverkonfigurationsdatei Kopieren Sie die Datei + anstelle eines symbolischen Links verwendet werden können. Kopieren Sie die Datei
Danach kann der Task-Server mit dem folgenden Befehl gestartet - werden: /etc/init.d/kivitendo-task-server start Kopieren Sie die Datei + werden: /etc/init.d/kivitendo-task-server start Kopieren Sie die Datei
Danach kann der Task-Server mit dem folgenden Befehl gestartet - werden: service kivitendo-task-server start Verlinken Sie die Datei service kivitendo-task-server start Verlinken Sie die Datei Alle hierzu benötigten Befehle sehen so aus: cd /var/www/kivitendo-erp/scripts/boot/systemd diff --git a/doc/html/ch02s09.html b/doc/html/ch02s09.html index 495958ba1..0abdceef4 100644 --- a/doc/html/ch02s09.html +++ b/doc/html/ch02s09.html @@ -7,20 +7,13 @@ Vollständiger Dokumentensatz mit alternativem Design Die konzeptionelle Idee wird hier + auf Folie 5 bis 10 vorgestellt, Detaileinstellungen dann im Readme.tex im Vorlagenverzeichnis. In den allermeisten Installationen sollte drucken jetzt schon
funktionieren. Sollte ein Fehler auftreten wirft TeX sehr lange
Fehlerbeschreibungen, der eigentliche Fehler ist immer die erste Zeite
die mit einem Ausrufezeichen anfängt. Häufig auftretende Fehler sind zum
diff --git a/doc/html/ch03s02.html b/doc/html/ch03s02.html
index f037a3e57..9866b342d 100644
--- a/doc/html/ch03s02.html
+++ b/doc/html/ch03s02.html
@@ -566,7 +566,7 @@
Rechnungsdatum invnumber
- Rechnungsnummer Die Variablen in anderen Vorlagen sind ähnlich wie in der
Rechnung. Allerdings heiÃen die Variablen, die mit
Dieses Dokument beschreibt den Mechanismus, mit dem + Dieses Dokument beschreibt den Mechanismus, mit dem Exceltemplates abgearbeitet werden, und die Einschränkungen, die damit einhergehen. Globale Variablen liegen in einem speziellen namespace namens + Globale Variablen liegen in einem speziellen namespace namens "main", der von überall erreichbar ist. Darüber hinaus sind bareword globs global und die meisten speziellen Variablen sind... speziell. Daraus ergeben sich folgende Formen:
Das erste Problem ist FCGIâ¢. SQL-Ledger⢠hat fast alles im globalen namespace abgelegt, und erwartet, dass es da auch wiederzufinden ist. Unter FCGI⢠müssen diese Sachen aber wieder @@ -39,7 +39,7 @@ dies hat, seit der Einführung, u.a. schon so manche langwierige Bug-Suche verkürzt. Da globale Variablen aber implizit mit Package angegeben werden, werden die nicht geprüft, und somit kann sich - schnell ein Tippfehler einschleichen. Um dieses Problem im Griff zu halten gibt es einige wenige + schnell ein Tippfehler einschleichen. Um dieses Problem im Griff zu halten gibt es einige wenige globale Variablen, die kanonisch sind, d.h. sie haben bestimmte vorgegebenen Eigenschaften, und alles andere sollte anderweitig umhergereicht werden. Diese Variablen sind im Moment die folgenden neun:
Damit diese nicht erneut als Müllhalde missbraucht werden, im Folgenden eine kurze Erläuterung der bestimmten vorgegebenen - Eigenschaften (Konventionen):
|
Objekt der Klasse
"SL::InstanceConfiguration
"
wird pro Request neu erstellt
Funktioniert wie $::lx_office_conf
,
speichert aber Daten die von der Instanz abhängig sind. Eine Instanz
ist hier eine Mandantendatenbank. Beispielsweise überprüft
$::instance_conf->get_inventory_system eq 'perpetual'
- ob die berüchtigte Bestandsmethode zur Anwendung kommt.
Objekt der Klasse + ob die berüchtigte Bestandsmethode zur Anwendung kommt.
Objekt der Klasse
"SL::Dispatcher
"
wird pro Serverprozess erstellt.
enthält Informationen über die technische Verbindung zum Server
Der dritte Punkt ist auch der einzige Grund warum das Objekt global gespeichert wird. Wird vermutlich irgendwann in einem anderen - Objekt untergebracht.
Hashref (evtl später Objekt)
Wird pro Request neu initialisiert.
Keine Unterstruktur garantiert.
+ Objekt untergebracht.
Hashref (evtl später Objekt)
Wird pro Request neu initialisiert.
Keine Unterstruktur garantiert.
$::request
ist ein generischer Platz um
Daten "für den aktuellen Request" abzulegen. Sollte nicht für action
at a distance benutzt werden, sondern um lokales memoizing zu
@@ -174,20 +174,20 @@ file = /tmp/kivitendo-debug.log
ist der Key file
$::request
Muss ich von anderen Teilen des Programms lesend drauf
zugreifen? Dann $::request
, aber Zugriff über
- Wrappermethode
Die folgenden Variablen waren einmal im Programm, und wurden - entfernt.
Die folgenden Variablen waren einmal im Programm, und wurden + entfernt.
war nötig, weil cookie Methoden nicht als Klassenfunktionen funktionieren
Aufruf als Klasse erzeugt Dummyobjekt was im Klassennamespace gehalten wird und über Requestgrenzen leaked
liegt jetzt unter
$::request->{cgi}
-
war nötig, weil einige Funktionen in Schleifen zum Teil ein paar hundert mal pro Request eine Liste der Einheiten brauchen, und de als Parameter durch einen Riesenstack von Funktionen geschleift werden müssten.
Liegt jetzt unter
$::request->{cache}{all_units}
Wird nur in
AM->retrieve_all_units()
gesetzt oder
- gelesen.
komplette recursion protection wurde entfernt.