X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=doc%2Fdokumentation.xml;h=1c5f93ca785b7ffd1eaa451ed2afb524965975f6;hb=f87f36c6232fb2c8ff1fa81f205948c1a097192b;hp=c89aa6d2d51aa22f46ab28d0d73349a6a36e4946;hpb=2accdcbd5f820238b1c09ef2f42823a70041108a;p=kivitendo-erp.git
diff --git a/doc/dokumentation.xml b/doc/dokumentation.xml
index c89aa6d2d..1c5f93ca7 100644
--- a/doc/dokumentation.xml
+++ b/doc/dokumentation.xml
@@ -140,6 +140,8 @@
FCGI (nicht Versionen 0.68 bis 0.71 inklusive; siehe )
+ File::Copy::Recursive
+
JSONList::MoreUtils
@@ -211,7 +213,7 @@
librose-db-perl librose-object-perl libsort-naturally-perl \
libstring-shellquote-perl libtemplate-perl libtext-csv-xs-perl \
libtext-iconv-perl liburi-perl libxml-writer-perl libyaml-perl \
- postgresql
+ libfile-copy-recursive-perl postgresql
@@ -221,7 +223,7 @@
yum install httpd perl-Archive-Zip perl-Clone perl-DBD-Pg \
perl-DBI perl-DateTime perl-Email-Address perl-Email-MIME perl-FCGI \
- perl-JSON perl-List-MoreUtils perl-Net-SMTP-SSL perl-Net-SSLGlue \
+ perl-File-Copy-Recursive perl-JSON perl-List-MoreUtils perl-Net-SMTP-SSL perl-Net-SSLGlue \
perl-PDF-API2 perl-Params-Validate perl-Rose-DB perl-Rose-DB-Object \
perl-Rose-Object perl-Sort-Naturally perl-String-ShellQuote \
perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI \
@@ -242,7 +244,7 @@ cpan Config::Stdzypper install apache2 perl-Archive-Zip perl-Clone \
perl-Config-Std perl-DBD-Pg perl-DBI perl-DateTime perl-Email-Address \
- perl-Email-MIME perl-FastCGI perl-JSON perl-List-MoreUtils \
+ perl-Email-MIME perl-FastCGI perl-File-Copy-Recursive perl-JSON perl-List-MoreUtils \
perl-Net-SMTP-SSL perl-Net-SSLGlue perl-PDF-API2 perl-Params-Validate \
perl-Sort-Naturally perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv \
perl-URI perl-XML-Writer perl-YAML postgresql-server
@@ -389,12 +391,13 @@ dbcharset = UTF-8
angeben, der nach Erstellung der Rechnungen eine entsprechende E-Mail
mit Informationen über die erstellten Rechnungen bekommt.
- Nutzt man den Taskserver für wiederkehrende Rechnungen,
- muss unter [task_server] ein Login eines Benutzers
- angegeben werden, mit dem sich der Taskserver an kivitendo bei der
- Datenbank anmeldet, die dem Benutzer zugewiesen ist.
+ kivitendo bringt eine eigene Komponente zur zeitgesteuerten Ausführung bestimmter Aufgaben mit, den Taskserver. Er wird u.a. für Features wie die wiederkehrenden Rechnungen benötigt, erledigt aber auch andere erforderliche Aufgaben
+ und muss daher in Betrieb genommen werden. Der Taskserver benötigt zwei Konfigurationseinstellungen, die unter
+ [task_server] anzugeben sind: ein Mandant (entweder der Mandantenname oder eine Datenbank-ID, Variable
+ client), aus dem die Datenbankkonfiguration entnommen wird, sowie ein Login (Variable login)
+ eines Benutzers, der für gewisse Dinge wie die Rechnungserstellung als Verkäufer eingetragen wird.Für Entwickler finden sich unter [debug]
wichtige Funktionen, um die Fehlersuche zu erleichtern.
@@ -728,12 +731,9 @@ Alias /url/for/kivitendo-erp-fcgid/ /path/to/kivitendo-erp/
Der Task-Server
- Der Task-Server ist ein Prozess, der im Hintergrund läuft, in
- regelmäÃigen Abständen nach abzuarbeitenden Aufgaben sucht und diese zu
- festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser Prozess
- wird bisher nur für die Erzeugung der wiederkehrenden Rechnungen
- benutzt, wird aber in Zukunft deutlich mehr Aufgaben übertragen
- bekommen.
+ Der Task-Server ist ein Prozess, der im Hintergrund läuft, in regelmäÃigen Abständen nach abzuarbeitenden Aufgaben sucht und
+ diese zu festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser Prozess wird u.a. für die Erzeugung der wiederkehrenden
+ Rechnungen und weitere essenzielle Aufgaben benutzt.Verfügbare und notwendige Konfigurationsoptionen
@@ -744,14 +744,25 @@ Alias /url/for/kivitendo-erp-fcgid/ /path/to/kivitendo-erp/
+
+ client
+
+
+ Name oder Datenbank-ID eines vorhandenen kivitendo-Mandanten, der benutzt wird, um die zu verwendende
+ Datenbankverbindung auszulesen. Der Mandant muss in der Administration angelegt werden. Diese Option muss angegeben
+ werden.
+
+ Diese Option kam mit Release v3.x.0 hinzu und muss daher in Konfigurationen, die von älteren Versionen aktualisiert
+ wurden, ergänzt werden.
+
+
+
login
- gültiger kivitendo-Benutzername, der benutzt wird, um die
- zu verwendende Datenbankverbindung auszulesen. Der Benutzer muss
- in der Administration angelegt werden. Diese Option muss
- angegeben werden.
+ gültiger kivitendo-Benutzername, der z.B. als Verkäufer beim Erzeugen wiederkehrender Rechnungen benötigt wird. Der
+ Benutzer muss in der Administration angelegt werden. Diese Option muss angegeben werden.
@@ -902,13 +913,11 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/
Task-Server mit mehreren Mandanten
- Beim Task-Server wird der Login-Name des Benutzers, unter dem der
- Task-Server laufen soll, in die Konfigurationsdatei geschrieben. Hat
- man mehrere Mandanten muà man auch mehrere Konfigurationsdateien
- anlegen.
+ Beim Task-Server werden der zu verwendende Mandant und Login-Name des Benutzers, unter dem der Task-Server laufen soll, in die
+ Konfigurationsdatei geschrieben. Hat man mehrere Mandanten, muss man auch mehrere Konfigurationsdateien anlegen.
- Die Konfigurationsdatei ist eine Kopie der Datei kivitendo.conf,
- wo in der Kategorie [task_server] der gewünschte "login" steht.
+ Die Konfigurationsdatei ist eine Kopie der Datei kivitendo.conf, wo in der Kategorie [task_server] die
+ gewünschten Werte für client und login eingetragen werden.Der alternative Task-Server wird dann mit folgendem Befehl
gestartet:
@@ -1141,19 +1150,18 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/
der folgenden URL erreichbar sein sollte:
http://localhost/kivitendo-erp/admin.pl
+ url="http://localhost/kivitendo-erp/controller.pl?action=Admin/login">http://localhost/kivitendo-erp/controller.pl?action=Admin/login
- Benutzer- und Gruppenverwaltung
+ Mandanten-, Benutzer- und Gruppenverwaltung
- Nach der Installation müssen Benutzer, Gruppen und Datenbanken
- angelegt werden. Dieses geschieht im Administrationsmenü, das Sie unter
- folgender URL finden:
+ Nach der Installation müssen Mandanten, Benutzer, Gruppen und Datenbanken angelegt werden. Dieses geschieht im
+ Administrationsmenü, das Sie unter folgender URL finden:http://localhost/kivitendo-erp/admin.pl
+ url="http://localhost/kivitendo-erp/controller.pl?action=Admin/login">http://localhost/kivitendo-erp/controller.pl?action=Admin/login
Verwenden Sie zur Anmeldung das Password, dass Sie in der Datei
config/kivitendo.conf eingetragen haben.
@@ -1161,6 +1169,23 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/
Zusammenhänge
+ kivitendo verwaltet zwei Sets von Daten, die je nach Einrichtung in einer oder zwei Datenbanken gespeichert werden.
+
+ Das erste Set besteht aus Anmeldeinformationen: welche Benutzer und Mandanten gibt es, welche Gruppen, welche BenutzerIn hat
+ Zugriff auf welche Mandanten, und welche Gruppe verfügt über welche Rechte. Diese Informationen werden in der
+ Authentifizierungsdatenbank gespeichert. Dies ist diejenige Datenbank, deren Verbindungsparameter in der Konfigurationsdatei
+ config/kivitendo.conf gespeichert werden.
+
+ Das zweite Set besteht aus den eigentlichen Verkehrsdaten eines Mandanten: Stammdaten (Kunden, Lieferanten, Waren), Belege
+ (Angebote, Liferscheine, Rechnungen), Einstellungen. Diese werden in einer Mandantendatenbank gespeichert. Die
+ Verbindungsinformationen einer solchen Mandantendatenbank werden im Administrationsbereich konfiguriert, indem man einen Mandanten
+ anlegt und dort die Parameter einträgt. Dabei hat jeder Mandant eine eigene Datenbank.
+
+ Aufgrund des Datenbankdesigns ist es für einfache Fälle möglich, die Authentifizierungsdatenbank und eine der
+ Mandantendatenbanken in ein und derselben Datenbank zu speichern. Arbeitet man hingegen mit mehr als einem Mandanten, wird
+ empfohlen, für die Authentifizierungsdatenbank eine eigene Datenbank zu verwenden, die nicht gleichzeitig für einen Mandanten
+ verwendet wird.
+
kivitendo verwendet eine Datenbank zum Speichern all seiner
Informationen wie Kundendaten, Artikel, Angebote, Rechnungen etc. Um
mit kivitendo arbeiten zu können, muss eine Person einen
@@ -1169,30 +1194,29 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/
möglich und normal, dass mehreren Benutzern die selbe Datenbank
zugewiesen wird, sodass sie alle mit den selben Daten arbeiten
können.
+
+
+
+ Mandanten, Benutzer und Gruppen
+
+ kivitendos Administration kennt Mandanten, Benutzer und Gruppen, die sich frei zueinander zuordnen lassen.
- Die Basisdaten der Benutzer, die in der Administration
- eingegeben werden können, werden in einer zweiten Datenbank
- gespeichert, der bereits erwähnten Authentifizierungsdatenbank. Diese
- ist also den Produktivdaten enthaltenden Datenbanken vorgeschaltet.
- Pro kivitendo-Installation gibt es nur eine
- Authentifizierungsdatenbank, aber beliebig viele Datenbanken mit
- Firmendaten.
-
- kivitendo kann seinen Benutzern Zugriff auf bestimmte
- Funktionsbereiche erlauben oder verbieten. Wird der Zugriff nicht
- gestattet, so werden der entsprechenden Menüpunkte auch nicht
- angezeigt. Diese Rechte werden ebenfalls in der
- Authentifizierungsdatenbank gespeichert.
-
- Um Rechte verteilen zu können, verwendet kivitendo ein
- Gruppen-Prinzip. Einer Gruppe kann der Zugriff auf bestimmte Bereiche
- erlaubt werden. Ein Benutzer wiederum kann Mitglied in einer oder
- mehrerer Gruppen sein. Der Benutzer hat Zugriff auf alle diejenigen
- Funktionen, die mindestens einer Gruppe erlaubt sind, in der der
- Benutzer Mitglied ist.
-
- Die allgemeine Reihenfolge, in der Datenbanken, Gruppen und
- Benutzer angelegt werden sollten, lautet:
+ kivitendo kann mehrere Mandaten aus einer Installation heraus verwalten. Welcher Mandant benutzt wird, kann direkt beim Login
+ ausgewählt werden. Für jeden Mandanten wird ein eindeutiger Name vergeben, der beim Login angezeigt wird. Weiterhin benötigt der
+ Mandant Datenbankverbindungsparameter für seine Mandantendatenbank. Diese sollte über die Datenbankverwaltung geschehen.
+
+ Ein Benutzer ist eine Person, die Zugriff auf kivitendo erhalten soll. Sie erhält einen Loginnamen sowie ein
+ Passwort. Weiterhin legt der Administrator fest, an welchen Mandanten sich ein Benutzer anmelden kann, was beim Login verifiziert
+ wird.
+
+ Gruppen dienen dazu, Benutzern innerhalb eines Mandanten Zugriff auf bestimmte Funktionen zu geben. Einer Gruppe werden dafür
+ vom Administrator gewisse Rechte zugeordnet. Weiterhin legt der Administrator fest, für welche Mandanten eine Gruppe gilt, und
+ welche Benutzer Mitglieder in dieser Gruppe sind. Meldet sich ein Benutzer dann an einem Mandanten an, so erhält er alle Rechte von
+ allen denjenigen Gruppen, die zum Einen dem Mandanten zugeordnet sind und in denen der Benutzer zum Anderen Mitglied ist,
+
+ Die Reihenfolge, in der Datenbanken, Mandanten, Gruppen und Benutzer angelegt werden, kann im Prinzip beliebig gewählt
+ werden. Die folgende Reihenfolge beinhaltet die wenigsten Arbeitsschritte:
@@ -1204,11 +1228,11 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/
- Benutzer anlegen
+ Benutzer anlegen und Gruppen als Mitglied zuordnen
- Benutzer den Gruppen zuordnen
+ Mandanten anlegen und Gruppen sowie Benutzer zuweisen
@@ -1239,72 +1263,45 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/
Anlegen können Sie die verschiedenen Bereiche wählen, auf die
Mitglieder dieser Gruppe Zugriff haben sollen.
- Benutzergruppen sind unabhängig von Datenbanken, da sie in der
- Authentifizierungsdatenbank gespeichert werden. Sie gelten für alle
- Datenbanken, die in dieser Installation verwaltet werden.
+ Benutzergruppen werden zwar in der Authentifizierungsdatenbank gespeichert, gelten aber nicht automatisch für alle
+ Mandanten. Der Administrator legt vielmehr fest, für welche Mandanten eine Gruppe gültig ist. Dies kann entweder beim Bearbeiten der
+ Gruppe geschehen ("diese Gruppe ist gültig für Mandanten X, Y und Z"), oder aber wenn man einen Mandanten bearbeitet ("für diesen
+ Mandanten sind die Gruppen A, B und C gültig").
+
+ Wurden bereits Benutzer angelegt, so können hier die Mitglieder dieser Gruppe festgelegt werden ("in dieser Gruppe sind die
+ Benutzer X, Y und Z Mitglieder"). Dies kann auch nachträglich beim Bearbeiten eines Benutzers geschehen ("dieser Benutzer ist
+ Mitglied in den Gruppen A, B und C").Benutzer anlegen
- Beim Anlegen von Benutzern werden für viele Parameter
- Standardeinstellungen vorgenommen, die den Gepflogenheiten des
- deutschen Raumes entsprechen.
+ Beim Anlegen von Benutzern werden für viele Parameter Standardeinstellungen vorgenommen, die den Gepflogenheiten des deutschen
+ Raumes entsprechen.
- Zwingend anzugeben sind der Loginname sowie die komplette
- Datenbankkonfiguration. Wenn die Passwortauthentifizierung über die
- Datenbank eingestellt ist, so kann hier auch das Benutzerpasswort
- gesetzt bzw. geändert werden. Ist hingegen die LDAP-Authentifizierung
- aktiv, so ist das Passwort-Feld deaktiviert.
+ Zwingend anzugeben ist der Loginname. Wenn die Passwortauthentifizierung über die Datenbank eingestellt ist, so kann hier auch
+ das Benutzerpasswort gesetzt bzw. geändert werden. Ist hingegen die LDAP-Authentifizierung aktiv, so ist das Passwort-Feld
+ deaktiviert.
- In der Datenbankkonfiguration müssen die Zugriffsdaten einer der
- eben angelegten Datenbanken eingetragen werden.
+ Hat man bereits Mandanten und Gruppen angelegt, so kann hier auch konfiguriert werden, auf welche Mandanten der Benutzer
+ Zugriff hat bzw. in welchen Gruppen er Mitglied ist. Beide Zuweisungen können sowohl beim Benutzer vorgenommen werden ("dieser
+ Benutzer hat Zugriff auf Mandanten X, Y, Z" bzw. "dieser Benutzer ist Mitglied in Gruppen X, Y und Z") als auch beim Mandanten ("auf
+ diesen Mandanten haben Benutzer A, B und C Zugriff") bzw. bei der Gruppe ("in dieser Gruppe sind Benutzer A, B und C
+ Mitglieder").
-
- Gruppenmitgliedschaften verwalten
+
+ Mandanten anlegen
- Nach dem Anlegen von Benutzern und Gruppen müssen Benutzer den
- Gruppen zugewiesen werden. Dazu gibt es zwei Möglichkeiten:
-
-
-
- In der Gruppenverwaltung wählt man eine Gruppe aus. Im
- folgenden Dialog kann man dann einzeln die Benutzer der Gruppe
- hinzufügen.
-
-
-
- In der Gruppenverwaltung wählt man das Tool zur Verwaltung
- der Gruppenmitgliedschaft. Hier wird eine Matrix angezeigt, die
- alle im System angelegten Gruppen und Benutzer enthält. Durch
- Setzen der Häkchen wird der Benutzer in der ausgewählten Zeile der
- Gruppe in der ausgewählten Spalte hinzugefügt.
-
-
-
+ Ein Mandant besteht aus Administrationssicht primär aus einem eindeutigen Namen. Weiterhin wird hier hinterlegt, welche
+ Datenbank als Mandantendatenbank benutzt wird. Hier müssen die Zugriffsdaten einer der eben angelegten Datenbanken eingetragen
+ werden.
-
- Migration alter Installationen
-
- Wenn kivitendo 2.6.3 über eine ältere Version installiert wird,
- in der die Benutzerdaten noch im Dateisystem im Verzeichnis
- users verwaltet wurden, so bietet kivitendo die
- Möglichkeit, diese Benutzerdaten automatisch in die
- Authentifizierungsdatenbank zu übernehmen. Dies geschieht, wenn man
- sich nach dem Update der Installation das erste Mal im
- Administrationsbereich anmeldet. Findet kivitendo die Datei
- users/members, so wird der Migrationsprozess
- gestartet.
-
- Der Migrationsprozess ist nahezu vollautomatisch. Alle
- Benutzerdaten können übernommen werden. Nach den Benutzerdaten bietet
- kivitendo noch die Möglichkeit an, dass automatisch eine
- Benutzergruppe angelegt wird. Dieser Gruppe wird Zugriff auf alle
- Funktionen von kivitendo gewährt. Alle migrierten Benutzern werden
- Mitglied in dieser Gruppe. Damit wird das Verhalten von kivitendo bis
- Version 2.4.3 inklusive wiederhergestellt, und die Benutzer können
- sich sofort wieder anmelden und mit dem System arbeiten.
+ Hat man bereits Benutzer und Gruppen angelegt, so kann hier auch konfiguriert werden, welche Benutzer Zugriff auf den
+ Mandanten haben bzw. welche Gruppen für den Mandanten gültig sind. Beide Zuweisungen können sowohl beim Mandanten vorgenommen werden
+ ("auf diesen Mandanten haben Benutzer X, Y und Z Zugriff" bzw. "für diesen Mandanten sind die Gruppen X, Y und Z gültig") als auch
+ beim Benutzer ("dieser Benutzer hat Zugriff auf Mandanten A, B und C") bzw. bei der Gruppe ("diese Gruppe ist für Mandanten A, B und
+ C gültig").
@@ -2041,7 +2038,7 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/
Die Administrationsseite erreichen Sie unter:http://localhost/kivitendo-erp/admin.pl
+ url="http://localhost/kivitendo-erp/controller.pl?action=Admin/login">http://localhost/kivitendo-erp/controller.pl?action=Admin/login
@@ -5102,7 +5099,7 @@ Beschreibung: <%description%>
überwiegend die Daten, die sich unter Programm
-> Einstellungen befinden, bzw. die
Informationen über den Benutzer die über die
- Administrator-Schnittstelle (admin.pl) eingegeben wurden.
+ Administrator-Schnittstelle eingegeben wurden.
@@ -5191,6 +5188,10 @@ $main::lxdebug->message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form->{
vom aktuellen User abhängen wird das Objekt aus
Geschwindigkeitsgründen nur einmal angelegt und dann nach jedem
Request kurz resettet.
+
+ Dieses Objekt kapselt auch den gerade aktiven Mandanten. Dessen Einstellungen können über
+ $::auth->client abgefragt werden; Rückgabewert ist ein Hash mit den Werten aus der Tabelle
+ auth.clients.