Revision 854c9a62
Von Moritz Bunkus vor mehr als 11 Jahren hinzugefügt
doc/dokumentation.xml | ||
---|---|---|
391 | 391 |
angeben, der nach Erstellung der Rechnungen eine entsprechende E-Mail |
392 | 392 |
mit Informationen über die erstellten Rechnungen bekommt.</para> |
393 | 393 |
|
394 |
<para>Nutzt man den <link |
|
395 |
linkend="config.task-server">Taskserver</link> für <link |
|
396 |
linkend="features.periodic-invoices">wiederkehrende Rechnungen</link>, |
|
397 |
muss unter <varname>[task_server]</varname> ein Login eines Benutzers |
|
398 |
angegeben werden, mit dem sich der Taskserver an kivitendo bei der |
|
399 |
Datenbank anmeldet, die dem Benutzer zugewiesen ist.</para> |
|
394 |
<para>kivitendo bringt eine eigene Komponente zur zeitgesteuerten Ausführung bestimmter Aufgaben mit, den <link |
|
395 |
linkend="config.task-server">Taskserver</link>. Er wird u.a. für Features wie die <link |
|
396 |
linkend="features.periodic-invoices">wiederkehrenden Rechnungen</link> benötigt, erledigt aber auch andere erforderliche Aufgaben |
|
397 |
und muss daher in Betrieb genommen werden. Der Taskserver benötigt zwei Konfigurationseinstellungen, die unter |
|
398 |
<varname>[task_server]</varname> anzugeben sind: ein Mandant (entweder der Mandantenname oder eine Datenbank-ID, Variable |
|
399 |
<varname>client</varname>), aus dem die Datenbankkonfiguration entnommen wird, sowie ein Login (Variable <varname>login</varname>) |
|
400 |
eines Benutzers, der für gewisse Dinge wie die Rechnungserstellung als Verkäufer eingetragen wird.</para> |
|
400 | 401 |
|
401 | 402 |
<para>Für Entwickler finden sich unter <varname>[debug]</varname> |
402 | 403 |
wichtige Funktionen, um die Fehlersuche zu erleichtern.</para> |
... | ... | |
730 | 731 |
<sect1 id="config.task-server"> |
731 | 732 |
<title>Der Task-Server</title> |
732 | 733 |
|
733 |
<para>Der Task-Server ist ein Prozess, der im Hintergrund läuft, in |
|
734 |
regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und diese zu |
|
735 |
festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser Prozess |
|
736 |
wird bisher nur für die Erzeugung der wiederkehrenden Rechnungen |
|
737 |
benutzt, wird aber in Zukunft deutlich mehr Aufgaben übertragen |
|
738 |
bekommen.</para> |
|
734 |
<para>Der Task-Server ist ein Prozess, der im Hintergrund läuft, in regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und |
|
735 |
diese zu festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser Prozess wird u.a. für die Erzeugung der wiederkehrenden |
|
736 |
Rechnungen und weitere essenzielle Aufgaben benutzt.</para> |
|
739 | 737 |
|
740 | 738 |
<sect2 id="Konfiguration-des-Task-Servers"> |
741 | 739 |
<title>Verfügbare und notwendige Konfigurationsoptionen</title> |
... | ... | |
746 | 744 |
Optionen sind:</para> |
747 | 745 |
|
748 | 746 |
<variablelist> |
747 |
<varlistentry> |
|
748 |
<term><varname>client</varname></term> |
|
749 |
|
|
750 |
<listitem> |
|
751 |
<para>Name oder Datenbank-ID eines vorhandenen kivitendo-Mandanten, der benutzt wird, um die zu verwendende |
|
752 |
Datenbankverbindung auszulesen. Der Mandant muss in der Administration angelegt werden. Diese Option muss angegeben |
|
753 |
werden.</para> |
|
754 |
|
|
755 |
<para>Diese Option kam mit Release v3.x.0 hinzu und muss daher in Konfigurationen, die von älteren Versionen aktualisiert |
|
756 |
wurden, ergänzt werden.</para> |
|
757 |
</listitem> |
|
758 |
</varlistentry> |
|
759 |
|
|
749 | 760 |
<varlistentry> |
750 | 761 |
<term><varname>login</varname></term> |
751 | 762 |
|
752 | 763 |
<listitem> |
753 |
<para>gültiger kivitendo-Benutzername, der benutzt wird, um die |
|
754 |
zu verwendende Datenbankverbindung auszulesen. Der Benutzer muss |
|
755 |
in der Administration angelegt werden. Diese Option muss |
|
756 |
angegeben werden.</para> |
|
764 |
<para>gültiger kivitendo-Benutzername, der z.B. als Verkäufer beim Erzeugen wiederkehrender Rechnungen benötigt wird. Der |
|
765 |
Benutzer muss in der Administration angelegt werden. Diese Option muss angegeben werden.</para> |
|
757 | 766 |
</listitem> |
758 | 767 |
</varlistentry> |
759 | 768 |
|
... | ... | |
904 | 913 |
<sect2 id="Prozesskontrolle2"> |
905 | 914 |
<title>Task-Server mit mehreren Mandanten</title> |
906 | 915 |
|
907 |
<para>Beim Task-Server wird der Login-Name des Benutzers, unter dem der |
|
908 |
Task-Server laufen soll, in die Konfigurationsdatei geschrieben. Hat |
|
909 |
man mehrere Mandanten muß man auch mehrere Konfigurationsdateien |
|
910 |
anlegen.</para> |
|
916 |
<para>Beim Task-Server werden der zu verwendende Mandant und Login-Name des Benutzers, unter dem der Task-Server laufen soll, in die |
|
917 |
Konfigurationsdatei geschrieben. Hat man mehrere Mandanten, muss man auch mehrere Konfigurationsdateien anlegen.</para> |
|
911 | 918 |
|
912 |
<para>Die Konfigurationsdatei ist eine Kopie der Datei kivitendo.conf, |
|
913 |
wo in der Kategorie [task_server] der gewünschte "login" steht.</para>
|
|
919 |
<para>Die Konfigurationsdatei ist eine Kopie der Datei kivitendo.conf, wo in der Kategorie <varname>[task_server]</varname> die
|
|
920 |
gewünschten Werte für <varname>client</varname> und <varname>login</varname> eingetragen werden.</para>
|
|
914 | 921 |
|
915 | 922 |
<para>Der alternative Task-Server wird dann mit folgendem Befehl |
916 | 923 |
gestartet:</para> |
... | ... | |
1143 | 1150 |
der folgenden URL erreichbar sein sollte:</para> |
1144 | 1151 |
|
1145 | 1152 |
<para><ulink |
1146 |
url="http://localhost/kivitendo-erp/admin.pl">http://localhost/kivitendo-erp/admin.pl</ulink></para>
|
|
1153 |
url="http://localhost/kivitendo-erp/controller.pl?action=Admin/login">http://localhost/kivitendo-erp/controller.pl?action=Admin/login</ulink></para>
|
|
1147 | 1154 |
</sect2> |
1148 | 1155 |
</sect1> |
1149 | 1156 |
|
1150 | 1157 |
<sect1 id="Benutzer--und-Gruppenverwaltung"> |
1151 |
<title>Benutzer- und Gruppenverwaltung</title> |
|
1158 |
<title>Mandanten-, Benutzer- und Gruppenverwaltung</title>
|
|
1152 | 1159 |
|
1153 |
<para>Nach der Installation müssen Benutzer, Gruppen und Datenbanken |
|
1154 |
angelegt werden. Dieses geschieht im Administrationsmenü, das Sie unter |
|
1155 |
folgender URL finden:</para> |
|
1160 |
<para>Nach der Installation müssen Mandanten, Benutzer, Gruppen und Datenbanken angelegt werden. Dieses geschieht im |
|
1161 |
Administrationsmenü, das Sie unter folgender URL finden:</para> |
|
1156 | 1162 |
|
1157 | 1163 |
<para><ulink |
1158 |
url="http://localhost/kivitendo-erp/admin.pl">http://localhost/kivitendo-erp/admin.pl</ulink></para>
|
|
1164 |
url="http://localhost/kivitendo-erp/controller.pl?action=Admin/login">http://localhost/kivitendo-erp/controller.pl?action=Admin/login</ulink></para>
|
|
1159 | 1165 |
|
1160 | 1166 |
<para>Verwenden Sie zur Anmeldung das Password, dass Sie in der Datei |
1161 | 1167 |
<filename>config/kivitendo.conf</filename> eingetragen haben.</para> |
... | ... | |
1163 | 1169 |
<sect2 id="Zusammenhänge"> |
1164 | 1170 |
<title>Zusammenhänge</title> |
1165 | 1171 |
|
1172 |
<para>kivitendo verwaltet zwei Sets von Daten, die je nach Einrichtung in einer oder zwei Datenbanken gespeichert werden.</para> |
|
1173 |
|
|
1174 |
<para>Das erste Set besteht aus Anmeldeinformationen: welche Benutzer und Mandanten gibt es, welche Gruppen, welche BenutzerIn hat |
|
1175 |
Zugriff auf welche Mandanten, und welche Gruppe verfügt über welche Rechte. Diese Informationen werden in der |
|
1176 |
Authentifizierungsdatenbank gespeichert. Dies ist diejenige Datenbank, deren Verbindungsparameter in der Konfigurationsdatei |
|
1177 |
<filename>config/kivitendo.conf</filename> gespeichert werden.</para> |
|
1178 |
|
|
1179 |
<para>Das zweite Set besteht aus den eigentlichen Verkehrsdaten eines Mandanten: Stammdaten (Kunden, Lieferanten, Waren), Belege |
|
1180 |
(Angebote, Liferscheine, Rechnungen), Einstellungen. Diese werden in einer Mandantendatenbank gespeichert. Die |
|
1181 |
Verbindungsinformationen einer solchen Mandantendatenbank werden im Administrationsbereich konfiguriert, indem man einen Mandanten |
|
1182 |
anlegt und dort die Parameter einträgt. Dabei hat jeder Mandant eine eigene Datenbank.</para> |
|
1183 |
|
|
1184 |
<para>Aufgrund des Datenbankdesigns ist es für einfache Fälle möglich, die Authentifizierungsdatenbank und eine der |
|
1185 |
Mandantendatenbanken in ein und derselben Datenbank zu speichern. Arbeitet man hingegen mit mehr als einem Mandanten, wird |
|
1186 |
empfohlen, für die Authentifizierungsdatenbank eine eigene Datenbank zu verwenden, die nicht gleichzeitig für einen Mandanten |
|
1187 |
verwendet wird.</para> |
|
1188 |
|
|
1166 | 1189 |
<para>kivitendo verwendet eine Datenbank zum Speichern all seiner |
1167 | 1190 |
Informationen wie Kundendaten, Artikel, Angebote, Rechnungen etc. Um |
1168 | 1191 |
mit kivitendo arbeiten zu können, muss eine Person einen |
... | ... | |
1171 | 1194 |
möglich und normal, dass mehreren Benutzern die selbe Datenbank |
1172 | 1195 |
zugewiesen wird, sodass sie alle mit den selben Daten arbeiten |
1173 | 1196 |
können.</para> |
1197 |
</sect2> |
|
1198 |
|
|
1199 |
<sect2 id="Mandanten-Benutzer-Gruppen"> |
|
1200 |
<title>Mandanten, Benutzer und Gruppen</title> |
|
1201 |
|
|
1202 |
<para>kivitendos Administration kennt Mandanten, Benutzer und Gruppen, die sich frei zueinander zuordnen lassen.</para> |
|
1174 | 1203 |
|
1175 |
<para>Die Basisdaten der Benutzer, die in der Administration |
|
1176 |
eingegeben werden können, werden in einer zweiten Datenbank |
|
1177 |
gespeichert, der bereits erwähnten Authentifizierungsdatenbank. Diese |
|
1178 |
ist also den Produktivdaten enthaltenden Datenbanken vorgeschaltet. |
|
1179 |
Pro kivitendo-Installation gibt es nur eine |
|
1180 |
Authentifizierungsdatenbank, aber beliebig viele Datenbanken mit |
|
1181 |
Firmendaten.</para> |
|
1182 |
|
|
1183 |
<para>kivitendo kann seinen Benutzern Zugriff auf bestimmte |
|
1184 |
Funktionsbereiche erlauben oder verbieten. Wird der Zugriff nicht |
|
1185 |
gestattet, so werden der entsprechenden Menüpunkte auch nicht |
|
1186 |
angezeigt. Diese Rechte werden ebenfalls in der |
|
1187 |
Authentifizierungsdatenbank gespeichert.</para> |
|
1188 |
|
|
1189 |
<para>Um Rechte verteilen zu können, verwendet kivitendo ein |
|
1190 |
Gruppen-Prinzip. Einer Gruppe kann der Zugriff auf bestimmte Bereiche |
|
1191 |
erlaubt werden. Ein Benutzer wiederum kann Mitglied in einer oder |
|
1192 |
mehrerer Gruppen sein. Der Benutzer hat Zugriff auf alle diejenigen |
|
1193 |
Funktionen, die mindestens einer Gruppe erlaubt sind, in der der |
|
1194 |
Benutzer Mitglied ist.</para> |
|
1195 |
|
|
1196 |
<para>Die allgemeine Reihenfolge, in der Datenbanken, Gruppen und |
|
1197 |
Benutzer angelegt werden sollten, lautet:</para> |
|
1204 |
<para>kivitendo kann mehrere Mandaten aus einer Installation heraus verwalten. Welcher Mandant benutzt wird, kann direkt beim Login |
|
1205 |
ausgewählt werden. Für jeden Mandanten wird ein eindeutiger Name vergeben, der beim Login angezeigt wird. Weiterhin benötigt der |
|
1206 |
Mandant Datenbankverbindungsparameter für seine Mandantendatenbank. Diese sollte über die <link |
|
1207 |
linkend="Datenbanken-anlegen">Datenbankverwaltung</link> geschehen.</para> |
|
1208 |
|
|
1209 |
<para>Ein Benutzer ist eine Person, die Zugriff auf kivitendo erhalten soll. Sie erhält einen Loginnamen sowie ein |
|
1210 |
Passwort. Weiterhin legt der Administrator fest, an welchen Mandanten sich ein Benutzer anmelden kann, was beim Login verifiziert |
|
1211 |
wird.</para> |
|
1212 |
|
|
1213 |
<para>Gruppen dienen dazu, Benutzern innerhalb eines Mandanten Zugriff auf bestimmte Funktionen zu geben. Einer Gruppe werden dafür |
|
1214 |
vom Administrator gewisse Rechte zugeordnet. Weiterhin legt der Administrator fest, für welche Mandanten eine Gruppe gilt, und |
|
1215 |
welche Benutzer Mitglieder in dieser Gruppe sind. Meldet sich ein Benutzer dann an einem Mandanten an, so erhält er alle Rechte von |
|
1216 |
allen denjenigen Gruppen, die zum Einen dem Mandanten zugeordnet sind und in denen der Benutzer zum Anderen Mitglied ist, </para> |
|
1217 |
|
|
1218 |
<para>Die Reihenfolge, in der Datenbanken, Mandanten, Gruppen und Benutzer angelegt werden, kann im Prinzip beliebig gewählt |
|
1219 |
werden. Die folgende Reihenfolge beinhaltet die wenigsten Arbeitsschritte:</para> |
|
1198 | 1220 |
|
1199 | 1221 |
<orderedlist numeration="arabic"> |
1200 | 1222 |
<listitem> |
... | ... | |
1206 | 1228 |
</listitem> |
1207 | 1229 |
|
1208 | 1230 |
<listitem> |
1209 |
<para>Benutzer anlegen</para> |
|
1231 |
<para>Benutzer anlegen und Gruppen als Mitglied zuordnen</para>
|
|
1210 | 1232 |
</listitem> |
1211 | 1233 |
|
1212 | 1234 |
<listitem> |
1213 |
<para>Benutzer den Gruppen zuordnen</para>
|
|
1235 |
<para>Mandanten anlegen und Gruppen sowie Benutzer zuweisen</para>
|
|
1214 | 1236 |
</listitem> |
1215 | 1237 |
</orderedlist> |
1216 | 1238 |
</sect2> |
... | ... | |
1241 | 1263 |
Anlegen können Sie die verschiedenen Bereiche wählen, auf die |
1242 | 1264 |
Mitglieder dieser Gruppe Zugriff haben sollen.</para> |
1243 | 1265 |
|
1244 |
<para>Benutzergruppen sind unabhängig von Datenbanken, da sie in der |
|
1245 |
Authentifizierungsdatenbank gespeichert werden. Sie gelten für alle |
|
1246 |
Datenbanken, die in dieser Installation verwaltet werden.</para> |
|
1266 |
<para>Benutzergruppen werden zwar in der Authentifizierungsdatenbank gespeichert, gelten aber nicht automatisch für alle |
|
1267 |
Mandanten. Der Administrator legt vielmehr fest, für welche Mandanten eine Gruppe gültig ist. Dies kann entweder beim Bearbeiten der |
|
1268 |
Gruppe geschehen ("diese Gruppe ist gültig für Mandanten X, Y und Z"), oder aber wenn man einen Mandanten bearbeitet ("für diesen |
|
1269 |
Mandanten sind die Gruppen A, B und C gültig").</para> |
|
1270 |
|
|
1271 |
<para>Wurden bereits Benutzer angelegt, so können hier die Mitglieder dieser Gruppe festgelegt werden ("in dieser Gruppe sind die |
|
1272 |
Benutzer X, Y und Z Mitglieder"). Dies kann auch nachträglich beim Bearbeiten eines Benutzers geschehen ("dieser Benutzer ist |
|
1273 |
Mitglied in den Gruppen A, B und C").</para> |
|
1247 | 1274 |
</sect2> |
1248 | 1275 |
|
1249 | 1276 |
<sect2 id="Benutzer-anlegen"> |
1250 | 1277 |
<title>Benutzer anlegen</title> |
1251 | 1278 |
|
1252 |
<para>Beim Anlegen von Benutzern werden für viele Parameter |
|
1253 |
Standardeinstellungen vorgenommen, die den Gepflogenheiten des |
|
1254 |
deutschen Raumes entsprechen.</para> |
|
1279 |
<para>Beim Anlegen von Benutzern werden für viele Parameter Standardeinstellungen vorgenommen, die den Gepflogenheiten des deutschen |
|
1280 |
Raumes entsprechen.</para> |
|
1255 | 1281 |
|
1256 |
<para>Zwingend anzugeben sind der Loginname sowie die komplette |
|
1257 |
Datenbankkonfiguration. Wenn die Passwortauthentifizierung über die |
|
1258 |
Datenbank eingestellt ist, so kann hier auch das Benutzerpasswort |
|
1259 |
gesetzt bzw. geändert werden. Ist hingegen die LDAP-Authentifizierung |
|
1260 |
aktiv, so ist das Passwort-Feld deaktiviert.</para> |
|
1282 |
<para>Zwingend anzugeben ist der Loginname. Wenn die Passwortauthentifizierung über die Datenbank eingestellt ist, so kann hier auch |
|
1283 |
das Benutzerpasswort gesetzt bzw. geändert werden. Ist hingegen die LDAP-Authentifizierung aktiv, so ist das Passwort-Feld |
|
1284 |
deaktiviert.</para> |
|
1261 | 1285 |
|
1262 |
<para>In der Datenbankkonfiguration müssen die Zugriffsdaten einer der |
|
1263 |
eben angelegten Datenbanken eingetragen werden.</para> |
|
1286 |
<para>Hat man bereits Mandanten und Gruppen angelegt, so kann hier auch konfiguriert werden, auf welche Mandanten der Benutzer |
|
1287 |
Zugriff hat bzw. in welchen Gruppen er Mitglied ist. Beide Zuweisungen können sowohl beim Benutzer vorgenommen werden ("dieser |
|
1288 |
Benutzer hat Zugriff auf Mandanten X, Y, Z" bzw. "dieser Benutzer ist Mitglied in Gruppen X, Y und Z") als auch beim Mandanten ("auf |
|
1289 |
diesen Mandanten haben Benutzer A, B und C Zugriff") bzw. bei der Gruppe ("in dieser Gruppe sind Benutzer A, B und C |
|
1290 |
Mitglieder").</para> |
|
1264 | 1291 |
</sect2> |
1265 | 1292 |
|
1266 |
<sect2 id="Gruppenmitgliedschaften-verwalten">
|
|
1267 |
<title>Gruppenmitgliedschaften verwalten</title>
|
|
1293 |
<sect2 id="Mandanten-anlegen">
|
|
1294 |
<title>Mandanten anlegen</title>
|
|
1268 | 1295 |
|
1269 |
<para>Nach dem Anlegen von Benutzern und Gruppen müssen Benutzer den |
|
1270 |
Gruppen zugewiesen werden. Dazu gibt es zwei Möglichkeiten:</para> |
|
1271 |
|
|
1272 |
<orderedlist numeration="arabic"> |
|
1273 |
<listitem> |
|
1274 |
<para>In der Gruppenverwaltung wählt man eine Gruppe aus. Im |
|
1275 |
folgenden Dialog kann man dann einzeln die Benutzer der Gruppe |
|
1276 |
hinzufügen.</para> |
|
1277 |
</listitem> |
|
1278 |
|
|
1279 |
<listitem> |
|
1280 |
<para>In der Gruppenverwaltung wählt man das Tool zur Verwaltung |
|
1281 |
der Gruppenmitgliedschaft. Hier wird eine Matrix angezeigt, die |
|
1282 |
alle im System angelegten Gruppen und Benutzer enthält. Durch |
|
1283 |
Setzen der Häkchen wird der Benutzer in der ausgewählten Zeile der |
|
1284 |
Gruppe in der ausgewählten Spalte hinzugefügt.</para> |
|
1285 |
</listitem> |
|
1286 |
</orderedlist> |
|
1287 |
</sect2> |
|
1296 |
<para>Ein Mandant besteht aus Administrationssicht primär aus einem eindeutigen Namen. Weiterhin wird hier hinterlegt, welche |
|
1297 |
Datenbank als Mandantendatenbank benutzt wird. Hier müssen die Zugriffsdaten einer der eben angelegten Datenbanken eingetragen |
|
1298 |
werden.</para> |
|
1288 | 1299 |
|
1289 |
<sect2 id="Migration-alter-Installationen"> |
|
1290 |
<title>Migration alter Installationen</title> |
|
1291 |
|
|
1292 |
<para>Wenn kivitendo 2.6.3 über eine ältere Version installiert wird, |
|
1293 |
in der die Benutzerdaten noch im Dateisystem im Verzeichnis |
|
1294 |
<literal>users</literal> verwaltet wurden, so bietet kivitendo die |
|
1295 |
Möglichkeit, diese Benutzerdaten automatisch in die |
|
1296 |
Authentifizierungsdatenbank zu übernehmen. Dies geschieht, wenn man |
|
1297 |
sich nach dem Update der Installation das erste Mal im |
|
1298 |
Administrationsbereich anmeldet. Findet kivitendo die Datei |
|
1299 |
<literal>users/members</literal>, so wird der Migrationsprozess |
|
1300 |
gestartet.</para> |
|
1301 |
|
|
1302 |
<para>Der Migrationsprozess ist nahezu vollautomatisch. Alle |
|
1303 |
Benutzerdaten können übernommen werden. Nach den Benutzerdaten bietet |
|
1304 |
kivitendo noch die Möglichkeit an, dass automatisch eine |
|
1305 |
Benutzergruppe angelegt wird. Dieser Gruppe wird Zugriff auf alle |
|
1306 |
Funktionen von kivitendo gewährt. Alle migrierten Benutzern werden |
|
1307 |
Mitglied in dieser Gruppe. Damit wird das Verhalten von kivitendo bis |
|
1308 |
Version 2.4.3 inklusive wiederhergestellt, und die Benutzer können |
|
1309 |
sich sofort wieder anmelden und mit dem System arbeiten.</para> |
|
1300 |
<para>Hat man bereits Benutzer und Gruppen angelegt, so kann hier auch konfiguriert werden, welche Benutzer Zugriff auf den |
|
1301 |
Mandanten haben bzw. welche Gruppen für den Mandanten gültig sind. Beide Zuweisungen können sowohl beim Mandanten vorgenommen werden |
|
1302 |
("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 |
|
1303 |
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 |
|
1304 |
C gültig").</para> |
|
1310 | 1305 |
</sect2> |
1311 | 1306 |
</sect1> |
1312 | 1307 |
|
... | ... | |
2043 | 2038 |
<para>Die Administrationsseite erreichen Sie unter:</para> |
2044 | 2039 |
|
2045 | 2040 |
<para><ulink |
2046 |
url="http://localhost/kivitendo-erp/admin.pl">http://localhost/kivitendo-erp/admin.pl</ulink></para>
|
|
2041 |
url="http://localhost/kivitendo-erp/controller.pl?action=Admin/login">http://localhost/kivitendo-erp/controller.pl?action=Admin/login</ulink></para>
|
|
2047 | 2042 |
</sect1> |
2048 | 2043 |
</chapter> |
2049 | 2044 |
|
... | ... | |
5104 | 5099 |
überwiegend die Daten, die sich unter <guimenu>Programm</guimenu> |
5105 | 5100 |
-> <guimenuitem>Einstellungen</guimenuitem> befinden, bzw. die |
5106 | 5101 |
Informationen über den Benutzer die über die |
5107 |
Administrator-Schnittstelle (admin.pl) eingegeben wurden.</para>
|
|
5102 |
Administrator-Schnittstelle eingegeben wurden.</para> |
|
5108 | 5103 |
</sect3> |
5109 | 5104 |
|
5110 | 5105 |
<sect3> |
... | ... | |
5193 | 5188 |
vom aktuellen User abhängen wird das Objekt aus |
5194 | 5189 |
Geschwindigkeitsgründen nur einmal angelegt und dann nach jedem |
5195 | 5190 |
Request kurz resettet.</para> |
5191 |
|
|
5192 |
<para>Dieses Objekt kapselt auch den gerade aktiven Mandanten. Dessen Einstellungen können über |
|
5193 |
<literal>$::auth->client</literal> abgefragt werden; Rückgabewert ist ein Hash mit den Werten aus der Tabelle |
|
5194 |
<literal>auth.clients</literal>.</para> |
|
5196 | 5195 |
</sect3> |
5197 | 5196 |
|
5198 | 5197 |
<sect3> |
doc/html/ch02.html | ||
---|---|---|
11 | 11 |
<span class="emphasis"><em>Konfiguration externer Programme</em></span>: hierzu gehören die Datenbank ("<a class="xref" href="ch02s05.html" title="2.5. Anpassung der PostgreSQL-Konfiguration">Abschnitt 2.5, „Anpassung der PostgreSQL-Konfiguration“</a>") und der Webserver ("<a class="xref" href="ch02s06.html" title="2.6. Webserver-Konfiguration">Abschnitt 2.6, „Webserver-Konfiguration“</a>"). </p></li><li class="listitem"><p> |
12 | 12 |
<span class="emphasis"><em>Benutzerinformationen speichern können</em></span>: man benötigt mindestens eine Datenbank, in der |
13 | 13 |
Informationen zur Authentifizierung sowie die Nutzdaten gespeichert werden. Wie man das als Administrator macht, verrät "<a class="xref" href="ch02s08.html" title="2.8. Benutzerauthentifizierung und Administratorpasswort">Abschnitt 2.8, „Benutzerauthentifizierung und Administratorpasswort“</a>".</p></li><li class="listitem"><p> |
14 |
<span class="emphasis"><em>Benutzer, Gruppen und Datenbanken anlegen</em></span>: wie dies alles zusammenspielt erläutert "<a class="xref" href="ch02s09.html" title="2.9. Benutzer- und Gruppenverwaltung">Abschnitt 2.9, „Benutzer- und Gruppenverwaltung“</a>".</p></li><li class="listitem"><p>
|
|
14 |
<span class="emphasis"><em>Benutzer, Gruppen und Datenbanken anlegen</em></span>: wie dies alles zusammenspielt erläutert "<a class="xref" href="ch02s09.html" title="2.9. Mandanten-, Benutzer- und Gruppenverwaltung">Abschnitt 2.9, „Mandanten-, Benutzer- und Gruppenverwaltung“</a>".</p></li><li class="listitem"><p>
|
|
15 | 15 |
<span class="emphasis"><em>Los geht's</em></span>: alles soweit erledigt? Dann kann es losgehen: "<a class="xref" href="ch02s16.html" title="2.16. kivitendo ERP verwenden">Abschnitt 2.16, „kivitendo ERP verwenden“</a>"</p></li></ol></div><p> |
16 | 16 |
Alle weiteren Unterkapitel in diesem Kapitel sind ebenfalls wichtig und dienen sollten vor einer ernsthaften Inbetriebnahme gelesen |
17 | 17 |
werden. |
doc/html/ch02s02.html | ||
---|---|---|
27 | 27 |
<code class="literal">Email::MIME</code> |
28 | 28 |
</p></li><li class="listitem"><p> |
29 | 29 |
<code class="literal">FCGI</code> (nicht Versionen 0.68 bis 0.71 inklusive; siehe <a class="xref" href="ch02s06.html#Apache-Konfiguration.FCGI.WebserverUndPlugin" title="2.6.2.3. Getestete Kombinationen aus Webservern und Plugin">Abschnitt 2.6.2.3, „Getestete Kombinationen aus Webservern und Plugin“</a>)</p></li><li class="listitem"><p> |
30 |
<code class="literal">File::Copy::Recursive</code> |
|
31 |
</p></li><li class="listitem"><p> |
|
30 | 32 |
<code class="literal">JSON</code> |
31 | 33 |
</p></li><li class="listitem"><p> |
32 | 34 |
<code class="literal">List::MoreUtils</code> |
... | ... | |
69 | 71 |
sind auch in 2.6.1 weiterhin mit ausgeliefert, wurden in einer |
70 | 72 |
zukünftigen Version aber aus dem Paket entfernt werden. Es wird |
71 | 73 |
empfohlen diese Module zusammen mit den anderen als Bibliotheken zu |
72 |
installieren.</p><div class="sect3" title="2.2.2.1. Debian und Ubuntu"><div class="titlepage"><div><div><h4 class="title"><a name="d0e326"></a>2.2.2.1. Debian und Ubuntu</h4></div></div></div><p>Alle benötigten Perl-Pakete stehen für Debian und Ubuntu als Debian-Pakete zur Verfügung. Sie können mit folgendem Befehl
|
|
74 |
installieren.</p><div class="sect3" title="2.2.2.1. Debian und Ubuntu"><div class="titlepage"><div><div><h4 class="title"><a name="d0e332"></a>2.2.2.1. Debian und Ubuntu</h4></div></div></div><p>Alle benötigten Perl-Pakete stehen für Debian und Ubuntu als Debian-Pakete zur Verfügung. Sie können mit folgendem Befehl
|
|
73 | 75 |
installiert werden:</p><pre class="programlisting">apt-get install apache2 libarchive-zip-perl libclone-perl \ |
74 | 76 |
libconfig-std-perl libdatetime-perl libdbd-pg-perl libdbi-perl \ |
75 | 77 |
libemail-address-perl libemail-mime-perl libfcgi-perl libjson-perl \ |
... | ... | |
78 | 80 |
librose-db-perl librose-object-perl libsort-naturally-perl \ |
79 | 81 |
libstring-shellquote-perl libtemplate-perl libtext-csv-xs-perl \ |
80 | 82 |
libtext-iconv-perl liburi-perl libxml-writer-perl libyaml-perl \ |
81 |
postgresql</pre></div><div class="sect3" title="2.2.2.2. Fedora Core"><div class="titlepage"><div><div><h4 class="title"><a name="d0e333"></a>2.2.2.2. Fedora Core</h4></div></div></div><p>Für Fedora Core stehen die meisten der benötigten Perl-Pakete als RPM-Pakete zur Verfügung. Sie können mit folgendem Befehl installeirt werden:</p><pre class="programlisting">yum install httpd perl-Archive-Zip perl-Clone perl-DBD-Pg \
|
|
83 |
libfile-copy-recursive-perl postgresql</pre></div><div class="sect3" title="2.2.2.2. Fedora Core"><div class="titlepage"><div><div><h4 class="title"><a name="d0e339"></a>2.2.2.2. Fedora Core</h4></div></div></div><p>Für Fedora Core stehen die meisten der benötigten Perl-Pakete als RPM-Pakete zur Verfügung. Sie können mit folgendem Befehl installeirt werden:</p><pre class="programlisting">yum install httpd perl-Archive-Zip perl-Clone perl-DBD-Pg \
|
|
82 | 84 |
perl-DBI perl-DateTime perl-Email-Address perl-Email-MIME perl-FCGI \ |
83 |
perl-JSON perl-List-MoreUtils perl-Net-SMTP-SSL perl-Net-SSLGlue \ |
|
85 |
perl-File-Copy-Recursive perl-JSON perl-List-MoreUtils perl-Net-SMTP-SSL perl-Net-SSLGlue \
|
|
84 | 86 |
perl-PDF-API2 perl-Params-Validate perl-Rose-DB perl-Rose-DB-Object \ |
85 | 87 |
perl-Rose-Object perl-Sort-Naturally perl-String-ShellQuote \ |
86 | 88 |
perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI \ |
87 | 89 |
perl-XML-Writer perl-YAML perl-parent postgresql-server</pre><p>Zusätzlich müssen einige Pakete aus dem CPAN installiert werden. Dazu können Sie die folgenden Befehle nutzen:</p><pre class="programlisting">yum install perl-CPAN |
88 |
cpan Config::Std</pre></div><div class="sect3" title="2.2.2.3. openSUSE"><div class="titlepage"><div><div><h4 class="title"><a name="d0e344"></a>2.2.2.3. openSUSE</h4></div></div></div><p>Für openSUSE stehen die meisten der benötigten Perl-Pakete als RPM-Pakete zur Verfügung. Sie können mit folgendem Befehl
|
|
90 |
cpan Config::Std</pre></div><div class="sect3" title="2.2.2.3. openSUSE"><div class="titlepage"><div><div><h4 class="title"><a name="d0e350"></a>2.2.2.3. openSUSE</h4></div></div></div><p>Für openSUSE stehen die meisten der benötigten Perl-Pakete als RPM-Pakete zur Verfügung. Sie können mit folgendem Befehl
|
|
89 | 91 |
installiert werden:</p><pre class="programlisting">zypper install apache2 perl-Archive-Zip perl-Clone \ |
90 | 92 |
perl-Config-Std perl-DBD-Pg perl-DBI perl-DateTime perl-Email-Address \ |
91 |
perl-Email-MIME perl-FastCGI perl-JSON perl-List-MoreUtils \ |
|
93 |
perl-Email-MIME perl-FastCGI perl-File-Copy-Recursive perl-JSON perl-List-MoreUtils \
|
|
92 | 94 |
perl-Net-SMTP-SSL perl-Net-SSLGlue perl-PDF-API2 perl-Params-Validate \ |
93 | 95 |
perl-Sort-Naturally perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv \ |
94 | 96 |
perl-URI perl-XML-Writer perl-YAML postgresql-server</pre><p>Zusätzlich müssen einige Pakete aus dem CPAN installiert werden. Dazu können Sie die folgenden Befehle nutzen:</p><pre class="programlisting">yum install perl-CPAN |
doc/html/ch02s04.html | ||
---|---|---|
58 | 58 |
dbcharset = UTF-8</pre><p>Nutzt man wiederkehrende Rechnungen, kann man unter |
59 | 59 |
<code class="varname">[periodic_invoices]</code> den Login eines Benutzers |
60 | 60 |
angeben, der nach Erstellung der Rechnungen eine entsprechende E-Mail |
61 |
mit Informationen über die erstellten Rechnungen bekommt.</p><p>Nutzt man den <a class="link" href="ch02s07.html" title="2.7. Der Task-Server">Taskserver</a> für <a class="link" href="ch03.html#features.periodic-invoices" title="3.1. Wiederkehrende Rechnungen">wiederkehrende Rechnungen</a>, |
|
62 |
muss unter <code class="varname">[task_server]</code> ein Login eines Benutzers |
|
63 |
angegeben werden, mit dem sich der Taskserver an kivitendo bei der |
|
64 |
Datenbank anmeldet, die dem Benutzer zugewiesen ist.</p><p>Für Entwickler finden sich unter <code class="varname">[debug]</code> |
|
61 |
mit Informationen über die erstellten Rechnungen bekommt.</p><p>kivitendo bringt eine eigene Komponente zur zeitgesteuerten Ausführung bestimmter Aufgaben mit, den <a class="link" href="ch02s07.html" title="2.7. Der Task-Server">Taskserver</a>. Er wird u.a. für Features wie die <a class="link" href="ch03.html#features.periodic-invoices" title="3.1. Wiederkehrende Rechnungen">wiederkehrenden Rechnungen</a> benötigt, erledigt aber auch andere erforderliche Aufgaben |
|
62 |
und muss daher in Betrieb genommen werden. Der Taskserver benötigt zwei Konfigurationseinstellungen, die unter |
|
63 |
<code class="varname">[task_server]</code> anzugeben sind: ein Mandant (entweder der Mandantenname oder eine Datenbank-ID, Variable |
|
64 |
<code class="varname">client</code>), aus dem die Datenbankkonfiguration entnommen wird, sowie ein Login (Variable <code class="varname">login</code>) |
|
65 |
eines Benutzers, der für gewisse Dinge wie die Rechnungserstellung als Verkäufer eingetragen wird.</p><p>Für Entwickler finden sich unter <code class="varname">[debug]</code> |
|
65 | 66 |
wichtige Funktionen, um die Fehlersuche zu erleichtern.</p></div><div class="sect2" title="2.4.3. Versionen vor 2.6.3"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.prior-versions"></a>2.4.3. Versionen vor 2.6.3</h3></div></div></div><p>In älteren kivitendo Versionen gab es im Verzeichnis |
66 | 67 |
<code class="filename">config</code> die Dateien |
67 | 68 |
<code class="filename">authentication.pl</code> und |
doc/html/ch02s06.html | ||
---|---|---|
1 | 1 |
<html><head> |
2 | 2 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
3 |
<title>2.6. Webserver-Konfiguration</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.0.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s05.html" title="2.5. Anpassung der PostgreSQL-Konfiguration"><link rel="next" href="ch02s07.html" title="2.7. Der Task-Server"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.6. Webserver-Konfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s05.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s07.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.6. Webserver-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Apache-Konfiguration"></a>2.6. Webserver-Konfiguration</h2></div></div></div><div class="sect2" title="2.6.1. Grundkonfiguration mittels CGI"><div class="titlepage"><div><div><h3 class="title"><a name="d0e678"></a>2.6.1. Grundkonfiguration mittels CGI</h3></div></div></div><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>Für einen deutlichen Performanceschub sorgt die Ausführung
|
|
3 |
<title>2.6. Webserver-Konfiguration</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.0.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s05.html" title="2.5. Anpassung der PostgreSQL-Konfiguration"><link rel="next" href="ch02s07.html" title="2.7. Der Task-Server"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.6. Webserver-Konfiguration</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s05.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s07.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.6. Webserver-Konfiguration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Apache-Konfiguration"></a>2.6. Webserver-Konfiguration</h2></div></div></div><div class="sect2" title="2.6.1. Grundkonfiguration mittels CGI"><div class="titlepage"><div><div><h3 class="title"><a name="d0e690"></a>2.6.1. Grundkonfiguration mittels CGI</h3></div></div></div><div class="note" title="Anmerkung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Anmerkung]" src="system/docbook-xsl/images/note.png"></td><th align="left">Anmerkung</th></tr><tr><td align="left" valign="top"><p>Für einen deutlichen Performanceschub sorgt die Ausführung
|
|
4 | 4 |
mittels FastCGI/FCGI. Die Einrichtung wird ausführlich im Abschnitt |
5 | 5 |
<a class="xref" href="ch02s06.html#Apache-Konfiguration.FCGI" title="2.6.2. Konfiguration für FastCGI/FCGI">Konfiguration für FastCGI/FCGI</a> beschrieben.</p></td></tr></table></div><p>Der Zugriff auf das Programmverzeichnis muss in der Apache |
6 | 6 |
Webserverkonfigurationsdatei <code class="literal">httpd.conf</code> eingestellt |
doc/html/ch02s07.html | ||
---|---|---|
1 | 1 |
<html><head> |
2 | 2 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
3 |
<title>2.7. Der Task-Server</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.0.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s06.html" title="2.6. Webserver-Konfiguration"><link rel="next" href="ch02s08.html" title="2.8. Benutzerauthentifizierung und Administratorpasswort"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.7. Der Task-Server</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s06.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s08.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.7. Der Task-Server"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.task-server"></a>2.7. Der Task-Server</h2></div></div></div><p>Der Task-Server ist ein Prozess, der im Hintergrund läuft, in |
|
4 |
regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und diese zu |
|
5 |
festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser Prozess |
|
6 |
wird bisher nur für die Erzeugung der wiederkehrenden Rechnungen |
|
7 |
benutzt, wird aber in Zukunft deutlich mehr Aufgaben übertragen |
|
8 |
bekommen.</p><div class="sect2" title="2.7.1. Verfügbare und notwendige Konfigurationsoptionen"><div class="titlepage"><div><div><h3 class="title"><a name="Konfiguration-des-Task-Servers"></a>2.7.1. Verfügbare und notwendige Konfigurationsoptionen</h3></div></div></div><p>Die Konfiguration erfolgt über den Abschnitt |
|
3 |
<title>2.7. Der Task-Server</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.0.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s06.html" title="2.6. Webserver-Konfiguration"><link rel="next" href="ch02s08.html" title="2.8. Benutzerauthentifizierung und Administratorpasswort"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.7. Der Task-Server</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s06.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s08.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.7. Der Task-Server"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.task-server"></a>2.7. Der Task-Server</h2></div></div></div><p>Der Task-Server ist ein Prozess, der im Hintergrund läuft, in regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und |
|
4 |
diese zu festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser Prozess wird u.a. für die Erzeugung der wiederkehrenden |
|
5 |
Rechnungen und weitere essenzielle Aufgaben benutzt.</p><div class="sect2" title="2.7.1. Verfügbare und notwendige Konfigurationsoptionen"><div class="titlepage"><div><div><h3 class="title"><a name="Konfiguration-des-Task-Servers"></a>2.7.1. Verfügbare und notwendige Konfigurationsoptionen</h3></div></div></div><p>Die Konfiguration erfolgt über den Abschnitt |
|
9 | 6 |
<code class="literal">[task_server]</code> in der Datei |
10 | 7 |
<code class="filename">config/kivitendo.conf</code>. Die dort verfügbaren |
11 | 8 |
Optionen sind:</p><div class="variablelist"><dl><dt><span class="term"> |
9 |
<code class="varname">client</code> |
|
10 |
</span></dt><dd><p>Name oder Datenbank-ID eines vorhandenen kivitendo-Mandanten, der benutzt wird, um die zu verwendende |
|
11 |
Datenbankverbindung auszulesen. Der Mandant muss in der Administration angelegt werden. Diese Option muss angegeben |
|
12 |
werden.</p><p>Diese Option kam mit Release v3.x.0 hinzu und muss daher in Konfigurationen, die von älteren Versionen aktualisiert |
|
13 |
wurden, ergänzt werden.</p></dd><dt><span class="term"> |
|
12 | 14 |
<code class="varname">login</code> |
13 |
</span></dt><dd><p>gültiger kivitendo-Benutzername, der benutzt wird, um die |
|
14 |
zu verwendende Datenbankverbindung auszulesen. Der Benutzer muss |
|
15 |
in der Administration angelegt werden. Diese Option muss |
|
16 |
angegeben werden.</p></dd><dt><span class="term"> |
|
15 |
</span></dt><dd><p>gültiger kivitendo-Benutzername, der z.B. als Verkäufer beim Erzeugen wiederkehrender Rechnungen benötigt wird. Der |
|
16 |
Benutzer muss in der Administration angelegt werden. Diese Option muss angegeben werden.</p></dd><dt><span class="term"> |
|
17 | 17 |
<code class="varname">run_as</code> |
18 | 18 |
</span></dt><dd><p>Wird der Server vom Systembenutzer <code class="literal">root</code> |
19 | 19 |
gestartet, so wechselt er auf den mit <code class="literal">run_as</code> |
... | ... | |
29 | 29 |
Links aus einem der Runlevel-Verzeichnisse heraus in den Boot-Prozess |
30 | 30 |
einzubinden. Da das bei neueren Linux-Distributionen aber nicht |
31 | 31 |
zwangsläufig funktioniert, werden auch Start-Scripte mitgeliefert, die |
32 |
anstelle eines symbolischen Links verwendet werden können.</p><div class="sect3" title="2.7.2.1. SystemV-basierende Systeme (z.B. Debian, ältere OpenSUSE, ältere Fedora Core)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e865"></a>2.7.2.1. SystemV-basierende Systeme (z.B. Debian, ältere OpenSUSE, ältere Fedora Core)</h4></div></div></div><p>Kopieren Sie die Datei
|
|
32 |
anstelle eines symbolischen Links verwendet werden können.</p><div class="sect3" title="2.7.2.1. SystemV-basierende Systeme (z.B. Debian, ältere OpenSUSE, ältere Fedora Core)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e888"></a>2.7.2.1. SystemV-basierende Systeme (z.B. Debian, ältere OpenSUSE, ältere Fedora Core)</h4></div></div></div><p>Kopieren Sie die Datei
|
|
33 | 33 |
<code class="filename">scripts/boot/system-v/kivitendo-server</code> |
34 | 34 |
nach <code class="filename">/etc/init.d/kivitendo-server</code>. Passen |
35 | 35 |
Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile |
... | ... | |
37 | 37 |
Boot-Prozess ein. Dies ist distributionsabhängig:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Debian-basierende Systeme:</p><pre class="programlisting">update-rc.d kivitendo-task-server defaults |
38 | 38 |
# Nur bei Debian Squeeze und neuer: |
39 | 39 |
insserv kivitendo-task-server</pre></li><li class="listitem"><p>Ältere OpenSUSE und ältere Fedora Core:</p><pre class="programlisting">chkconfig --add kivitendo-task-server</pre></li></ul></div><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet |
40 |
werden:</p><pre class="programlisting">/etc/init.d/kivitendo-task-server start</pre></div><div class="sect3" title="2.7.2.2. Upstart-basierende Systeme (z.B. Ubuntu)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e894"></a>2.7.2.2. Upstart-basierende Systeme (z.B. Ubuntu)</h4></div></div></div><p>Kopieren Sie die Datei
|
|
40 |
werden:</p><pre class="programlisting">/etc/init.d/kivitendo-task-server start</pre></div><div class="sect3" title="2.7.2.2. Upstart-basierende Systeme (z.B. Ubuntu)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e917"></a>2.7.2.2. Upstart-basierende Systeme (z.B. Ubuntu)</h4></div></div></div><p>Kopieren Sie die Datei
|
|
41 | 41 |
<code class="filename">scripts/boot/upstart/kivitendo-task-server.conf</code> |
42 | 42 |
nach <code class="filename">/etc/init/kivitendo-task-server.conf</code>. |
43 | 43 |
Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile |
44 | 44 |
<code class="literal">exec ....</code>).</p><p>Danach kann der Task-Server mit dem folgenden Befehl gestartet |
45 |
werden:</p><pre class="programlisting">service kivitendo-task-server start</pre></div><div class="sect3" title="2.7.2.3. systemd-basierende Systeme (z.B. neure OpenSUSE, neuere Fedora Core)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e912"></a>2.7.2.3. systemd-basierende Systeme (z.B. neure OpenSUSE, neuere Fedora Core)</h4></div></div></div><p>Verlinken Sie die Datei <code class="filename">scripts/boot/systemd/kivitendo-task-server.service</code> nach
|
|
45 |
werden:</p><pre class="programlisting">service kivitendo-task-server start</pre></div><div class="sect3" title="2.7.2.3. systemd-basierende Systeme (z.B. neure OpenSUSE, neuere Fedora Core)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e935"></a>2.7.2.3. systemd-basierende Systeme (z.B. neure OpenSUSE, neuere Fedora Core)</h4></div></div></div><p>Verlinken Sie die Datei <code class="filename">scripts/boot/systemd/kivitendo-task-server.service</code> nach
|
|
46 | 46 |
<code class="filename">/etc/systemd/system/</code>. Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile |
47 | 47 |
<code class="literal">ExecStart=....</code> und <code class="literal">ExecStop=...</code>). Binden Sie das Script in den Boot-Prozess ein. |
48 | 48 |
</p><p>Alle hierzu benötigten Befehle sehen so aus:</p><pre class="programlisting">cd /var/www/kivitendo-erp/scripts/boot/systemd |
... | ... | |
60 | 60 |
<code class="literal">status</code> berichtet, ob der Task-Server |
61 | 61 |
läuft.</p></li></ul></div><p>Der Task-Server wechselt beim Starten automatisch in das |
62 | 62 |
kivitendo-Installationsverzeichnis.</p><p>Dieselben Optionen können auch für die SystemV-basierenden |
63 |
Runlevel-Scripte benutzt werden (siehe oben).</p></div><div class="sect2" title="2.7.4. Task-Server mit mehreren Mandanten"><div class="titlepage"><div><div><h3 class="title"><a name="Prozesskontrolle2"></a>2.7.4. Task-Server mit mehreren Mandanten</h3></div></div></div><p>Beim Task-Server wird der Login-Name des Benutzers, unter dem der |
|
64 |
Task-Server laufen soll, in die Konfigurationsdatei geschrieben. Hat |
|
65 |
man mehrere Mandanten muß man auch mehrere Konfigurationsdateien |
|
66 |
anlegen.</p><p>Die Konfigurationsdatei ist eine Kopie der Datei kivitendo.conf, |
|
67 |
wo in der Kategorie [task_server] der gewünschte "login" steht.</p><p>Der alternative Task-Server wird dann mit folgendem Befehl |
|
63 |
Runlevel-Scripte benutzt werden (siehe oben).</p></div><div class="sect2" title="2.7.4. Task-Server mit mehreren Mandanten"><div class="titlepage"><div><div><h3 class="title"><a name="Prozesskontrolle2"></a>2.7.4. Task-Server mit mehreren Mandanten</h3></div></div></div><p>Beim Task-Server werden der zu verwendende Mandant und Login-Name des Benutzers, unter dem der Task-Server laufen soll, in die |
|
64 |
Konfigurationsdatei geschrieben. Hat man mehrere Mandanten, muss man auch mehrere Konfigurationsdateien anlegen.</p><p>Die Konfigurationsdatei ist eine Kopie der Datei kivitendo.conf, wo in der Kategorie <code class="varname">[task_server]</code> die |
|
65 |
gewünschten Werte für <code class="varname">client</code> und <code class="varname">login</code> eingetragen werden.</p><p>Der alternative Task-Server wird dann mit folgendem Befehl |
|
68 | 66 |
gestartet:</p><pre class="programlisting">./scripts/task_server.pl -c config/DATEINAME.conf</pre></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s06.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s08.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.6. Webserver-Konfiguration </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.8. Benutzerauthentifizierung und Administratorpasswort</td></tr></table></div></body></html> |
doc/html/ch02s08.html | ||
---|---|---|
1 | 1 |
<html><head> |
2 | 2 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
3 |
<title>2.8. Benutzerauthentifizierung und Administratorpasswort</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.0.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s07.html" title="2.7. Der Task-Server"><link rel="next" href="ch02s09.html" title="2.9. Benutzer- und Gruppenverwaltung"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.8. Benutzerauthentifizierung und Administratorpasswort</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s07.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s09.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.8. Benutzerauthentifizierung und Administratorpasswort"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Benutzerauthentifizierung-und-Administratorpasswort"></a>2.8. Benutzerauthentifizierung und Administratorpasswort</h2></div></div></div><p>Informationen über die Einrichtung der Benutzerauthentifizierung, |
|
3 |
<title>2.8. Benutzerauthentifizierung und Administratorpasswort</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.0.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s07.html" title="2.7. Der Task-Server"><link rel="next" href="ch02s09.html" title="2.9. Mandanten-, Benutzer- und Gruppenverwaltung"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.8. Benutzerauthentifizierung und Administratorpasswort</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s07.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s09.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.8. Benutzerauthentifizierung und Administratorpasswort"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Benutzerauthentifizierung-und-Administratorpasswort"></a>2.8. Benutzerauthentifizierung und Administratorpasswort</h2></div></div></div><p>Informationen über die Einrichtung der Benutzerauthentifizierung,
|
|
4 | 4 |
über die Verwaltung von Gruppen und weitere Einstellungen</p><div class="sect2" title="2.8.1. Grundlagen zur Benutzerauthentifizierung"><div class="titlepage"><div><div><h3 class="title"><a name="Grundlagen-zur-Benutzerauthentifizierung"></a>2.8.1. Grundlagen zur Benutzerauthentifizierung</h3></div></div></div><p>kivitendo verwaltet die Benutzerinformationen in einer |
5 | 5 |
Datenbank, die im folgenden “Authentifizierungsdatenbank” genannt |
6 | 6 |
wird. Für jeden Benutzer kann dort eine eigene Datenbank für die |
... | ... | |
94 | 94 |
kivitendo die Authentifizierungsdatenbank anlegen. Dieses geschieht |
95 | 95 |
automatisch, wenn Sie sich im Administrationsmodul anmelden, das unter |
96 | 96 |
der folgenden URL erreichbar sein sollte:</p><p> |
97 |
<a class="ulink" href="http://localhost/kivitendo-erp/admin.pl" target="_top">http://localhost/kivitendo-erp/admin.pl</a> |
|
98 |
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s07.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s09.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.7. Der Task-Server </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.9. Benutzer- und Gruppenverwaltung</td></tr></table></div></body></html> |
|
97 |
<a class="ulink" href="http://localhost/kivitendo-erp/controller.pl?action=Admin/login" target="_top">http://localhost/kivitendo-erp/controller.pl?action=Admin/login</a> |
|
98 |
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s07.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s09.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.7. Der Task-Server </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.9. Mandanten-, Benutzer- und Gruppenverwaltung</td></tr></table></div></body></html> |
doc/html/ch02s09.html | ||
---|---|---|
1 | 1 |
<html><head> |
2 | 2 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
3 |
<title>2.9. Benutzer- und Gruppenverwaltung</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.0.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s08.html" title="2.8. Benutzerauthentifizierung und Administratorpasswort"><link rel="next" href="ch02s10.html" title="2.10. E-Mail-Versand aus kivitendo heraus"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.9. Benutzer- und Gruppenverwaltung</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s08.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s10.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.9. Benutzer- und Gruppenverwaltung"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Benutzer--und-Gruppenverwaltung"></a>2.9. Benutzer- und Gruppenverwaltung</h2></div></div></div><p>Nach der Installation müssen Benutzer, Gruppen und Datenbanken |
|
4 |
angelegt werden. Dieses geschieht im Administrationsmenü, das Sie unter |
|
5 |
folgender URL finden:</p><p> |
|
6 |
<a class="ulink" href="http://localhost/kivitendo-erp/admin.pl" target="_top">http://localhost/kivitendo-erp/admin.pl</a> |
|
3 |
<title>2.9. Mandanten-, Benutzer- und Gruppenverwaltung</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.0.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s08.html" title="2.8. Benutzerauthentifizierung und Administratorpasswort"><link rel="next" href="ch02s10.html" title="2.10. E-Mail-Versand aus kivitendo heraus"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.9. Mandanten-, Benutzer- und Gruppenverwaltung</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s08.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s10.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.9. Mandanten-, Benutzer- und Gruppenverwaltung"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Benutzer--und-Gruppenverwaltung"></a>2.9. Mandanten-, Benutzer- und Gruppenverwaltung</h2></div></div></div><p>Nach der Installation müssen Mandanten, Benutzer, Gruppen und Datenbanken angelegt werden. Dieses geschieht im |
|
4 |
Administrationsmenü, das Sie unter folgender URL finden:</p><p> |
|
5 |
<a class="ulink" href="http://localhost/kivitendo-erp/controller.pl?action=Admin/login" target="_top">http://localhost/kivitendo-erp/controller.pl?action=Admin/login</a> |
|
7 | 6 |
</p><p>Verwenden Sie zur Anmeldung das Password, dass Sie in der Datei |
8 |
<code class="filename">config/kivitendo.conf</code> eingetragen haben.</p><div class="sect2" title="2.9.1. Zusammenhänge"><div class="titlepage"><div><div><h3 class="title"><a name="Zusammenh%C3%A4nge"></a>2.9.1. Zusammenhänge</h3></div></div></div><p>kivitendo verwendet eine Datenbank zum Speichern all seiner |
|
7 |
<code class="filename">config/kivitendo.conf</code> eingetragen haben.</p><div class="sect2" title="2.9.1. Zusammenhänge"><div class="titlepage"><div><div><h3 class="title"><a name="Zusammenh%C3%A4nge"></a>2.9.1. Zusammenhänge</h3></div></div></div><p>kivitendo verwaltet zwei Sets von Daten, die je nach Einrichtung in einer oder zwei Datenbanken gespeichert werden.</p><p>Das erste Set besteht aus Anmeldeinformationen: welche Benutzer und Mandanten gibt es, welche Gruppen, welche BenutzerIn hat |
|
8 |
Zugriff auf welche Mandanten, und welche Gruppe verfügt über welche Rechte. Diese Informationen werden in der |
|
9 |
Authentifizierungsdatenbank gespeichert. Dies ist diejenige Datenbank, deren Verbindungsparameter in der Konfigurationsdatei |
|
10 |
<code class="filename">config/kivitendo.conf</code> gespeichert werden.</p><p>Das zweite Set besteht aus den eigentlichen Verkehrsdaten eines Mandanten: Stammdaten (Kunden, Lieferanten, Waren), Belege |
|
11 |
(Angebote, Liferscheine, Rechnungen), Einstellungen. Diese werden in einer Mandantendatenbank gespeichert. Die |
|
12 |
Verbindungsinformationen einer solchen Mandantendatenbank werden im Administrationsbereich konfiguriert, indem man einen Mandanten |
|
13 |
anlegt und dort die Parameter einträgt. Dabei hat jeder Mandant eine eigene Datenbank.</p><p>Aufgrund des Datenbankdesigns ist es für einfache Fälle möglich, die Authentifizierungsdatenbank und eine der |
|
14 |
Mandantendatenbanken in ein und derselben Datenbank zu speichern. Arbeitet man hingegen mit mehr als einem Mandanten, wird |
|
15 |
empfohlen, für die Authentifizierungsdatenbank eine eigene Datenbank zu verwenden, die nicht gleichzeitig für einen Mandanten |
|
16 |
verwendet wird.</p><p>kivitendo verwendet eine Datenbank zum Speichern all seiner |
|
9 | 17 |
Informationen wie Kundendaten, Artikel, Angebote, Rechnungen etc. Um |
10 | 18 |
mit kivitendo arbeiten zu können, muss eine Person einen |
11 | 19 |
Benutzeraccount haben. Jedem Benutzeraccount wiederum wird genau eine |
12 | 20 |
Datenbank zugewiesen, mit der dieser Benutzer arbeiten kann. Es ist |
13 | 21 |
möglich und normal, dass mehreren Benutzern die selbe Datenbank |
14 | 22 |
zugewiesen wird, sodass sie alle mit den selben Daten arbeiten |
15 |
können.</p><p>Die Basisdaten der Benutzer, die in der Administration |
|
16 |
eingegeben werden können, werden in einer zweiten Datenbank |
|
17 |
gespeichert, der bereits erwähnten Authentifizierungsdatenbank. Diese |
|
18 |
ist also den Produktivdaten enthaltenden Datenbanken vorgeschaltet. |
|
19 |
Pro kivitendo-Installation gibt es nur eine |
|
20 |
Authentifizierungsdatenbank, aber beliebig viele Datenbanken mit |
|
21 |
Firmendaten.</p><p>kivitendo kann seinen Benutzern Zugriff auf bestimmte |
|
22 |
Funktionsbereiche erlauben oder verbieten. Wird der Zugriff nicht |
|
23 |
gestattet, so werden der entsprechenden Menüpunkte auch nicht |
|
24 |
angezeigt. Diese Rechte werden ebenfalls in der |
|
25 |
Authentifizierungsdatenbank gespeichert.</p><p>Um Rechte verteilen zu können, verwendet kivitendo ein |
|
26 |
Gruppen-Prinzip. Einer Gruppe kann der Zugriff auf bestimmte Bereiche |
|
27 |
erlaubt werden. Ein Benutzer wiederum kann Mitglied in einer oder |
|
28 |
mehrerer Gruppen sein. Der Benutzer hat Zugriff auf alle diejenigen |
|
29 |
Funktionen, die mindestens einer Gruppe erlaubt sind, in der der |
|
30 |
Benutzer Mitglied ist.</p><p>Die allgemeine Reihenfolge, in der Datenbanken, Gruppen und |
|
31 |
Benutzer angelegt werden sollten, lautet:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Datenbank anlegen</p></li><li class="listitem"><p>Gruppen anlegen</p></li><li class="listitem"><p>Benutzer anlegen</p></li><li class="listitem"><p>Benutzer den Gruppen zuordnen</p></li></ol></div></div><div class="sect2" title="2.9.2. Datenbanken anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Datenbanken-anlegen"></a>2.9.2. Datenbanken anlegen</h3></div></div></div><p>Zuerst muss eine Datenbank angelegt werden. Verwenden Sie für |
|
23 |
können.</p></div><div class="sect2" title="2.9.2. Mandanten, Benutzer und Gruppen"><div class="titlepage"><div><div><h3 class="title"><a name="Mandanten-Benutzer-Gruppen"></a>2.9.2. Mandanten, Benutzer und Gruppen</h3></div></div></div><p>kivitendos Administration kennt Mandanten, Benutzer und Gruppen, die sich frei zueinander zuordnen lassen.</p><p>kivitendo kann mehrere Mandaten aus einer Installation heraus verwalten. Welcher Mandant benutzt wird, kann direkt beim Login |
|
24 |
ausgewählt werden. Für jeden Mandanten wird ein eindeutiger Name vergeben, der beim Login angezeigt wird. Weiterhin benötigt der |
|
25 |
Mandant Datenbankverbindungsparameter für seine Mandantendatenbank. Diese sollte über die <a class="link" href="ch02s09.html#Datenbanken-anlegen" title="2.9.3. Datenbanken anlegen">Datenbankverwaltung</a> geschehen.</p><p>Ein Benutzer ist eine Person, die Zugriff auf kivitendo erhalten soll. Sie erhält einen Loginnamen sowie ein |
|
26 |
Passwort. Weiterhin legt der Administrator fest, an welchen Mandanten sich ein Benutzer anmelden kann, was beim Login verifiziert |
|
27 |
wird.</p><p>Gruppen dienen dazu, Benutzern innerhalb eines Mandanten Zugriff auf bestimmte Funktionen zu geben. Einer Gruppe werden dafür |
|
28 |
vom Administrator gewisse Rechte zugeordnet. Weiterhin legt der Administrator fest, für welche Mandanten eine Gruppe gilt, und |
|
29 |
welche Benutzer Mitglieder in dieser Gruppe sind. Meldet sich ein Benutzer dann an einem Mandanten an, so erhält er alle Rechte von |
|
30 |
allen denjenigen Gruppen, die zum Einen dem Mandanten zugeordnet sind und in denen der Benutzer zum Anderen Mitglied ist, </p><p>Die Reihenfolge, in der Datenbanken, Mandanten, Gruppen und Benutzer angelegt werden, kann im Prinzip beliebig gewählt |
|
31 |
werden. Die folgende Reihenfolge beinhaltet die wenigsten Arbeitsschritte:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>Datenbank anlegen</p></li><li class="listitem"><p>Gruppen anlegen</p></li><li class="listitem"><p>Benutzer anlegen und Gruppen als Mitglied zuordnen</p></li><li class="listitem"><p>Mandanten anlegen und Gruppen sowie Benutzer zuweisen</p></li></ol></div></div><div class="sect2" title="2.9.3. Datenbanken anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Datenbanken-anlegen"></a>2.9.3. Datenbanken anlegen</h3></div></div></div><p>Zuerst muss eine Datenbank angelegt werden. Verwenden Sie für |
|
32 | 32 |
den Datenbankzugriff den vorhin angelegten Benutzer (in unseren |
33 | 33 |
Beispielen ist dies ‘<code class="literal">kivitendo</code>’).</p><p>Wenn Sie für die kivitendo-Installation nicht Unicode (UTF-8) sondern den europäischen Schriftsatz ISO-8859-15 benutzen |
34 | 34 |
wollen, so müssen Sie vor dem Anlegen der Datenbank in der Datei <code class="filename">config/kivitendo.conf</code> die Variable |
... | ... | |
36 | 36 |
verwenden müssen, da diese Einstellungen momentan global in kivitendo |
37 | 37 |
vorgenommen wird und nicht nach Datenbank unterschieden werden kann. |
38 | 38 |
Auch die Authentifizierungsdatenbank muss mit diesem Zeichensatz |
39 |
angelegt worden sein.</p></div><div class="sect2" title="2.9.3. Gruppen anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Gruppen-anlegen"></a>2.9.3. Gruppen anlegen</h3></div></div></div><p>Eine Gruppe wird in der Gruppenverwaltung angelegt. Ihr muss ein
|
|
39 |
angelegt worden sein.</p></div><div class="sect2" title="2.9.4. Gruppen anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Gruppen-anlegen"></a>2.9.4. Gruppen anlegen</h3></div></div></div><p>Eine Gruppe wird in der Gruppenverwaltung angelegt. Ihr muss ein
|
|
40 | 40 |
Name gegeben werden, eine Beschreibung ist hingegen optional. Nach dem |
41 | 41 |
Anlegen können Sie die verschiedenen Bereiche wählen, auf die |
42 |
Mitglieder dieser Gruppe Zugriff haben sollen.</p><p>Benutzergruppen sind unabhängig von Datenbanken, da sie in der |
|
43 |
Authentifizierungsdatenbank gespeichert werden. Sie gelten für alle |
|
44 |
Datenbanken, die in dieser Installation verwaltet werden.</p></div><div class="sect2" title="2.9.4. Benutzer anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Benutzer-anlegen"></a>2.9.4. Benutzer anlegen</h3></div></div></div><p>Beim Anlegen von Benutzern werden für viele Parameter |
|
45 |
Standardeinstellungen vorgenommen, die den Gepflogenheiten des |
|
46 |
deutschen Raumes entsprechen.</p><p>Zwingend anzugeben sind der Loginname sowie die komplette |
|
47 |
Datenbankkonfiguration. Wenn die Passwortauthentifizierung über die |
|
48 |
Datenbank eingestellt ist, so kann hier auch das Benutzerpasswort |
|
49 |
gesetzt bzw. geändert werden. Ist hingegen die LDAP-Authentifizierung |
|
50 |
aktiv, so ist das Passwort-Feld deaktiviert.</p><p>In der Datenbankkonfiguration müssen die Zugriffsdaten einer der |
|
51 |
eben angelegten Datenbanken eingetragen werden.</p></div><div class="sect2" title="2.9.5. Gruppenmitgliedschaften verwalten"><div class="titlepage"><div><div><h3 class="title"><a name="Gruppenmitgliedschaften-verwalten"></a>2.9.5. Gruppenmitgliedschaften verwalten</h3></div></div></div><p>Nach dem Anlegen von Benutzern und Gruppen müssen Benutzer den |
|
52 |
Gruppen zugewiesen werden. Dazu gibt es zwei Möglichkeiten:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>In der Gruppenverwaltung wählt man eine Gruppe aus. Im |
|
53 |
folgenden Dialog kann man dann einzeln die Benutzer der Gruppe |
|
54 |
hinzufügen.</p></li><li class="listitem"><p>In der Gruppenverwaltung wählt man das Tool zur Verwaltung |
|
55 |
der Gruppenmitgliedschaft. Hier wird eine Matrix angezeigt, die |
|
56 |
alle im System angelegten Gruppen und Benutzer enthält. Durch |
|
57 |
Setzen der Häkchen wird der Benutzer in der ausgewählten Zeile der |
|
58 |
Gruppe in der ausgewählten Spalte hinzugefügt.</p></li></ol></div></div><div class="sect2" title="2.9.6. Migration alter Installationen"><div class="titlepage"><div><div><h3 class="title"><a name="Migration-alter-Installationen"></a>2.9.6. Migration alter Installationen</h3></div></div></div><p>Wenn kivitendo 2.6.3 über eine ältere Version installiert wird, |
|
59 |
in der die Benutzerdaten noch im Dateisystem im Verzeichnis |
|
60 |
<code class="literal">users</code> verwaltet wurden, so bietet kivitendo die |
|
61 |
Möglichkeit, diese Benutzerdaten automatisch in die |
|
62 |
Authentifizierungsdatenbank zu übernehmen. Dies geschieht, wenn man |
|
63 |
sich nach dem Update der Installation das erste Mal im |
|
64 |
Administrationsbereich anmeldet. Findet kivitendo die Datei |
|
65 |
<code class="literal">users/members</code>, so wird der Migrationsprozess |
|
66 |
gestartet.</p><p>Der Migrationsprozess ist nahezu vollautomatisch. Alle |
|
67 |
Benutzerdaten können übernommen werden. Nach den Benutzerdaten bietet |
|
68 |
kivitendo noch die Möglichkeit an, dass automatisch eine |
|
69 |
Benutzergruppe angelegt wird. Dieser Gruppe wird Zugriff auf alle |
|
70 |
Funktionen von kivitendo gewährt. Alle migrierten Benutzern werden |
|
71 |
Mitglied in dieser Gruppe. Damit wird das Verhalten von kivitendo bis |
|
72 |
Version 2.4.3 inklusive wiederhergestellt, und die Benutzer können |
|
73 |
sich sofort wieder anmelden und mit dem System arbeiten.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s08.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s10.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.8. Benutzerauthentifizierung und Administratorpasswort </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.10. E-Mail-Versand aus kivitendo heraus</td></tr></table></div></body></html> |
|
42 |
Mitglieder dieser Gruppe Zugriff haben sollen.</p><p>Benutzergruppen werden zwar in der Authentifizierungsdatenbank gespeichert, gelten aber nicht automatisch für alle |
|
43 |
Mandanten. Der Administrator legt vielmehr fest, für welche Mandanten eine Gruppe gültig ist. Dies kann entweder beim Bearbeiten der |
|
44 |
Gruppe geschehen ("diese Gruppe ist gültig für Mandanten X, Y und Z"), oder aber wenn man einen Mandanten bearbeitet ("für diesen |
|
45 |
Mandanten sind die Gruppen A, B und C gültig").</p><p>Wurden bereits Benutzer angelegt, so können hier die Mitglieder dieser Gruppe festgelegt werden ("in dieser Gruppe sind die |
|
46 |
Benutzer X, Y und Z Mitglieder"). Dies kann auch nachträglich beim Bearbeiten eines Benutzers geschehen ("dieser Benutzer ist |
|
47 |
Mitglied in den Gruppen A, B und C").</p></div><div class="sect2" title="2.9.5. Benutzer anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Benutzer-anlegen"></a>2.9.5. Benutzer anlegen</h3></div></div></div><p>Beim Anlegen von Benutzern werden für viele Parameter Standardeinstellungen vorgenommen, die den Gepflogenheiten des deutschen |
|
48 |
Raumes entsprechen.</p><p>Zwingend anzugeben ist der Loginname. Wenn die Passwortauthentifizierung über die Datenbank eingestellt ist, so kann hier auch |
|
49 |
das Benutzerpasswort gesetzt bzw. geändert werden. Ist hingegen die LDAP-Authentifizierung aktiv, so ist das Passwort-Feld |
|
50 |
deaktiviert.</p><p>Hat man bereits Mandanten und Gruppen angelegt, so kann hier auch konfiguriert werden, auf welche Mandanten der Benutzer |
|
51 |
Zugriff hat bzw. in welchen Gruppen er Mitglied ist. Beide Zuweisungen können sowohl beim Benutzer vorgenommen werden ("dieser |
|
52 |
Benutzer hat Zugriff auf Mandanten X, Y, Z" bzw. "dieser Benutzer ist Mitglied in Gruppen X, Y und Z") als auch beim Mandanten ("auf |
|
53 |
diesen Mandanten haben Benutzer A, B und C Zugriff") bzw. bei der Gruppe ("in dieser Gruppe sind Benutzer A, B und C |
|
54 |
Mitglieder").</p></div><div class="sect2" title="2.9.6. Mandanten anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Mandanten-anlegen"></a>2.9.6. Mandanten anlegen</h3></div></div></div><p>Ein Mandant besteht aus Administrationssicht primär aus einem eindeutigen Namen. Weiterhin wird hier hinterlegt, welche |
|
55 |
Datenbank als Mandantendatenbank benutzt wird. Hier müssen die Zugriffsdaten einer der eben angelegten Datenbanken eingetragen |
|
56 |
werden.</p><p>Hat man bereits Benutzer und Gruppen angelegt, so kann hier auch konfiguriert werden, welche Benutzer Zugriff auf den |
|
57 |
Mandanten haben bzw. welche Gruppen für den Mandanten gültig sind. Beide Zuweisungen können sowohl beim Mandanten vorgenommen werden |
|
58 |
("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 |
|
59 |
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 |
|
60 |
C gültig").</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s08.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s10.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.8. Benutzerauthentifizierung und Administratorpasswort </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.10. E-Mail-Versand aus kivitendo heraus</td></tr></table></div></body></html> |
doc/html/ch02s10.html | ||
---|---|---|
1 | 1 |
<html><head> |
2 | 2 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
3 |
<title>2.10. E-Mail-Versand aus kivitendo heraus</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.0.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s09.html" title="2.9. Benutzer- und Gruppenverwaltung"><link rel="next" href="ch02s11.html" title="2.11. Drucken mit kivitendo"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.10. E-Mail-Versand aus kivitendo heraus</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s09.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s11.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.10. E-Mail-Versand aus kivitendo heraus"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.sending-email"></a>2.10. E-Mail-Versand aus kivitendo heraus</h2></div></div></div><p>kivitendo kann direkt aus dem Programm heraus E-Mails versenden, z.B. um ein Angebot direkt an einen Kunden zu |
|
3 |
<title>2.10. E-Mail-Versand aus kivitendo heraus</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.0.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s09.html" title="2.9. Mandanten-, Benutzer- und Gruppenverwaltung"><link rel="next" href="ch02s11.html" title="2.11. Drucken mit kivitendo"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.10. E-Mail-Versand aus kivitendo heraus</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s09.html">Zurück</a> </td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right"> <a accesskey="n" href="ch02s11.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.10. E-Mail-Versand aus kivitendo heraus"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.sending-email"></a>2.10. E-Mail-Versand aus kivitendo heraus</h2></div></div></div><p>kivitendo kann direkt aus dem Programm heraus E-Mails versenden, z.B. um ein Angebot direkt an einen Kunden zu
|
|
4 | 4 |
verschicken. Damit dies funktioniert, muss eingestellt werden, über welchen Server die E-Mails verschickt werden sollen. kivitendo |
5 | 5 |
unterstützt dabei zwei Mechanismen: Versand über einen lokalen E-Mail-Server (z.B. mit <span class="productname">Postfix</span>™ oder |
6 | 6 |
<span class="productname">Exim</span>™, was auch die standardmäßig aktive Methode ist) sowie Versand über einen SMTP-Server (z.B. der des |
... | ... | |
33 | 33 |
</p></li><li class="listitem"><p>SSL-Verschlüsselung: Modul <code class="literal">Net::SMTP::SSL</code> (Debian-Paketname |
34 | 34 |
<code class="literal">libnet-smtp-ssl-perl</code>, Fedora Core: <code class="literal">perl-Net-SMTP-SSL</code>, openSUSE: |
35 | 35 |
<code class="literal">perl-Net-SMTP-SSL</code> |
36 |
</p></li></ul></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s09.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s11.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.9. Benutzer- und Gruppenverwaltung </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.11. Drucken mit kivitendo</td></tr></table></div></body></html> |
|
36 |
</p></li></ul></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s09.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s11.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.9. Mandanten-, Benutzer- und Gruppenverwaltung </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 2.11. Drucken mit kivitendo</td></tr></table></div></body></html> |
doc/html/ch02s16.html | ||
---|---|---|
4 | 4 |
folgender URL erreichbar:</p><p> |
5 | 5 |
<a class="ulink" href="http://localhost/kivitendo-erp/login.pl" target="_top">http://localhost/kivitendo-erp/login.pl</a> |
6 | 6 |
</p><p>Die Administrationsseite erreichen Sie unter:</p><p> |
7 |
<a class="ulink" href="http://localhost/kivitendo-erp/admin.pl" target="_top">http://localhost/kivitendo-erp/admin.pl</a>
|
|
7 |
<a class="ulink" href="http://localhost/kivitendo-erp/controller.pl?action=Admin/login" target="_top">http://localhost/kivitendo-erp/controller.pl?action=Admin/login</a>
|
|
8 | 8 |
</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s15.html">Zurück</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right"> <a accesskey="n" href="ch03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.15. Einstellungen pro Mandant </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> Kapitel 3. Features und Funktionen</td></tr></table></div></body></html> |
doc/html/ch03s02.html | ||
---|---|---|
560 | 560 |
<code class="varname">invdate</code> |
561 | 561 |
</span></dt><dd><p>Rechnungsdatum</p></dd><dt><span class="term"> |
562 | 562 |
<code class="varname">invnumber</code> |
563 |
</span></dt><dd><p>Rechnungsnummer</p></dd></dl></div></div></div><div class="sect2" title="3.2.10. Variablen in anderen Vorlagen"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.andere-vorlagen"></a>3.2.10. Variablen in anderen Vorlagen</h3></div></div></div><div class="sect3" title="3.2.10.1. Einführung"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4639"></a>3.2.10.1. Einführung</h4></div></div></div><p>Die Variablen in anderen Vorlagen sind ähnlich wie in der
|
|
563 |
</span></dt><dd><p>Rechnungsnummer</p></dd></dl></div></div></div><div class="sect2" title="3.2.10. Variablen in anderen Vorlagen"><div class="titlepage"><div><div><h3 class="title"><a name="dokumentenvorlagen-und-variablen.andere-vorlagen"></a>3.2.10. Variablen in anderen Vorlagen</h3></div></div></div><div class="sect3" title="3.2.10.1. Einführung"><div class="titlepage"><div><div><h4 class="title"><a name="d0e4674"></a>3.2.10.1. Einführung</h4></div></div></div><p>Die Variablen in anderen Vorlagen sind ähnlich wie in der
|
|
564 | 564 |
Rechnung. Allerdings heißen die Variablen, die mit |
565 | 565 |
<code class="varname">inv</code> beginnen, jetzt anders. Bei den Angeboten |
566 | 566 |
fangen sie mit <code class="varname">quo</code> für "quotation" an: |
doc/html/ch04.html | ||
---|---|---|
1 | 1 |
<html><head> |
2 | 2 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
3 |
<title>Kapitel 4. Entwicklerdokumentation</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.0.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="index.html" title="kivitendo 3.0.0: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch03s03.html" title="3.3. Excel-Vorlagen"><link rel="next" href="ch04s02.html" title="4.2. Entwicklung unter FastCGI"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Kapitel 4. Entwicklerdokumentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s03.html">Zurück</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch04s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 4. Entwicklerdokumentation"><div class="titlepage"><div><div><h2 class="title"><a name="d0e5246"></a>Kapitel 4. Entwicklerdokumentation</h2></div></div></div><div class="sect1" title="4.1. Globale Variablen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="devel.globals"></a>4.1. Globale Variablen</h2></div></div></div><div class="sect2" title="4.1.1. Wie sehen globale Variablen in Perl aus?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e5252"></a>4.1.1. Wie sehen globale Variablen in Perl aus?</h3></div></div></div><p>Globale Variablen liegen in einem speziellen namespace namens
|
|
3 |
<title>Kapitel 4. Entwicklerdokumentation</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.0.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="index.html" title="kivitendo 3.0.0: Installation, Konfiguration, Entwicklung"><link rel="prev" href="ch03s03.html" title="3.3. Excel-Vorlagen"><link rel="next" href="ch04s02.html" title="4.2. Entwicklung unter FastCGI"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Kapitel 4. Entwicklerdokumentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s03.html">Zurück</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch04s02.html">Weiter</a></td></tr></table><hr></div><div class="chapter" title="Kapitel 4. Entwicklerdokumentation"><div class="titlepage"><div><div><h2 class="title"><a name="d0e5281"></a>Kapitel 4. Entwicklerdokumentation</h2></div></div></div><div class="sect1" title="4.1. Globale Variablen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="devel.globals"></a>4.1. Globale Variablen</h2></div></div></div><div class="sect2" title="4.1.1. Wie sehen globale Variablen in Perl aus?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e5287"></a>4.1.1. Wie sehen globale Variablen in Perl aus?</h3></div></div></div><p>Globale Variablen liegen in einem speziellen namespace namens
|
|
4 | 4 |
"main", der von überall erreichbar ist. Darüber hinaus sind bareword |
5 | 5 |
globs global und die meisten speziellen Variablen sind... |
6 | 6 |
speziell.</p><p>Daraus ergeben sich folgende Formen:</p><div class="variablelist"><dl><dt><span class="term"> |
... | ... | |
25 | 25 |
<code class="varname">$PACKAGE::form</code>.</p></dd><dt><span class="term"> |
26 | 26 |
<code class="literal">local $form</code> |
27 | 27 |
</span></dt><dd><p>Alle Änderungen an <code class="varname">$form</code> werden am Ende |
28 |
des scopes zurückgesetzt</p></dd></dl></div></div><div class="sect2" title="4.1.2. Warum sind globale Variablen ein Problem?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e5353"></a>4.1.2. Warum sind globale Variablen ein Problem?</h3></div></div></div><p>Das erste Problem ist <span class="productname">FCGI</span>™.</p><p>
|
|
28 |
des scopes zurückgesetzt</p></dd></dl></div></div><div class="sect2" title="4.1.2. Warum sind globale Variablen ein Problem?"><div class="titlepage"><div><div><h3 class="title"><a name="d0e5388"></a>4.1.2. Warum sind globale Variablen ein Problem?</h3></div></div></div><p>Das erste Problem ist <span class="productname">FCGI</span>™.</p><p>
|
|
29 | 29 |
<span class="productname">SQL-Ledger</span>™ hat fast alles im globalen |
30 | 30 |
namespace abgelegt, und erwartet, dass es da auch wiederzufinden ist. |
31 | 31 |
Unter <span class="productname">FCGI</span>™ müssen diese Sachen aber wieder |
... | ... | |
39 | 39 |
dies hat, seit der Einführung, u.a. schon so manche langwierige |
40 | 40 |
Bug-Suche verkürzt. Da globale Variablen aber implizit mit Package |
41 | 41 |
angegeben werden, werden die nicht geprüft, und somit kann sich |
42 |
schnell ein Tippfehler einschleichen.</p></div><div class="sect2" title="4.1.3. Kanonische globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e5386"></a>4.1.3. Kanonische globale Variablen</h3></div></div></div><p>Um dieses Problem im Griff zu halten gibt es einige wenige
|
|
42 |
schnell ein Tippfehler einschleichen.</p></div><div class="sect2" title="4.1.3. Kanonische globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e5421"></a>4.1.3. Kanonische globale Variablen</h3></div></div></div><p>Um dieses Problem im Griff zu halten gibt es einige wenige
|
|
43 | 43 |
globale Variablen, die kanonisch sind, d.h. sie haben bestimmte |
44 | 44 |
vorgegebenen Eigenschaften, und alles andere sollte anderweitig |
45 | 45 |
umhergereicht werden.</p><p>Diese Variablen sind im Moment die folgenden neun:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p> |
... | ... | |
62 | 62 |
<code class="varname">$::request</code> |
63 | 63 |
</p></li></ul></div><p>Damit diese nicht erneut als Müllhalde missbraucht werden, im |
64 | 64 |
Folgenden eine kurze Erläuterung der bestimmten vorgegebenen |
65 |
Eigenschaften (Konventionen):</p><div class="sect3" title="4.1.3.1. $::form"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5450"></a>4.1.3.1. $::form</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Ist ein Objekt der Klasse
|
|
65 |
Eigenschaften (Konventionen):</p><div class="sect3" title="4.1.3.1. $::form"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5485"></a>4.1.3.1. $::form</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Ist ein Objekt der Klasse
|
|
66 | 66 |
"<code class="classname">Form</code>"</p></li><li class="listitem"><p>Wird nach jedem Request gelöscht</p></li><li class="listitem"><p>Muss auch in Tests und Konsolenscripts vorhanden |
67 | 67 |
sein.</p></li><li class="listitem"><p>Enthält am Anfang eines Requests die Requestparameter vom |
68 | 68 |
User</p></li><li class="listitem"><p>Kann zwar intern über Requestgrenzen ein Datenbankhandle |
... | ... | |
110 | 110 |
push @{ $form->{TEMPLATE_ARRAYS}{number} }, $form->{"partnumber_$i"}; |
111 | 111 |
push @{ $form->{TEMPLATE_ARRAYS}{description} }, $form->{"description_$i"}; |
112 | 112 |
# ... |
113 |
}</pre></div><div class="sect3" title="4.1.3.2. %::myconfig"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5534"></a>4.1.3.2. %::myconfig</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Das einzige Hash unter den globalen Variablen</p></li><li class="listitem"><p>Wird spätestens benötigt wenn auf die Datenbank
|
|
113 |
}</pre></div><div class="sect3" title="4.1.3.2. %::myconfig"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5569"></a>4.1.3.2. %::myconfig</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Das einzige Hash unter den globalen Variablen</p></li><li class="listitem"><p>Wird spätestens benötigt wenn auf die Datenbank
|
|
114 | 114 |
zugegriffen wird</p></li><li class="listitem"><p>Wird bei jedem Request neu erstellt.</p></li><li class="listitem"><p>Enthält die Userdaten des aktuellen Logins</p></li><li class="listitem"><p>Sollte nicht ohne Filterung irgendwo gedumpt werden oder |
115 | 115 |
extern serialisiert werden, weil da auch der Datenbankzugriff |
116 | 116 |
für diesen user drinsteht.</p></li><li class="listitem"><p>Enthält unter anderem Listenbegrenzung vclimit, |
... | ... | |
122 | 122 |
überwiegend die Daten, die sich unter <span class="guimenu">Programm</span> |
123 | 123 |
-> <span class="guimenuitem">Einstellungen</span> befinden, bzw. die |
124 | 124 |
Informationen über den Benutzer die über die |
125 |
Administrator-Schnittstelle (admin.pl) eingegeben wurden.</p></div><div class="sect3" title="4.1.3.3. $::locale"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5573"></a>4.1.3.3. $::locale</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "Locale"</p></li><li class="listitem"><p>Wird pro Request erstellt</p></li><li class="listitem"><p>Muss auch für Tests und Scripte immer verfügbar
|
|
125 |
Administrator-Schnittstelle eingegeben wurden.</p></div><div class="sect3" title="4.1.3.3. $::locale"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5608"></a>4.1.3.3. $::locale</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "Locale"</p></li><li class="listitem"><p>Wird pro Request erstellt</p></li><li class="listitem"><p>Muss auch für Tests und Scripte immer verfügbar
|
|
126 | 126 |
sein.</p></li><li class="listitem"><p>Cached intern über Requestgrenzen hinweg benutzte |
127 | 127 |
Locales</p></li></ul></div><p>Lokalisierung für den aktuellen User. Alle Übersetzungen, |
128 |
Zahlen- und Datumsformatierungen laufen über dieses Objekt.</p></div><div class="sect3" title="4.1.3.4. $::lxdebug"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5591"></a>4.1.3.4. $::lxdebug</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "LXDebug"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Muss immer verfügbar sein, in nahezu allen
|
|
128 |
Zahlen- und Datumsformatierungen laufen über dieses Objekt.</p></div><div class="sect3" title="4.1.3.4. $::lxdebug"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5626"></a>4.1.3.4. $::lxdebug</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "LXDebug"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Muss immer verfügbar sein, in nahezu allen
|
|
129 | 129 |
Funktionen</p></li></ul></div><p> |
130 | 130 |
<code class="varname">$::lxdebug</code> stellt Debuggingfunktionen |
131 | 131 |
bereit, wie "<code class="function">enter_sub</code>" und |
... | ... | |
135 | 135 |
"<code class="function">message</code>" und "<code class="function">dump</code>" mit |
136 | 136 |
denen man flott Informationen ins Log (tmp/kivitendo-debug.log) |
137 | 137 |
packen kann.</p><p>Beispielsweise so:</p><pre class="programlisting">$main::lxdebug->message(0, 'Meine Konfig:' . Dumper (%::myconfig)); |
138 |
$main::lxdebug->message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form->{vc});</pre></div><div class="sect3" title="4.1.3.5. $::auth"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5628"></a>4.1.3.5. $::auth</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "SL::Auth"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Hat eine permanente DB Verbindung zur Authdatenbank</p></li><li class="listitem"><p>Wird nach jedem Request resettet.</p></li></ul></div><p>
|
|
138 |
$main::lxdebug->message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form->{vc});</pre></div><div class="sect3" title="4.1.3.5. $::auth"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5663"></a>4.1.3.5. $::auth</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse "SL::Auth"</p></li><li class="listitem"><p>Wird global gecached</p></li><li class="listitem"><p>Hat eine permanente DB Verbindung zur Authdatenbank</p></li><li class="listitem"><p>Wird nach jedem Request resettet.</p></li></ul></div><p>
|
|
139 | 139 |
<code class="varname">$::auth</code> stellt Funktionen bereit um die |
140 | 140 |
Rechte des aktuellen Users abzufragen. Obwohl diese Informationen |
141 | 141 |
vom aktuellen User abhängen wird das Objekt aus |
142 | 142 |
Geschwindigkeitsgründen nur einmal angelegt und dann nach jedem |
143 |
Request kurz resettet.</p></div><div class="sect3" title="4.1.3.6. $::lx_office_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5649"></a>4.1.3.6. $::lx_office_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse |
|
143 |
Request kurz resettet.</p><p>Dieses Objekt kapselt auch den gerade aktiven Mandanten. Dessen Einstellungen können über |
|
144 |
<code class="literal">$::auth->client</code> abgefragt werden; Rückgabewert ist ein Hash mit den Werten aus der Tabelle |
|
145 |
<code class="literal">auth.clients</code>.</p></div><div class="sect3" title="4.1.3.6. $::lx_office_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5692"></a>4.1.3.6. $::lx_office_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse |
|
144 | 146 |
"<code class="classname">SL::LxOfficeConf</code>"</p></li><li class="listitem"><p>Global gecached</p></li><li class="listitem"><p>Repräsentation der |
145 | 147 |
<code class="filename">config/kivitendo.conf[.default]</code>-Dateien</p></li></ul></div><p>Globale Konfiguration. Configdateien werden zum Start gelesen |
146 | 148 |
und danach nicht mehr angefasst. Es ist derzeit nicht geplant, dass |
... | ... | |
150 | 152 |
file = /tmp/kivitendo-debug.log</pre><p>ist der Key <code class="varname">file</code> im Programm als |
151 | 153 |
<code class="varname">$::lx_office_conf->{debug}{file}</code> |
152 | 154 |
erreichbar.</p><div class="warning" title="Warnung" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warnung]" src="system/docbook-xsl/images/warning.png"></td><th align="left">Warnung</th></tr><tr><td align="left" valign="top"><p>Zugriff auf die Konfiguration erfolgt im Moment über |
153 |
Hashkeys, sind also nicht gegen Tippfehler abgesichert.</p></td></tr></table></div></div><div class="sect3" title="4.1.3.7. $::instance_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5685"></a>4.1.3.7. $::instance_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
|
|
155 |
Hashkeys, sind also nicht gegen Tippfehler abgesichert.</p></td></tr></table></div></div><div class="sect3" title="4.1.3.7. $::instance_conf"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5728"></a>4.1.3.7. $::instance_conf</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
|
|
154 | 156 |
"<code class="classname">SL::InstanceConfiguration</code>"</p></li><li class="listitem"><p>wird pro Request neu erstellt</p></li></ul></div><p>Funktioniert wie <code class="varname">$::lx_office_conf</code>, |
155 | 157 |
speichert aber Daten die von der Instanz abhängig sind. Eine Instanz |
156 | 158 |
ist hier eine Mandantendatenbank. Beispielsweise überprüft |
157 | 159 |
</p><pre class="programlisting">$::instance_conf->get_inventory_system eq 'perpetual'</pre><p> |
158 |
ob die berüchtigte Bestandsmethode zur Anwendung kommt.</p></div><div class="sect3" title="4.1.3.8. $::dispatcher"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5706"></a>4.1.3.8. $::dispatcher</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
|
|
160 |
ob die berüchtigte Bestandsmethode zur Anwendung kommt.</p></div><div class="sect3" title="4.1.3.8. $::dispatcher"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5749"></a>4.1.3.8. $::dispatcher</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Objekt der Klasse
|
|
159 | 161 |
"<code class="varname">SL::Dispatcher</code>"</p></li><li class="listitem"><p>wird pro Serverprozess erstellt.</p></li><li class="listitem"><p>enthält Informationen über die technische Verbindung zum |
160 | 162 |
Server</p></li></ul></div><p>Der dritte Punkt ist auch der einzige Grund warum das Objekt |
161 | 163 |
global gespeichert wird. Wird vermutlich irgendwann in einem anderen |
162 |
Objekt untergebracht.</p></div><div class="sect3" title="4.1.3.9. $::request"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5724"></a>4.1.3.9. $::request</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Hashref (evtl später Objekt)</p></li><li class="listitem"><p>Wird pro Request neu initialisiert.</p></li><li class="listitem"><p>Keine Unterstruktur garantiert.</p></li></ul></div><p>
|
|
164 |
Objekt untergebracht.</p></div><div class="sect3" title="4.1.3.9. $::request"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5767"></a>4.1.3.9. $::request</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Hashref (evtl später Objekt)</p></li><li class="listitem"><p>Wird pro Request neu initialisiert.</p></li><li class="listitem"><p>Keine Unterstruktur garantiert.</p></li></ul></div><p>
|
|
163 | 165 |
<code class="varname">$::request</code> ist ein generischer Platz um |
164 | 166 |
Daten "für den aktuellen Request" abzulegen. Sollte nicht für action |
165 | 167 |
at a distance benutzt werden, sondern um lokales memoizing zu |
... | ... | |
172 | 174 |
<code class="varname">$::request</code> |
173 | 175 |
</p></li><li class="listitem"><p>Muss ich von anderen Teilen des Programms lesend drauf |
174 | 176 |
zugreifen? Dann <code class="varname">$::request</code>, aber Zugriff über |
175 |
Wrappermethode</p></li></ul></div></div></div><div class="sect2" title="4.1.4. Ehemalige globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e5766"></a>4.1.4. Ehemalige globale Variablen</h3></div></div></div><p>Die folgenden Variablen waren einmal im Programm, und wurden
|
|
176 |
entfernt.</p><div class="sect3" title="4.1.4.1. $::cgi"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5771"></a>4.1.4.1. $::cgi</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil cookie Methoden nicht als
|
|
177 |
Wrappermethode</p></li></ul></div></div></div><div class="sect2" title="4.1.4. Ehemalige globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e5809"></a>4.1.4. Ehemalige globale Variablen</h3></div></div></div><p>Die folgenden Variablen waren einmal im Programm, und wurden
|
|
178 |
entfernt.</p><div class="sect3" title="4.1.4.1. $::cgi"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5814"></a>4.1.4.1. $::cgi</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil cookie Methoden nicht als
|
|
177 | 179 |
Klassenfunktionen funktionieren</p></li><li class="listitem"><p>Aufruf als Klasse erzeugt Dummyobjekt was im |
178 | 180 |
Klassennamespace gehalten wird und über Requestgrenzen |
179 | 181 |
leaked</p></li><li class="listitem"><p>liegt jetzt unter |
180 | 182 |
<code class="varname">$::request->{cgi}</code> |
181 |
</p></li></ul></div></div><div class="sect3" title="4.1.4.2. $::all_units"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5787"></a>4.1.4.2. $::all_units</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil einige Funktionen in Schleifen zum Teil
|
|
183 |
</p></li></ul></div></div><div class="sect3" title="4.1.4.2. $::all_units"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5830"></a>4.1.4.2. $::all_units</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>war nötig, weil einige Funktionen in Schleifen zum Teil
|
|
182 | 184 |
ein paar hundert mal pro Request eine Liste der Einheiten |
183 | 185 |
brauchen, und de als Parameter durch einen Riesenstack von |
184 | 186 |
Funktionen geschleift werden müssten.</p></li><li class="listitem"><p>Liegt jetzt unter |
185 | 187 |
<code class="varname">$::request->{cache}{all_units}</code> |
186 | 188 |
</p></li><li class="listitem"><p>Wird nur in |
187 | 189 |
<code class="function">AM->retrieve_all_units()</code> gesetzt oder |
188 |
gelesen.</p></li></ul></div></div><div class="sect3" title="4.1.4.3. %::called_subs"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5806"></a>4.1.4.3. %::called_subs</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>wurde benutzt um callsub deep recursions
|
|
190 |
gelesen.</p></li></ul></div></div><div class="sect3" title="4.1.4.3. %::called_subs"><div class="titlepage"><div><div><h4 class="title"><a name="d0e5849"></a>4.1.4.3. %::called_subs</h4></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>wurde benutzt um callsub deep recursions
|
|
189 | 191 |
abzufangen.</p></li><li class="listitem"><p>Wurde entfernt, weil callsub nur einen Bruchteil der |
190 | 192 |
möglichen Rekursioenen darstellt, und da nie welche |
191 | 193 |
auftreten.</p></li><li class="listitem"><p>komplette recursion protection wurde entfernt.</p></li></ul></div></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch03s03.html">Zurück</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch04s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">3.3. Excel-Vorlagen </td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top"> 4.2. Entwicklung unter FastCGI</td></tr></table></div></body></html> |
doc/html/index.html | ||
---|---|---|
1 | 1 |
<html><head> |
2 | 2 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
3 |
<title>kivitendo 3.0.0: Installation, Konfiguration, Entwicklung</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.0.0: Installation, Konfiguration, Entwicklung"><link rel="next" href="ch01.html" title="Kapitel 1. Aktuelle Hinweise"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">kivitendo 3.0.0: Installation, Konfiguration, Entwicklung</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01.html">Weiter</a></td></tr></table><hr></div><div lang="de" class="book" title="kivitendo 3.0.0: Installation, Konfiguration, Entwicklung"><div class="titlepage"><div><div><h1 class="title"><a name="kivitendo-documentation"></a>kivitendo 3.0.0: Installation, Konfiguration, Entwicklung</h1></div></div><hr></div><div class="toc"><p><b>Inhaltsverzeichnis</b></p><dl><dt><span class="chapter"><a href="ch01.html">1. Aktuelle Hinweise</a></span></dt><dt><span class="chapter"><a href="ch02.html">2. Installation und Grundkonfiguration</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch02.html#Installation-%C3%9Cbersicht">2.1. Übersicht</a></span></dt><dt><span class="sect1"><a href="ch02s02.html">2.2. Benötigte Software und Pakete</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s02.html#Betriebssystem">2.2.1. Betriebssystem</a></span></dt><dt><span class="sect2"><a href="ch02s02.html#Pakete">2.2.2. Benötigte Perl-Pakete installieren</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s03.html">2.3. Manuelle Installation des Programmpaketes</a></span></dt><dt><span class="sect1"><a href="ch02s04.html">2.4. kivitendo-Konfigurationsdatei</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s04.html#config.config-file.introduction">2.4.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#config.config-file.sections-parameters">2.4.2. Abschnitte und Parameter</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#config.config-file.prior-versions">2.4.3. Versionen vor 2.6.3</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s05.html">2.5. Anpassung der PostgreSQL-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s05.html#Zeichens%C3%A4tze-die-Verwendung-von-UTF-8">2.5.1. Zeichensätze/die Verwendung von UTF-8</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#%C3%84nderungen-an-Konfigurationsdateien">2.5.2. Änderungen an Konfigurationsdateien</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#Erweiterung-f%C3%BCr-servergespeicherte-Prozeduren">2.5.3. Erweiterung für servergespeicherte Prozeduren</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#Datenbankbenutzer-anlegen">2.5.4. Datenbankbenutzer anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s06.html">2.6. Webserver-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s06.html#d0e678">2.6.1. Grundkonfiguration mittels CGI</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#Apache-Konfiguration.FCGI">2.6.2. Konfiguration für FastCGI/FCGI</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s07.html">2.7. Der Task-Server</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s07.html#Konfiguration-des-Task-Servers">2.7.1. Verfügbare und notwendige Konfigurationsoptionen</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Einbinden-in-den-Boot-Prozess">2.7.2. Automatisches Starten des Task-Servers beim Booten</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Prozesskontrolle">2.7.3. Wie der Task-Server gestartet und beendet wird</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Prozesskontrolle2">2.7.4. Task-Server mit mehreren Mandanten</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s08.html">2.8. Benutzerauthentifizierung und Administratorpasswort</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s08.html#Grundlagen-zur-Benutzerauthentifizierung">2.8.1. Grundlagen zur Benutzerauthentifizierung</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Administratorpasswort">2.8.2. Administratorpasswort</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Authentifizierungsdatenbank">2.8.3. Authentifizierungsdatenbank</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Passwort%C3%BCberpr%C3%BCfung">2.8.4. Passwortüberprüfung</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Name-des-Session-Cookies">2.8.5. Name des Session-Cookies</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Anlegen-der-Authentifizierungsdatenbank">2.8.6. Anlegen der Authentifizierungsdatenbank</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s09.html">2.9. Benutzer- und Gruppenverwaltung</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s09.html#Zusammenh%C3%A4nge">2.9.1. Zusammenhänge</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Datenbanken-anlegen">2.9.2. Datenbanken anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Gruppen-anlegen">2.9.3. Gruppen anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Benutzer-anlegen">2.9.4. Benutzer anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Gruppenmitgliedschaften-verwalten">2.9.5. Gruppenmitgliedschaften verwalten</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Migration-alter-Installationen">2.9.6. Migration alter Installationen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s10.html">2.10. E-Mail-Versand aus kivitendo heraus</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s10.html#config.sending-email.sendmail">2.10.1. Versand über lokalen E-Mail-Server</a></span></dt><dt><span class="sect2"><a href="ch02s10.html#config.sending-email.smtp">2.10.2. Versand über einen SMTP-Server</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s11.html">2.11. Drucken mit kivitendo</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s11.html#Vorlagenverzeichnis-anlegen">2.11.1. Vorlagenverzeichnis anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#Vorlagen-Standard">2.11.2. Standard</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#f-tex">2.11.3. f-tex</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#Vorlagen-RB">2.11.4. RB</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#allgemeine-hinweise-zu-latex">2.11.5. Allgemeine Hinweise zu LaTeX Vorlagen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s12.html">2.12. OpenDocument-Vorlagen</a></span></dt><dt><span class="sect1"><a href="ch02s13.html">2.13. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
|
|
3 |
<title>kivitendo 3.0.0: Installation, Konfiguration, Entwicklung</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo 3.0.0: Installation, Konfiguration, Entwicklung"><link rel="next" href="ch01.html" title="Kapitel 1. Aktuelle Hinweise"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">kivitendo 3.0.0: Installation, Konfiguration, Entwicklung</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01.html">Weiter</a></td></tr></table><hr></div><div lang="de" class="book" title="kivitendo 3.0.0: Installation, Konfiguration, Entwicklung"><div class="titlepage"><div><div><h1 class="title"><a name="kivitendo-documentation"></a>kivitendo 3.0.0: Installation, Konfiguration, Entwicklung</h1></div></div><hr></div><div class="toc"><p><b>Inhaltsverzeichnis</b></p><dl><dt><span class="chapter"><a href="ch01.html">1. Aktuelle Hinweise</a></span></dt><dt><span class="chapter"><a href="ch02.html">2. Installation und Grundkonfiguration</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch02.html#Installation-%C3%9Cbersicht">2.1. Übersicht</a></span></dt><dt><span class="sect1"><a href="ch02s02.html">2.2. Benötigte Software und Pakete</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s02.html#Betriebssystem">2.2.1. Betriebssystem</a></span></dt><dt><span class="sect2"><a href="ch02s02.html#Pakete">2.2.2. Benötigte Perl-Pakete installieren</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s03.html">2.3. Manuelle Installation des Programmpaketes</a></span></dt><dt><span class="sect1"><a href="ch02s04.html">2.4. kivitendo-Konfigurationsdatei</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s04.html#config.config-file.introduction">2.4.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#config.config-file.sections-parameters">2.4.2. Abschnitte und Parameter</a></span></dt><dt><span class="sect2"><a href="ch02s04.html#config.config-file.prior-versions">2.4.3. Versionen vor 2.6.3</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s05.html">2.5. Anpassung der PostgreSQL-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s05.html#Zeichens%C3%A4tze-die-Verwendung-von-UTF-8">2.5.1. Zeichensätze/die Verwendung von UTF-8</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#%C3%84nderungen-an-Konfigurationsdateien">2.5.2. Änderungen an Konfigurationsdateien</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#Erweiterung-f%C3%BCr-servergespeicherte-Prozeduren">2.5.3. Erweiterung für servergespeicherte Prozeduren</a></span></dt><dt><span class="sect2"><a href="ch02s05.html#Datenbankbenutzer-anlegen">2.5.4. Datenbankbenutzer anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s06.html">2.6. Webserver-Konfiguration</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s06.html#d0e690">2.6.1. Grundkonfiguration mittels CGI</a></span></dt><dt><span class="sect2"><a href="ch02s06.html#Apache-Konfiguration.FCGI">2.6.2. Konfiguration für FastCGI/FCGI</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s07.html">2.7. Der Task-Server</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s07.html#Konfiguration-des-Task-Servers">2.7.1. Verfügbare und notwendige Konfigurationsoptionen</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Einbinden-in-den-Boot-Prozess">2.7.2. Automatisches Starten des Task-Servers beim Booten</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Prozesskontrolle">2.7.3. Wie der Task-Server gestartet und beendet wird</a></span></dt><dt><span class="sect2"><a href="ch02s07.html#Prozesskontrolle2">2.7.4. Task-Server mit mehreren Mandanten</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s08.html">2.8. Benutzerauthentifizierung und Administratorpasswort</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s08.html#Grundlagen-zur-Benutzerauthentifizierung">2.8.1. Grundlagen zur Benutzerauthentifizierung</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Administratorpasswort">2.8.2. Administratorpasswort</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Authentifizierungsdatenbank">2.8.3. Authentifizierungsdatenbank</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Passwort%C3%BCberpr%C3%BCfung">2.8.4. Passwortüberprüfung</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Name-des-Session-Cookies">2.8.5. Name des Session-Cookies</a></span></dt><dt><span class="sect2"><a href="ch02s08.html#Anlegen-der-Authentifizierungsdatenbank">2.8.6. Anlegen der Authentifizierungsdatenbank</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s09.html">2.9. Mandanten-, Benutzer- und Gruppenverwaltung</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s09.html#Zusammenh%C3%A4nge">2.9.1. Zusammenhänge</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Mandanten-Benutzer-Gruppen">2.9.2. Mandanten, Benutzer und Gruppen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Datenbanken-anlegen">2.9.3. Datenbanken anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Gruppen-anlegen">2.9.4. Gruppen anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Benutzer-anlegen">2.9.5. Benutzer anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s09.html#Mandanten-anlegen">2.9.6. Mandanten anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s10.html">2.10. E-Mail-Versand aus kivitendo heraus</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s10.html#config.sending-email.sendmail">2.10.1. Versand über lokalen E-Mail-Server</a></span></dt><dt><span class="sect2"><a href="ch02s10.html#config.sending-email.smtp">2.10.2. Versand über einen SMTP-Server</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s11.html">2.11. Drucken mit kivitendo</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s11.html#Vorlagenverzeichnis-anlegen">2.11.1. Vorlagenverzeichnis anlegen</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#Vorlagen-Standard">2.11.2. Standard</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#f-tex">2.11.3. f-tex</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#Vorlagen-RB">2.11.4. RB</a></span></dt><dt><span class="sect2"><a href="ch02s11.html#allgemeine-hinweise-zu-latex">2.11.5. Allgemeine Hinweise zu LaTeX Vorlagen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s12.html">2.12. OpenDocument-Vorlagen</a></span></dt><dt><span class="sect1"><a href="ch02s13.html">2.13. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung:
|
|
4 | 4 |
EUR</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s13.html#config.eur.introduction">2.13.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s13.html#config.eur.parameters">2.13.2. Konfigurationsparameter</a></span></dt><dt><span class="sect2"><a href="ch02s13.html#config.eur.setting-parameters">2.13.3. Festlegen der Parameter</a></span></dt><dt><span class="sect2"><a href="ch02s13.html#config.eur.inventory-system-perpetual">2.13.4. Bemerkungen zu Bestandsmethode</a></span></dt><dt><span class="sect2"><a href="ch02s13.html#config.eur.knonw-issues">2.13.5. Bekannte Probleme</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s14.html">2.14. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch02s14.html#config.skr04-update-3804.introduction">2.14.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch02s14.html#config.skr04-update-3804.create-chart">2.14.2. Konto 3804 manuell anlegen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch02s15.html">2.15. Einstellungen pro Mandant</a></span></dt><dt><span class="sect1"><a href="ch02s16.html">2.16. kivitendo ERP verwenden</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch03.html">3. Features und Funktionen</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch03.html#features.periodic-invoices">3.1. Wiederkehrende Rechnungen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.introduction">3.1.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.configuration">3.1.2. Konfiguration</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.variables">3.1.3. Spezielle Variablen</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.reports">3.1.4. Auflisten</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.task-server">3.1.5. Erzeugung der eigentlichen Rechnungen</a></span></dt><dt><span class="sect2"><a href="ch03.html#features.periodic-invoices.create-for-current-month">3.1.6. Erste Rechnung für aktuellen Monat erstellen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s02.html">3.2. Dokumentenvorlagen und verfügbare Variablen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.einf%C3%BChrung">3.2.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.variablen-ausgeben">3.2.2. Variablen ausgeben</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.verwendung-in-druckbefehlen">3.2.3. Verwendung in Druckbefehlen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.tag-style">3.2.4. Anfang und Ende der Tags verändern</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.zuordnung-dateinamen">3.2.5. Zuordnung von den Dateinamen zu den Funktionen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.dateinamen-erweitert">3.2.6. Sprache, Drucker und E-Mail</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.allgemeine-variablen">3.2.7. Allgemeine Variablen, die in allen Vorlagen vorhanden |
5 | 5 |
sind</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.invoice">3.2.8. Variablen in Rechnungen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.dunning">3.2.9. Variablen in Mahnungen und Rechnungen über Mahngebühren</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.andere-vorlagen">3.2.10. Variablen in anderen Vorlagen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.bloecke">3.2.11. Blöcke, bedingte Anweisungen und Schleifen</a></span></dt><dt><span class="sect2"><a href="ch03s02.html#dokumentenvorlagen-und-variablen.markup">3.2.12. Markup-Code zur Textformatierung innerhalb von |
6 |
Formularen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s03.html">3.3. Excel-Vorlagen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s03.html#excel-templates.summary">3.3.1. Zusammenfassung</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.usage">3.3.2. Bedienung</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.syntax">3.3.3. Variablensyntax</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.limitations">3.3.4. Einschränkungen</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Entwicklerdokumentation</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch04.html#devel.globals">4.1. Globale Variablen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04.html#d0e5252">4.1.1. Wie sehen globale Variablen in Perl aus?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e5353">4.1.2. Warum sind globale Variablen ein Problem?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e5386">4.1.3. Kanonische globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e5766">4.1.4. Ehemalige globale Variablen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s02.html">4.2. Entwicklung unter FastCGI</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.general">4.2.1. Allgemeines</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.exiting">4.2.2. Programmende und Ausnahmen</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.globals">4.2.3. Globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.performance">4.2.4. Performance und Statistiken</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.known-issues">4.2.5. Bekannte Probleme</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s03.html">4.3. SQL-Upgradedateien</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.introduction">4.3.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.format">4.3.2. Format der Kontrollinformationen</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.format-perl-files">4.3.3. Format von in Perl geschriebenen Datenbankupgradescripten</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.dbupgrade-tool">4.3.4. Hilfsscript dbupgrade2_tool.pl</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s04.html">4.4. Translations and languages</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s04.html#translations-languages.introduction">4.4.1. Introduction</a></span></dt><dt><span class="sect2"><a href="ch04s04.html#translations-languages.file-structure">4.4.2. File structure</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s05.html">4.5. Die kivitendo-Test-Suite</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.intro">4.5.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.prerequisites">4.5.2. Voraussetzungen</a></span></dt><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.execution">4.5.3.
|
|
6 |
Formularen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch03s03.html">3.3. Excel-Vorlagen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch03s03.html#excel-templates.summary">3.3.1. Zusammenfassung</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.usage">3.3.2. Bedienung</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.syntax">3.3.3. Variablensyntax</a></span></dt><dt><span class="sect2"><a href="ch03s03.html#excel-templates.limitations">3.3.4. Einschränkungen</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Entwicklerdokumentation</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch04.html#devel.globals">4.1. Globale Variablen</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04.html#d0e5287">4.1.1. Wie sehen globale Variablen in Perl aus?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e5388">4.1.2. Warum sind globale Variablen ein Problem?</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e5421">4.1.3. Kanonische globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04.html#d0e5809">4.1.4. Ehemalige globale Variablen</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s02.html">4.2. Entwicklung unter FastCGI</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.general">4.2.1. Allgemeines</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.exiting">4.2.2. Programmende und Ausnahmen</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.globals">4.2.3. Globale Variablen</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.performance">4.2.4. Performance und Statistiken</a></span></dt><dt><span class="sect2"><a href="ch04s02.html#devel.fcgi.known-issues">4.2.5. Bekannte Probleme</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s03.html">4.3. SQL-Upgradedateien</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.introduction">4.3.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.format">4.3.2. Format der Kontrollinformationen</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.format-perl-files">4.3.3. Format von in Perl geschriebenen Datenbankupgradescripten</a></span></dt><dt><span class="sect2"><a href="ch04s03.html#db-upgrade-files.dbupgrade-tool">4.3.4. Hilfsscript dbupgrade2_tool.pl</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s04.html">4.4. Translations and languages</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s04.html#translations-languages.introduction">4.4.1. Introduction</a></span></dt><dt><span class="sect2"><a href="ch04s04.html#translations-languages.file-structure">4.4.2. File structure</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch04s05.html">4.5. Die kivitendo-Test-Suite</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.intro">4.5.1. Einführung</a></span></dt><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.prerequisites">4.5.2. Voraussetzungen</a></span></dt><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.execution">4.5.3.
|
|
7 | 7 |
Existierende Tests ausführen |
8 | 8 |
</a></span></dt><dt><span class="sect2"><a href="ch04s05.html#devel.testsuite.meaning_of_scripts">4.5.4. |
9 | 9 |
Bedeutung der verschiedenen Test-Scripte |
Auch abrufbar als: Unified diff
Doku-Update für Mandanten