Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 23bb6a8c

Von Bernd Bleßmann vor 12 Monaten hinzugefügt

  • ID 23bb6a8cd6fe814df3914e325c2cc8f8fe59dfd5
  • Vorgänger a82a7940
  • Nachfolger 9cd3d899

Doku PDF/HTML neu gebaut

Unterschiede anzeigen:

doc/html/ch02.html
<span class="emphasis"><em>Benutzerinformationen speichern können</em></span>:
man benötigt mindestens eine Datenbank, in der Informationen zur
Authentifizierung sowie die Nutzdaten gespeichert werden. Wie man
das als Administrator macht, verrät "<a class="xref" href="ch02s09.html" title="2.9. Benutzerauthentifizierung und Administratorpasswort">Abschnitt&nbsp;2.9, „Benutzerauthentifizierung und Administratorpasswort“</a>".</p></li><li class="listitem"><p>
das als Administrator macht, verrät "<a class="xref" href="ch02s10.html" title="2.10. Benutzerauthentifizierung und Administratorpasswort">Abschnitt&nbsp;2.10, „Benutzerauthentifizierung und Administratorpasswort“</a>".</p></li><li class="listitem"><p>
<span class="emphasis"><em>Benutzer, Gruppen und Datenbanken
anlegen</em></span>: wie dies alles zusammenspielt erläutert "<a class="xref" href="ch02s10.html" title="2.10. Mandanten-, Benutzer- und Gruppenverwaltung">Abschnitt&nbsp;2.10, „Mandanten-, Benutzer- und Gruppenverwaltung“</a>".</p></li><li class="listitem"><p>
anlegen</em></span>: wie dies alles zusammenspielt erläutert "<a class="xref" href="ch02s11.html" title="2.11. Mandanten-, Benutzer- und Gruppenverwaltung">Abschnitt&nbsp;2.11, „Mandanten-, Benutzer- und Gruppenverwaltung“</a>".</p></li><li class="listitem"><p>
<span class="emphasis"><em>Los geht's</em></span>: alles soweit erledigt? Dann
kann es losgehen: "<a class="xref" href="ch02s22.html" title="2.22. kivitendo ERP verwenden">Abschnitt&nbsp;2.22, „kivitendo ERP verwenden“</a>"</p></li></ol></div><p>Alle weiteren Unterkapitel in diesem Kapitel sind ebenfalls
kann es losgehen: "<a class="xref" href="ch02s23.html" title="2.23. kivitendo ERP verwenden">Abschnitt&nbsp;2.23, „kivitendo ERP verwenden“</a>"</p></li></ol></div><p>Alle weiteren Unterkapitel in diesem Kapitel sind ebenfalls
wichtig und sollten vor einer ernsthaften Inbetriebnahme gelesen
werden.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01.html">Zurück</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s02.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 1. Aktuelle Hinweise&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.2. Benötigte Software und Pakete</td></tr></table></div></body></html>
doc/html/ch02s02.html
<code class="literal">Mail::IMAPClient</code>
</p></li><li class="listitem"><p>
<code class="literal">Net::SMTP::SSL</code> (optional, bei
E-Mail-Versand über SSL; siehe Abschnitt "<a class="xref" href="ch02s12.html#config.sending-email.smtp" title="2.12.1.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>")</p></li><li class="listitem"><p>
E-Mail-Versand über SSL; siehe Abschnitt "<a class="xref" href="ch02s13.html#config.sending-email.smtp" title="2.13.1.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>")</p></li><li class="listitem"><p>
<code class="literal">Net::SSLGlue</code> (optional, bei
E-Mail-Versand über TLS; siehe Abschnitt "<a class="xref" href="ch02s12.html#config.sending-email.smtp" title="2.12.1.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>")</p></li><li class="listitem"><p>
E-Mail-Versand über TLS; siehe Abschnitt "<a class="xref" href="ch02s13.html#config.sending-email.smtp" title="2.13.1.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>")</p></li><li class="listitem"><p>
<code class="literal">Math::Round</code>
</p></li><li class="listitem"><p>
<code class="literal">Params::Validate</code>
doc/html/ch02s03.html
werden. Dies kann über die Weboberfläche getan werden, indem man
sich mit dem Passwort <code class="literal">admin123</code> in der
Administrationsoberfläche anmeldet.
Weitere Details siehe Abschnitt "<a class="xref" href="ch02s09.html" title="2.9. Benutzerauthentifizierung und Administratorpasswort">Abschnitt&nbsp;2.9, „Benutzerauthentifizierung und Administratorpasswort“</a>"
Weitere Details siehe Abschnitt "<a class="xref" href="ch02s10.html" title="2.10. Benutzerauthentifizierung und Administratorpasswort">Abschnitt&nbsp;2.10, „Benutzerauthentifizierung und Administratorpasswort“</a>"
</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s02.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s04.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.2. Benötigte Software und Pakete&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.4. Manuelle Installation des Programmpaketes</td></tr></table></div></body></html>
doc/html/ch02s05.html
verwaltet.</p><p>Die Konfiguration ist ferner serverabhängig, d.h. für alle
Mandaten, bzw. Datenbanken gleich.</p></div><div class="sect2" title="2.5.2. Abschnitte und Parameter"><div class="titlepage"><div><div><h3 class="title"><a name="config.config-file.sections-parameters"></a>2.5.2. Abschnitte und Parameter</h3></div></div></div><p>Die Konfigurationsdatei besteht aus mehreren Teilen, die
entsprechend kommentiert sind:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<code class="literal">authentication</code> (siehe Abschnitt "<a class="xref" href="ch02s09.html" title="2.9. Benutzerauthentifizierung und Administratorpasswort">Abschnitt&nbsp;2.9, „Benutzerauthentifizierung und Administratorpasswort“</a>"
<code class="literal">authentication</code> (siehe Abschnitt "<a class="xref" href="ch02s10.html" title="2.10. Benutzerauthentifizierung und Administratorpasswort">Abschnitt&nbsp;2.10, „Benutzerauthentifizierung und Administratorpasswort“</a>"
in diesem Kapitel)</p></li><li class="listitem"><p>
<code class="literal">authentication/database</code>
</p></li><li class="listitem"><p>
......
</p></li><li class="listitem"><p>
<code class="literal">paths</code>
</p></li><li class="listitem"><p>
<code class="literal">mail_delivery</code> (siehe Abschnitt "<a class="xref" href="ch02s12.html#config.sending-email.smtp" title="2.12.1.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>)</p></li><li class="listitem"><p>
<code class="literal">imap_client</code> (siehe Abschnitt "<a class="xref" href="ch02s12.html#config.imap_client" title="2.12.3. E-Mails in kivitendo importieren">E-Mails in kivitendo importieren</a>)</p></li><li class="listitem"><p>
<code class="literal">sent_emails_in_imap</code> (siehe Abschnitt "<a class="xref" href="ch02s12.html#config.sent_emails_in_imap" title="2.12.2. Versendete E-Mails über IMAP exportieren">Versendete E-Mails über IMAP exportieren</a>)</p></li><li class="listitem"><p>
<code class="literal">mail_delivery</code> (siehe Abschnitt "<a class="xref" href="ch02s13.html#config.sending-email.smtp" title="2.13.1.2. Versand über einen SMTP-Server">E-Mail-Versand über einen SMTP-Server</a>)</p></li><li class="listitem"><p>
<code class="literal">imap_client</code> (siehe Abschnitt "<a class="xref" href="ch02s13.html#config.imap_client" title="2.13.3. E-Mails in kivitendo importieren">E-Mails in kivitendo importieren</a>)</p></li><li class="listitem"><p>
<code class="literal">sent_emails_in_imap</code> (siehe Abschnitt "<a class="xref" href="ch02s13.html#config.sent_emails_in_imap" title="2.13.2. Versendete E-Mails über IMAP exportieren">Versendete E-Mails über IMAP exportieren</a>)</p></li><li class="listitem"><p>
<code class="literal">applications</code>
</p></li><li class="listitem"><p>
<code class="literal">environment</code>
doc/html/ch02s08.html
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>2.8. 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.8.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. Webserver-Konfiguration"><link rel="next" href="ch02s09.html" title="2.9. 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.8. Der Task-Server</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s07.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s09.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.8. Der Task-Server"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.task-server"></a>2.8. Der Task-Server</h2></div></div></div><p>Der Task-Server ist ein Prozess, der im Hintergrund läuft, in
<title>2.8. 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.8.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. Webserver-Konfiguration"><link rel="next" href="ch02s09.html" title="2.9. Konfiguration der Hintergrund-Jobs"></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. Der Task-Server</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s07.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s09.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.8. Der Task-Server"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="config.task-server"></a>2.8. 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 diese zu
festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser Prozess
wird u.a. für die Erzeugung der wiederkehrenden Rechnungen und weitere
......
läuft.</p></li></ul></div><p>Der Task-Server wechselt beim Starten automatisch in das
kivitendo-Installationsverzeichnis.</p><p>Dieselben Optionen können auch für die SystemV-basierenden
Runlevel-Scripte benutzt werden (siehe oben).</p><p>Wurde der Task-Server als systemd-Service eingerichtet (s.o.),
so startet dieser nach Beendigung automatisch erneut.</p></div><div class="sect2" title="2.8.5. Exemplarische Konfiguration eines Hintergrund-Jobs, der die Jahreszahl in allen Nummernkreisen zum Jahreswechsel erhöht"><div class="titlepage"><div><div><h3 class="title"><a name="Tasks-konfigurieren"></a>2.8.5. Exemplarische Konfiguration eines Hintergrund-Jobs, der die Jahreszahl in allen Nummernkreisen zum Jahreswechsel erhöht</h3></div></div></div><p>Hintergrund-Jobs werden über System -&gt; Hintergrund-Jobs und Task-Server -&gt; Aktuelle Hintergrund-Jobs anzeigen -&gt; Aktions-Knopf 'erfassen' angelegt. </p><p>Nachdem wir über das Menü dort angelangt sind, legen wir unseren exemplarischen Hintergrund-Jobs "Erhöhung der Nummernkreise" mit folgenden Werten an:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<code class="literal">Aktiv:</code> Hier ein 'Ja' auswählen</p></li><li class="listitem"><p>
<code class="literal">Ausführungsart:</code> 'wiederholte Ausführung' auswählen</p></li><li class="listitem"><p>
<code class="literal">Paketname:</code> 'SetNumberRange' auswählen</p></li><li class="listitem"><p>
<code class="literal">Ausführungszeitplan:</code> Hier entsprechend Werte wie in der crontab eingeben.</p><p>Syntax:</p><pre class="programlisting">* * * * *
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ └──── Wochentag (0-7, Sonntag ist 0 oder 7)
│ │ │ └────── Monat (1-12)
│ │ └──────── Tag (1-31)
│ └────────── Stunde (0-23)
└──────────── Minute (0-59) </pre><p>Die Sterne können folgende Werte haben:</p><pre class="programlisting">
1 2 3 4 5
1 = Minute (0-59)
2 = Stunde (0-23)
3 = Tag (0-31)
4 = Monat (1-12)
5 = Wochentag (0-7, Sonntag ist 0 oder 7)
</pre><p>Um die Ausführung auf eine Minute vor Sylvester zu setzen, müssen die folgenden Werte eingetragen werden:</p><pre class="programlisting">59 23 31 12 *</pre></li><li class="listitem"><p>
<code class="literal">Daten:</code>In diesem Feld können optionale Parameter für den Hintergrund im JSON-Format gesetzt werden. Der Hintergrund-Job <code class="literal">SetNumberRange</code> akzeptiert zwei Variable nämlich <code class="literal">digit_year</code> sowieso <code class="literal">multiplier</code>.</p><p>
<code class="literal">digit_year</code> kann zwei Werte haben entweder 2 oder 4, darüber wird gesteuert ob die Jahreszahl zwei oder vierstellig kodiert wird (für 2019, dann entweder 19 oder 2019). Der Standardwert ist vierstellig.</p><p>
<code class="literal">multiplier</code> ist ein Vielfaches von 10, darüber wird die erste Nummer im Nummernkreis (die Anzahl der Stellen) wie folgt bestimmt:</p><pre class="programlisting">
multiplier Nummernkreis 2020
10 -&gt; 20200
100 -&gt; 202000
1000 -&gt; 2020000
</pre><p>Wir gehen jetzt beispielhaft von einer letzten Rechnungsnummer von RE2019456 aus. Demnach sollte ab Januar 2020 die erste Nummer RE2020001 sein. Da der Task auch Präfixe berücksichtigt, kann dies mit folgenden JSON-kodierten Werten umgesetzt werden:</p><p>
<code class="literal">Daten:</code>
</p><pre class="programlisting">multiplier: 100
digits_year: 4</pre></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="ch02s07.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s09.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.7. Webserver-Konfiguration&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.9. Benutzerauthentifizierung und Administratorpasswort</td></tr></table></div></body></html>
so startet dieser nach Beendigung automatisch erneut.</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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s09.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.7. Webserver-Konfiguration&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.9. Konfiguration der Hintergrund-Jobs</td></tr></table></div></body></html>
doc/html/ch02s09.html
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>2.9. 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.8.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. Der Task-Server"><link rel="next" href="ch02s10.html" title="2.10. 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.9. Benutzerauthentifizierung und Administratorpasswort</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s08.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s10.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.9. Benutzerauthentifizierung und Administratorpasswort"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Benutzerauthentifizierung-und-Administratorpasswort"></a>2.9. Benutzerauthentifizierung und Administratorpasswort</h2></div></div></div><p>Informationen über die Einrichtung der Benutzerauthentifizierung,
über die Verwaltung von Gruppen und weitere Einstellungen</p><div class="sect2" title="2.9.1. Grundlagen zur Benutzerauthentifizierung"><div class="titlepage"><div><div><h3 class="title"><a name="Grundlagen-zur-Benutzerauthentifizierung"></a>2.9.1. Grundlagen zur Benutzerauthentifizierung</h3></div></div></div><p>kivitendo verwaltet die Benutzerinformationen in einer
Datenbank, die im folgenden “Authentifizierungsdatenbank” genannt
wird. Für jeden Benutzer kann dort eine eigene Datenbank für die
eigentlichen Finanzdaten hinterlegt sein. Diese beiden Datenbanken
können, müssen aber nicht unterschiedlich sein.</p><p>Im einfachsten Fall gibt es für kivitendo nur eine einzige
Datenbank, in der sowohl die Benutzerinformationen als auch die Daten
abgelegt werden.</p><p>Zusätzlich ermöglicht es kivitendo, dass die Benutzerpasswörter gegen die Authentifizierungsdatenbank oder gegen einen oder
mehrere LDAP-Server überprüft werden.</p><p>Welche Art der Passwortüberprüfung kivitendo benutzt und wie
kivitendo die Authentifizierungsdatenbank erreichen kann, wird in der
Konfigurationsdatei <code class="filename">config/kivitendo.conf</code>
festgelegt. Diese muss bei der Installation und bei einem Upgrade von
einer Version vor v2.6.0 angelegt werden. Eine
Beispielkonfigurationsdatei
<code class="filename">config/kivitendo.conf.default</code> existiert, die als
Vorlage benutzt werden kann.</p></div><div class="sect2" title="2.9.2. Administratorpasswort"><div class="titlepage"><div><div><h3 class="title"><a name="Administratorpasswort"></a>2.9.2. Administratorpasswort</h3></div></div></div><p>Das Passwort, das zum Zugriff auf das Administrationsinterface
von kivitendo benutzt wird, wird ebenfalls in dieser Datei
gespeichert. Es kann auch nur dort und nicht mehr im
Administrationsinterface selber geändert werden. Der Parameter dazu
heißt <code class="varname">admin_password</code> im Abschnitt
<code class="varname">[authentication]</code>.</p></div><div class="sect2" title="2.9.3. Authentifizierungsdatenbank"><div class="titlepage"><div><div><h3 class="title"><a name="Authentifizierungsdatenbank"></a>2.9.3. Authentifizierungsdatenbank</h3></div></div></div><p>Die Verbindung zur Authentifizierungsdatenbank wird mit den
Parametern in <code class="varname">[authentication/database]</code>
konfiguriert. Hier sind die folgenden Parameter anzugeben:</p><div class="variablelist"><dl><dt><span class="term">
<code class="literal">host</code>
</span></dt><dd><p>Der Rechnername oder die IP-Adresse des
Datenbankservers</p></dd><dt><span class="term">
<code class="literal">port</code>
</span></dt><dd><p>Die Portnummer des Datenbankservers, meist 5432</p></dd><dt><span class="term">
<code class="literal">db</code>
</span></dt><dd><p>Der Name der Authentifizierungsdatenbank</p></dd><dt><span class="term">
<code class="literal">user</code>
</span></dt><dd><p>Der Benutzername, mit dem sich kivitendo beim
Datenbankserver anmeldet (z.B.
"<code class="literal">postgres</code>")</p></dd><dt><span class="term">
<code class="literal">password</code>
</span></dt><dd><p>Das Passwort für den Datenbankbenutzer</p></dd></dl></div><p>Die Datenbank muss noch nicht existieren. kivitendo kann sie
automatisch anlegen (mehr dazu siehe unten).</p></div><div class="sect2" title="2.9.4. Passwortüberprüfung"><div class="titlepage"><div><div><h3 class="title"><a name="Passwort%C3%BCberpr%C3%BCfung"></a>2.9.4. Passwortüberprüfung</h3></div></div></div><p>kivitendo unterstützt Passwortüberprüfung auf zwei Arten: gegen
die Authentifizierungsdatenbank und gegen externe LDAP- oder
Active-Directory-Server. Welche davon benutzt wird, regelt der
Parameter <code class="varname">module</code> im Abschnitt
<code class="varname">[authentication]</code>.</p><p>Dieser Parameter listet die zu verwendenden Authentifizierungsmodule auf. Es muss mindestens ein Modul angegeben werden, es
können aber auch mehrere angegeben werden. Weiterhin ist es möglich, das LDAP-Modul mehrfach zu verwenden und für jede Verwendung
eine unterschiedliche Konfiguration zu nutzen, z.B. um einen Fallback-Server anzugeben, der benutzt wird, sofern der Hauptserver
nicht erreichbar ist.</p><p>Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank geprüft werden, so muss der Parameter
<code class="varname">module</code> das Modul <code class="literal">DB</code> enthalten. Sofern das Modul in der Liste enthalten ist, egal an welcher
Position, können sowohl der Administrator als auch die Benutzer selber ihre Passwörter in kivitendo ändern.</p><p>Wenn Passwörter gegen einen oder mehrere externe LDAP- oder Active-Directory-Server geprüft werden, so muss der Parameter
<code class="varname">module</code> den Wert <code class="literal">LDAP</code> enthalten. In diesem Fall müssen zusätzliche Informationen über den
LDAP-Server im Abschnitt <code class="literal">[authentication/ldap]</code> angegeben werden. Das Modul kann auch mehrfach angegeben werden,
wobei jedes Modul eine eigene Konfiguration bekommen sollte. Der Name der Konfiguration wird dabei mit einem Doppelpunkt getrennt an
den Modulnamen angehängt (<code class="literal">LDAP:Name-der-Konfiguration</code>). Der entsprechende Abschnitt in der Konfigurationsdatei
lautet dann <code class="literal">[authentication/Name-der-Konfiguration]</code>.</p><p>Die verfügbaren Parameter für die LDAP-Konfiguration lauten:</p><div class="variablelist"><dl><dt><span class="term">
<code class="literal">host</code>
</span></dt><dd><p>Der Rechnername oder die IP-Adresse des LDAP- oder
Active-Directory-Servers. Diese Angabe ist zwingend
erforderlich.</p></dd><dt><span class="term">
<code class="literal">port</code>
</span></dt><dd><p>Die Portnummer des LDAP-Servers; meist 389.</p></dd><dt><span class="term">
<code class="literal">tls</code>
</span></dt><dd><p>Wenn Verbindungsverschlüsselung gewünscht ist, so diesen
Wert auf ‘<code class="literal">1</code>’ setzen, andernfalls auf
‘<code class="literal">0</code>’ belassen</p></dd><dt><span class="term">
<code class="literal">verify</code>
</span></dt><dd><p>Wenn Verbindungsverschlüsselung gewünscht und der Parameter <em class="parameter"><code>tls</code></em> gesetzt ist, so gibt dieser
Parameter an, ob das Serverzertifikat auf Gültigkeit geprüft wird. Mögliche Werte sind <code class="literal">require</code> (Zertifikat
wird überprüft und muss gültig sei; dies ist der Standard) und <code class="literal">none</code> (Zertifikat wird nicht
überpfüft).</p></dd><dt><span class="term">
<code class="literal">attribute</code>
</span></dt><dd><p>Das LDAP-Attribut, in dem der Benutzername steht, den der
Benutzer eingegeben hat. Für Active-Directory-Server ist dies
meist ‘<code class="literal">sAMAccountName</code>’, für andere
LDAP-Server hingegen ‘<code class="literal">uid</code>’. Diese Angabe ist
zwingend erforderlich.</p></dd><dt><span class="term">
<code class="literal">base_dn</code>
</span></dt><dd><p>Der Abschnitt des LDAP-Baumes, der durchsucht werden soll.
Diese Angabe ist zwingend erforderlich.</p></dd><dt><span class="term">
<code class="literal">filter</code>
</span></dt><dd><p>Ein optionaler LDAP-Filter. Enthält dieser Filter das Wort
<code class="literal">&lt;%login%&gt;</code>, so wird dieses durch den vom
Benutzer eingegebenen Benutzernamen ersetzt. Andernfalls wird
der LDAP-Baum nach einem Element durchsucht, bei dem das oben
angegebene Attribut mit dem Benutzernamen identisch ist.</p></dd><dt><span class="term">
<code class="literal">bind_dn</code> und
<code class="literal">bind_password</code>
</span></dt><dd><p>Wenn der LDAP-Server eine Anmeldung erfordert, bevor er
durchsucht werden kann (z.B. ist dies bei
Active-Directory-Servern der Fall), so kann diese hier angegeben
werden. Für Active-Directory-Server kann als
‘<code class="literal">bind_dn</code>’ entweder eine komplette LDAP-DN wie
z.B. ‘<code class="literal">cn=Martin
Mustermann,cn=Users,dc=firmendomain</code>’ auch nur der
volle Name des Benutzers eingegeben werden; in diesem Beispiel
also ‘<code class="literal">Martin Mustermann</code>’.</p></dd><dt><span class="term">
<code class="literal">timeout</code>
</span></dt><dd><p>Timeout beim Verbindungsversuch, bevor der Server als nicht erreichbar gilt; Standardwert: 10</p></dd></dl></div></div><div class="sect2" title="2.9.5. Name des Session-Cookies"><div class="titlepage"><div><div><h3 class="title"><a name="Name-des-Session-Cookies"></a>2.9.5. Name des Session-Cookies</h3></div></div></div><p>Sollen auf einem Server mehrere kivitendo-Installationen
aufgesetzt werden, so müssen die Namen der Session-Cookies für alle
Installationen unterschiedlich sein. Der Name des Cookies wird mit dem
Parameter <code class="varname">cookie_name</code> im Abschnitt
<code class="varname">[authentication]</code>gesetzt.</p><p>Diese Angabe ist optional, wenn nur eine Installation auf dem
Server existiert.</p></div><div class="sect2" title="2.9.6. Anlegen der Authentifizierungsdatenbank"><div class="titlepage"><div><div><h3 class="title"><a name="Anlegen-der-Authentifizierungsdatenbank"></a>2.9.6. Anlegen der Authentifizierungsdatenbank</h3></div></div></div><p>Nachdem alle Einstellungen in
<code class="filename">config/kivitendo.conf</code> vorgenommen wurden, muss
kivitendo die Authentifizierungsdatenbank anlegen. Dieses geschieht
automatisch, wenn Sie sich im Administrationsmodul anmelden, das unter
der folgenden URL erreichbar sein sollte:</p><p>
<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>
</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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s10.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.8. Der Task-Server&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.10. Mandanten-, Benutzer- und Gruppenverwaltung</td></tr></table></div></body></html>
<title>2.9. Konfiguration der Hintergrund-Jobs</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.8.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. Der Task-Server"><link rel="next" href="ch02s10.html" title="2.10. 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.9. Konfiguration der Hintergrund-Jobs</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s08.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s10.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.9. Konfiguration der Hintergrund-Jobs"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Hintergrund-Jobs konfigurieren"></a>2.9. Konfiguration der Hintergrund-Jobs</h2></div></div></div><p>Hintergrund-Jobs werden über System -&gt; Hintergrund-Jobs und Task-Server -&gt; Aktuelle Hintergrund-Jobs anzeigen -&gt; Aktions-Knopf 'erfassen' angelegt. </p><p>Nachdem wir über das Menü dort angelangt sind, legen wir hier unseren Hintergrund-Jobs an:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<code class="literal">Aktiv:</code> Hier ein 'Ja' auswählen</p></li><li class="listitem"><p>
<code class="literal">Ausführungsart:</code> 'wiederholte Ausführung' auswählen</p></li><li class="listitem"><p>
<code class="literal">Paketname:</code> Hintergrundjob auswählen</p></li><li class="listitem"><p>
<code class="literal">Ausführungszeitplan:</code> Hier entsprechend Werte wie in der crontab eingeben.</p><p>Syntax:</p><pre class="programlisting">* * * * *
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ └──── Wochentag (0-7, Sonntag ist 0 oder 7)
│ │ │ └────── Monat (1-12)
│ │ └──────── Tag (1-31)
│ └────────── Stunde (0-23)
└──────────── Minute (0-59) </pre><p>Die Sterne können folgende Werte haben:</p><pre class="programlisting">
1 2 3 4 5
1 = Minute (0-59)
2 = Stunde (0-23)
3 = Tag (0-31)
4 = Monat (1-12)
5 = Wochentag (0-7, Sonntag ist 0 oder 7)
</pre><p>Um die Ausführung auf eine Minute vor den Jahreswechsel zu setzen, müssen die folgenden Werte eingetragen werden:</p><pre class="programlisting">59 23 31 12 *</pre></li><li class="listitem"><p>
<code class="literal">Daten:</code>In diesem Feld können optionale Parameter für den Hintergrund im YAML-Format gesetzt werden.</p></li></ul></div><div class="sect2" title="2.9.1. SetNumberRange"><div class="titlepage"><div><div><h3 class="title"><a name="Hintergrund-Job SetNumberRange"></a>2.9.1. SetNumberRange</h3></div></div></div><p> Der Hintergrund-Job <code class="literal">SetNumberRange</code> akzeptiert im Feld <code class="literal">Daten</code> zwei Variablen nämlich <code class="literal">digit_year</code> sowieso <code class="literal">multiplier</code>.</p><p>
<code class="literal">digit_year</code> kann zwei Werte haben entweder 2 oder 4, darüber wird gesteuert ob die Jahreszahl zwei oder vierstellig kodiert wird (für 2019, dann entweder 19 oder 2019). Der Standardwert ist vierstellig.</p><p>
<code class="literal">multiplier</code> ist ein Vielfaches von 10, darüber wird die erste Nummer im Nummernkreis (die Anzahl der Stellen) wie folgt bestimmt:</p><pre class="programlisting">
multiplier Nummernkreis 2020
10 -&gt; 20200
100 -&gt; 202000
1000 -&gt; 2020000
</pre><p>Wir gehen jetzt beispielhaft von einer letzten Rechnungsnummer von RE2019456 aus. Demnach sollte ab Januar 2020 die erste Nummer RE2020001 sein. Da der Task auch Präfixe berücksichtigt, kann dies mit folgenden JSON-kodierten Werten umgesetzt werden:</p><p>
<code class="literal">Daten:</code>
</p><pre class="programlisting">multiplier: 100
digits_year: 4</pre></div><div class="sect2" title="2.9.2. ImportRecordEmails"><div class="titlepage"><div><div><h3 class="title"><a name="Hintergrund-Job ImportRecordEmails"></a>2.9.2. ImportRecordEmails</h3></div></div></div><p> Der Hintergrund-Job <code class="literal">ImportRecordEmails</code> kann vollständig über das Feld Daten konfiguriert werden. Er benötigt folgende Variablen:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<code class="literal">hostname:</code> Hier wird der Emailserver eingetragen</p></li><li class="listitem"><p>
<code class="literal">username:</code> Benutzername, mit dem sich am Emailserver angemeldet wird. (Häufig die Emailadresse)</p></li><li class="listitem"><p>
<code class="literal">password:</code> Passwort des Benutzers</p></li><li class="listitem"><p>
<code class="literal">folder:</code> Hier wird der Ordner eingetragen, aus dem die Emails importert werden sollen. (bspw. INBOX)</p></li><li class="listitem"><p>
<code class="literal">port:</code> Port am Emailserver. Default ist 993</p></li><li class="listitem"><p>
<code class="literal">ssl:</code> Gibt an ob SSL verwendet werden soll. Default: 1</p></li></ul></div><p> Optional können außerdem folgende Variablen verwendet werden:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<code class="literal">email_import_ids_to_delete:</code> Hier können IDs von Importen eingetragen werden, deren Emails aus dem Emailjournal gelöscht werden sollen.</p></li><li class="listitem"><p>
<code class="literal">process_imported_emails:</code> Wenn nach dem Import noch weitere Verarbeitung der angehangenen Dokument erfolgen soll, müssen hier die jeweiligen Schritte eingetragen werden. Aktuell ist es möglich, dass angehangene Zugpferd-Rechnung direkt verbucht und mit der Email verknüpft werden. Dazu muss hier '[zugpferd]' eingetragen werden.</p></li><li class="listitem"><p>
<code class="literal">processed_imap_flag:</code> Das hier eingetragenen Flag wird nach dem Verarbeiten an der Email gesetzt.</p></li><li class="listitem"><p>
<code class="literal">not_processed_imap_flag:</code> Dieses Flag wird gesetzt, wenn die Email nicht verarbeitet werden konnte.</p></li><li class="listitem"><p>
<code class="literal">record_type:</code> Einträge im Email-Journal können direkt einem Belegtypen zugrorndet werden. Wenn alle Emails, die mit einem Hintergrundjob importiert werden, den gleichen Belegtypen haben, kann man diesen hier festlegen und alle Einträge im Emailjournal werden entsprechend zugrordnet. Für Eingangsrechnungen muss man hier 'ap_transaction' setzen.</p></li></ul></div><p>Wie die Imap Flags von den jeweiligen Clients angezeigt und eingerichtet werden, ist aktuell om Thunderbird (Version 115.8.0) und SoGo (Version 5.9.1) getestet:</p><p>In Thunderbird heißen die Flags Schlagwörter. Sie werden durchnummeriert mit dem Prefix "$label". Über die Einstellungen kann man Schlagwort und Farbe für den jeweiligen Tag setzen und berabeiten. Um die vordefenierten Tags in Thunderbird zu netzen kann man $label1 - $label5 nutzen. Eigene Label werden dann von thunderbird automatisch hochgezählt.Um das korrekte Tag für ein Label zu finden oder auch selbst ein Tag mit einer selbst gewählten Zahl zu defnieren kann man in den Einstellunge gan am Ende über den Button <code class="literal">Konfiguration berabeiten...</code> die Werte in der Kofiguration einsehen, ändern und berabeiten. Hier muss man nach <code class="literal">mailnews.tags</code> suchen.</p><p>In SoGo kann man unter Einstellungen -&gt; Mail -&gt; Labels beliebige Label mit $ als Prefix anlegen und Namen und Farbe zuweisen.</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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s10.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.8. Der Task-Server&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.10. Benutzerauthentifizierung und Administratorpasswort</td></tr></table></div></body></html>
doc/html/ch02s10.html
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>2.10. 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.8.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. Benutzerauthentifizierung und Administratorpasswort"><link rel="next" href="ch02s11.html" title="2.11. Drucker- und Systemverwaltung"></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. Mandanten-, Benutzer- und Gruppenverwaltung</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s09.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s11.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.10. Mandanten-, Benutzer- und Gruppenverwaltung"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Benutzer--und-Gruppenverwaltung"></a>2.10. Mandanten-, Benutzer- und Gruppenverwaltung</h2></div></div></div><p>Nach der Installation müssen Mandanten, Benutzer, Gruppen und
Datenbanken angelegt werden. Dieses geschieht im Administrationsmenü,
das Sie unter folgender URL finden:</p><p>
<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>
</p><p>Verwenden Sie zur Anmeldung das Passwort, das Sie in der Datei
<code class="filename">config/kivitendo.conf</code> eingetragen haben.</p><div class="sect2" title="2.10.1. Zusammenhänge"><div class="titlepage"><div><div><h3 class="title"><a name="Zusammenh%C3%A4nge"></a>2.10.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 Zugriff
auf welche Mandanten, und welche Gruppe verfügt über welche Rechte.
Diese Informationen werden in der Authentifizierungsdatenbank
gespeichert. Dies ist diejenige Datenbank, deren Verbindungsparameter
in der Konfigurationsdatei <code class="filename">config/kivitendo.conf</code>
gespeichert werden.</p><p>Das zweite Set besteht aus den eigentlichen Verkehrsdaten eines
Mandanten, wie beispielsweise die Stammdaten (Kunden, Lieferanten,
Waren) und Belege (Angebote, Lieferscheine, Rechnungen). Diese werden
in einer Mandantendatenbank gespeichert. Die Verbindungsinformationen
einer solchen Mandantendatenbank werden im Administrationsbereich
konfiguriert, indem man einen Mandanten anlegt und dort die Parameter
einträgt. Dabei hat jeder Mandant eine eigene Datenbank.</p><p>Aufgrund des Datenbankdesigns ist es für einfache Fälle möglich,
die Authentifizierungsdatenbank und eine der Mandantendatenbanken in
ein und derselben Datenbank zu speichern. Arbeitet man hingegen mit
mehr als einem Mandanten, wird empfohlen, für die
Authentifizierungsdatenbank eine eigene Datenbank zu verwenden, die
nicht gleichzeitig für einen Mandanten verwendet wird.</p></div><div class="sect2" title="2.10.2. Mandanten, Benutzer und Gruppen"><div class="titlepage"><div><div><h3 class="title"><a name="Mandanten-Benutzer-Gruppen"></a>2.10.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
ausgewählt werden. Für jeden Mandanten wird ein eindeutiger Name
vergeben, der beim Login angezeigt wird. Weiterhin benötigt der
Mandant Datenbankverbindungsparameter für seine Mandantendatenbank.
Diese sollte über die <a class="link" href="ch02s10.html#Datenbanken-anlegen" title="2.10.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 Passwort. Weiterhin legt
der Administrator fest, an welchen Mandanten sich ein Benutzer
anmelden kann, was beim Login verifiziert wird.</p><p>Gruppen dienen dazu, Benutzern innerhalb eines Mandanten Zugriff
auf bestimmte Funktionen zu geben. Einer Gruppe werden dafür vom
Administrator gewisse Rechte zugeordnet. Weiterhin legt der
Administrator fest, für welche Mandanten eine Gruppe gilt, und welche
Benutzer Mitglieder in dieser Gruppe sind. Meldet sich ein Benutzer
dann an einem Mandanten an, so erhält er alle Rechte von allen
denjenigen Gruppen, die zum Einen dem Mandanten zugeordnet sind und in
denen der Benutzer zum Anderen Mitglied ist,</p><p>Die Reihenfolge, in der Datenbanken, Mandanten, Gruppen und
Benutzer angelegt werden, kann im Prinzip beliebig gewählt werden. Die
folgende Reihenfolge beinhaltet die wenigsten Arbeitsschritte:</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.10.3. Datenbanken anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Datenbanken-anlegen"></a>2.10.3. Datenbanken anlegen</h3></div></div></div><p>Zuerst muss eine Datenbank angelegt werden. Verwenden Sie für
den Datenbankzugriff den vorhin angelegten Benutzer (in unseren
Beispielen ist dies ‘<code class="literal">kivitendo</code>’).</p></div><div class="sect2" title="2.10.4. Gruppen anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Gruppen-anlegen"></a>2.10.4. Gruppen anlegen</h3></div></div></div><p>Eine Gruppe wird in der Gruppenverwaltung angelegt. Ihr muss ein
Name gegeben werden, eine Beschreibung ist hingegen optional. Nach dem
Anlegen können Sie die verschiedenen Bereiche wählen, auf die
Mitglieder dieser Gruppe Zugriff haben sollen.</p><p>Benutzergruppen werden zwar in der Authentifizierungsdatenbank
gespeichert, gelten aber nicht automatisch für alle Mandanten. Der
Administrator legt vielmehr fest, für welche Mandanten eine Gruppe
gültig ist. Dies kann entweder beim Bearbeiten der Gruppe geschehen
("diese Gruppe ist gültig für Mandanten X, Y und Z"), oder aber wenn
man einen Mandanten bearbeitet ("für diesen Mandanten sind die Gruppen
A, B und C gültig").</p><p>Wurden bereits Benutzer angelegt, so können hier die Mitglieder
dieser Gruppe festgelegt werden ("in dieser Gruppe sind die Benutzer
X, Y und Z Mitglieder"). Dies kann auch nachträglich beim Bearbeiten
eines Benutzers geschehen ("dieser Benutzer ist Mitglied in den
Gruppen A, B und C").</p></div><div class="sect2" title="2.10.5. Benutzer anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Benutzer-anlegen"></a>2.10.5. Benutzer anlegen</h3></div></div></div><p>Beim Anlegen von Benutzern werden für viele Parameter
Standardeinstellungen vorgenommen, die den Gepflogenheiten des
deutschen Raumes entsprechen.</p><p>Zwingend anzugeben ist der Loginname. Wenn die
Passwortauthentifizierung über die Datenbank eingestellt ist, so kann
hier auch das Benutzerpasswort gesetzt bzw. geändert werden. Ist
hingegen die LDAP-Authentifizierung aktiv, so ist das Passwort-Feld
deaktiviert.</p><p>Hat man bereits Mandanten und Gruppen angelegt, so kann hier
auch konfiguriert werden, auf welche Mandanten der Benutzer Zugriff
hat bzw. in welchen Gruppen er Mitglied ist. Beide Zuweisungen können
sowohl beim Benutzer vorgenommen werden ("dieser Benutzer hat Zugriff
auf Mandanten X, Y, Z" bzw. "dieser Benutzer ist Mitglied in Gruppen
X, Y und Z") als auch beim Mandanten ("auf diesen Mandanten haben
Benutzer A, B und C Zugriff") bzw. bei der Gruppe ("in dieser Gruppe
sind Benutzer A, B und C Mitglieder").</p></div><div class="sect2" title="2.10.6. Mandanten anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Mandanten-anlegen"></a>2.10.6. Mandanten anlegen</h3></div></div></div><p>Ein Mandant besteht aus Administrationssicht primär aus einem
eindeutigen Namen. Weiterhin wird hier hinterlegt, welche Datenbank
als Mandantendatenbank benutzt wird. Hier müssen die Zugriffsdaten
einer der eben angelegten Datenbanken eingetragen werden.</p><p>Hat man bereits Benutzer und Gruppen angelegt, so kann hier auch
konfiguriert werden, welche Benutzer Zugriff auf den Mandanten haben
bzw. welche Gruppen für den Mandanten gültig sind. Beide Zuweisungen
können sowohl beim Mandanten vorgenommen werden ("auf diesen Mandanten
haben Benutzer X, Y und Z Zugriff" bzw. "für diesen Mandanten sind die
Gruppen X, Y und Z gültig") als auch beim Benutzer ("dieser Benutzer
hat Zugriff auf Mandanten A, B und C") bzw. bei der Gruppe ("diese
Gruppe ist für Mandanten A, B und C gültig").</p></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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s11.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.9. Benutzerauthentifizierung und Administratorpasswort&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.11. Drucker- und Systemverwaltung</td></tr></table></div></body></html>
<title>2.10. 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.8.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. Konfiguration der Hintergrund-Jobs"><link rel="next" href="ch02s11.html" title="2.11. 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.10. Benutzerauthentifizierung und Administratorpasswort</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s09.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s11.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.10. Benutzerauthentifizierung und Administratorpasswort"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Benutzerauthentifizierung-und-Administratorpasswort"></a>2.10. Benutzerauthentifizierung und Administratorpasswort</h2></div></div></div><p>Informationen über die Einrichtung der Benutzerauthentifizierung,
über die Verwaltung von Gruppen und weitere Einstellungen</p><div class="sect2" title="2.10.1. Grundlagen zur Benutzerauthentifizierung"><div class="titlepage"><div><div><h3 class="title"><a name="Grundlagen-zur-Benutzerauthentifizierung"></a>2.10.1. Grundlagen zur Benutzerauthentifizierung</h3></div></div></div><p>kivitendo verwaltet die Benutzerinformationen in einer
Datenbank, die im folgenden “Authentifizierungsdatenbank” genannt
wird. Für jeden Benutzer kann dort eine eigene Datenbank für die
eigentlichen Finanzdaten hinterlegt sein. Diese beiden Datenbanken
können, müssen aber nicht unterschiedlich sein.</p><p>Im einfachsten Fall gibt es für kivitendo nur eine einzige
Datenbank, in der sowohl die Benutzerinformationen als auch die Daten
abgelegt werden.</p><p>Zusätzlich ermöglicht es kivitendo, dass die Benutzerpasswörter gegen die Authentifizierungsdatenbank oder gegen einen oder
mehrere LDAP-Server überprüft werden.</p><p>Welche Art der Passwortüberprüfung kivitendo benutzt und wie
kivitendo die Authentifizierungsdatenbank erreichen kann, wird in der
Konfigurationsdatei <code class="filename">config/kivitendo.conf</code>
festgelegt. Diese muss bei der Installation und bei einem Upgrade von
einer Version vor v2.6.0 angelegt werden. Eine
Beispielkonfigurationsdatei
<code class="filename">config/kivitendo.conf.default</code> existiert, die als
Vorlage benutzt werden kann.</p></div><div class="sect2" title="2.10.2. Administratorpasswort"><div class="titlepage"><div><div><h3 class="title"><a name="Administratorpasswort"></a>2.10.2. Administratorpasswort</h3></div></div></div><p>Das Passwort, das zum Zugriff auf das Administrationsinterface
von kivitendo benutzt wird, wird ebenfalls in dieser Datei
gespeichert. Es kann auch nur dort und nicht mehr im
Administrationsinterface selber geändert werden. Der Parameter dazu
heißt <code class="varname">admin_password</code> im Abschnitt
<code class="varname">[authentication]</code>.</p></div><div class="sect2" title="2.10.3. Authentifizierungsdatenbank"><div class="titlepage"><div><div><h3 class="title"><a name="Authentifizierungsdatenbank"></a>2.10.3. Authentifizierungsdatenbank</h3></div></div></div><p>Die Verbindung zur Authentifizierungsdatenbank wird mit den
Parametern in <code class="varname">[authentication/database]</code>
konfiguriert. Hier sind die folgenden Parameter anzugeben:</p><div class="variablelist"><dl><dt><span class="term">
<code class="literal">host</code>
</span></dt><dd><p>Der Rechnername oder die IP-Adresse des
Datenbankservers</p></dd><dt><span class="term">
<code class="literal">port</code>
</span></dt><dd><p>Die Portnummer des Datenbankservers, meist 5432</p></dd><dt><span class="term">
<code class="literal">db</code>
</span></dt><dd><p>Der Name der Authentifizierungsdatenbank</p></dd><dt><span class="term">
<code class="literal">user</code>
</span></dt><dd><p>Der Benutzername, mit dem sich kivitendo beim
Datenbankserver anmeldet (z.B.
"<code class="literal">postgres</code>")</p></dd><dt><span class="term">
<code class="literal">password</code>
</span></dt><dd><p>Das Passwort für den Datenbankbenutzer</p></dd></dl></div><p>Die Datenbank muss noch nicht existieren. kivitendo kann sie
automatisch anlegen (mehr dazu siehe unten).</p></div><div class="sect2" title="2.10.4. Passwortüberprüfung"><div class="titlepage"><div><div><h3 class="title"><a name="Passwort%C3%BCberpr%C3%BCfung"></a>2.10.4. Passwortüberprüfung</h3></div></div></div><p>kivitendo unterstützt Passwortüberprüfung auf zwei Arten: gegen
die Authentifizierungsdatenbank und gegen externe LDAP- oder
Active-Directory-Server. Welche davon benutzt wird, regelt der
Parameter <code class="varname">module</code> im Abschnitt
<code class="varname">[authentication]</code>.</p><p>Dieser Parameter listet die zu verwendenden Authentifizierungsmodule auf. Es muss mindestens ein Modul angegeben werden, es
können aber auch mehrere angegeben werden. Weiterhin ist es möglich, das LDAP-Modul mehrfach zu verwenden und für jede Verwendung
eine unterschiedliche Konfiguration zu nutzen, z.B. um einen Fallback-Server anzugeben, der benutzt wird, sofern der Hauptserver
nicht erreichbar ist.</p><p>Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank geprüft werden, so muss der Parameter
<code class="varname">module</code> das Modul <code class="literal">DB</code> enthalten. Sofern das Modul in der Liste enthalten ist, egal an welcher
Position, können sowohl der Administrator als auch die Benutzer selber ihre Passwörter in kivitendo ändern.</p><p>Wenn Passwörter gegen einen oder mehrere externe LDAP- oder Active-Directory-Server geprüft werden, so muss der Parameter
<code class="varname">module</code> den Wert <code class="literal">LDAP</code> enthalten. In diesem Fall müssen zusätzliche Informationen über den
LDAP-Server im Abschnitt <code class="literal">[authentication/ldap]</code> angegeben werden. Das Modul kann auch mehrfach angegeben werden,
wobei jedes Modul eine eigene Konfiguration bekommen sollte. Der Name der Konfiguration wird dabei mit einem Doppelpunkt getrennt an
den Modulnamen angehängt (<code class="literal">LDAP:Name-der-Konfiguration</code>). Der entsprechende Abschnitt in der Konfigurationsdatei
lautet dann <code class="literal">[authentication/Name-der-Konfiguration]</code>.</p><p>Die verfügbaren Parameter für die LDAP-Konfiguration lauten:</p><div class="variablelist"><dl><dt><span class="term">
<code class="literal">host</code>
</span></dt><dd><p>Der Rechnername oder die IP-Adresse des LDAP- oder
Active-Directory-Servers. Diese Angabe ist zwingend
erforderlich.</p></dd><dt><span class="term">
<code class="literal">port</code>
</span></dt><dd><p>Die Portnummer des LDAP-Servers; meist 389.</p></dd><dt><span class="term">
<code class="literal">tls</code>
</span></dt><dd><p>Wenn Verbindungsverschlüsselung gewünscht ist, so diesen
Wert auf ‘<code class="literal">1</code>’ setzen, andernfalls auf
‘<code class="literal">0</code>’ belassen</p></dd><dt><span class="term">
<code class="literal">verify</code>
</span></dt><dd><p>Wenn Verbindungsverschlüsselung gewünscht und der Parameter <em class="parameter"><code>tls</code></em> gesetzt ist, so gibt dieser
Parameter an, ob das Serverzertifikat auf Gültigkeit geprüft wird. Mögliche Werte sind <code class="literal">require</code> (Zertifikat
wird überprüft und muss gültig sei; dies ist der Standard) und <code class="literal">none</code> (Zertifikat wird nicht
überpfüft).</p></dd><dt><span class="term">
<code class="literal">attribute</code>
</span></dt><dd><p>Das LDAP-Attribut, in dem der Benutzername steht, den der
Benutzer eingegeben hat. Für Active-Directory-Server ist dies
meist ‘<code class="literal">sAMAccountName</code>’, für andere
LDAP-Server hingegen ‘<code class="literal">uid</code>’. Diese Angabe ist
zwingend erforderlich.</p></dd><dt><span class="term">
<code class="literal">base_dn</code>
</span></dt><dd><p>Der Abschnitt des LDAP-Baumes, der durchsucht werden soll.
Diese Angabe ist zwingend erforderlich.</p></dd><dt><span class="term">
<code class="literal">filter</code>
</span></dt><dd><p>Ein optionaler LDAP-Filter. Enthält dieser Filter das Wort
<code class="literal">&lt;%login%&gt;</code>, so wird dieses durch den vom
Benutzer eingegebenen Benutzernamen ersetzt. Andernfalls wird
der LDAP-Baum nach einem Element durchsucht, bei dem das oben
angegebene Attribut mit dem Benutzernamen identisch ist.</p></dd><dt><span class="term">
<code class="literal">bind_dn</code> und
<code class="literal">bind_password</code>
</span></dt><dd><p>Wenn der LDAP-Server eine Anmeldung erfordert, bevor er
durchsucht werden kann (z.B. ist dies bei
Active-Directory-Servern der Fall), so kann diese hier angegeben
werden. Für Active-Directory-Server kann als
‘<code class="literal">bind_dn</code>’ entweder eine komplette LDAP-DN wie
z.B. ‘<code class="literal">cn=Martin
Mustermann,cn=Users,dc=firmendomain</code>’ auch nur der
volle Name des Benutzers eingegeben werden; in diesem Beispiel
also ‘<code class="literal">Martin Mustermann</code>’.</p></dd><dt><span class="term">
<code class="literal">timeout</code>
</span></dt><dd><p>Timeout beim Verbindungsversuch, bevor der Server als nicht erreichbar gilt; Standardwert: 10</p></dd></dl></div></div><div class="sect2" title="2.10.5. Name des Session-Cookies"><div class="titlepage"><div><div><h3 class="title"><a name="Name-des-Session-Cookies"></a>2.10.5. Name des Session-Cookies</h3></div></div></div><p>Sollen auf einem Server mehrere kivitendo-Installationen
aufgesetzt werden, so müssen die Namen der Session-Cookies für alle
Installationen unterschiedlich sein. Der Name des Cookies wird mit dem
Parameter <code class="varname">cookie_name</code> im Abschnitt
<code class="varname">[authentication]</code>gesetzt.</p><p>Diese Angabe ist optional, wenn nur eine Installation auf dem
Server existiert.</p></div><div class="sect2" title="2.10.6. Anlegen der Authentifizierungsdatenbank"><div class="titlepage"><div><div><h3 class="title"><a name="Anlegen-der-Authentifizierungsdatenbank"></a>2.10.6. Anlegen der Authentifizierungsdatenbank</h3></div></div></div><p>Nachdem alle Einstellungen in
<code class="filename">config/kivitendo.conf</code> vorgenommen wurden, muss
kivitendo die Authentifizierungsdatenbank anlegen. Dieses geschieht
automatisch, wenn Sie sich im Administrationsmodul anmelden, das unter
der folgenden URL erreichbar sein sollte:</p><p>
<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>
</p></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>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s11.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.9. Konfiguration der Hintergrund-Jobs&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.11. Mandanten-, Benutzer- und Gruppenverwaltung</td></tr></table></div></body></html>
doc/html/ch02s11.html
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>2.11. Drucker- und Systemverwaltung</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.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s10.html" title="2.10. Mandanten-, Benutzer- und Gruppenverwaltung"><link rel="next" href="ch02s12.html" title="2.12. E-Mail"></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.11. Drucker- und Systemverwaltung</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s10.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s12.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.11. Drucker- und Systemverwaltung"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Drucker--Systemverwaltung"></a>2.11. Drucker- und Systemverwaltung</h2></div></div></div><p>Im Administrationsmenü gibt es ferner noch die beiden Menüpunkte
Druckeradministration und System.</p><div class="sect2" title="2.11.1. Druckeradministration"><div class="titlepage"><div><div><h3 class="title"><a name="Druckeradministration"></a>2.11.1. Druckeradministration</h3></div></div></div><p>Unter dem Menüpunkt Druckeradministration lassen sich beliebig
viele "Druckbefehle" im System verwalten. Diese Befehle werden
mandantenweise zugeordnet. Unter Druckerbeschreibung wird der Namen
des Druckbefehls festgelegt, der dann in der Druckerauswahl des Belegs
angezeigt wird.</p><p>Unter Druckbefehl definiert man den eigentlichen Druckbefehl,
der direkt auf dem Webserver ausgeführt wird, bspw. 'lpr -P
meinDrucker' oder ein kompletter Pfad zu einem Skript
(/usr/local/src/kivitendo/scripts/pdf_druck_in_verzeichnis.sh). Wird
ferner noch ein optionales Vorlagenkürzel verwendet, wird dieses
Kürzel bei der Auswahl der Druckvorlagendatei mit einem Unterstrich
ergänzt, ist bspw. das Kürzel 'epson_drucker' definiert, so wird beim
Ausdruck eines Angebots folgende Vorlage geparst:
sales_quotation_epson_drucker.tex.</p></div><div class="sect2" title="2.11.2. System sperren / entsperren"><div class="titlepage"><div><div><h3 class="title"><a name="System"></a>2.11.2. System sperren / entsperren</h3></div></div></div><p>Unter dem Menüpunkt System gibt es den Eintrag 'Installation
sperren/entsperren'. Setzt man diese Sperre so ist der Zugang zu der
gesamten kivitendo Installation gesperrt.</p><p>Falls die Sperre gesetzt ist, erscheint anstelle der
Anmeldemaske die Information: 'kivitendo ist momentan zwecks
Wartungsarbeiten nicht zugänglich.'.</p><p>Wichtig zu erwähnen ist hierbei noch, dass sich kivitendo
automatisch 'sperrt', falls es bei einem Versionsupdate zu einem
Datenbankfehler kam. Somit kann hier nicht aus Versehen mit einem
inkonsistenten Datenbestand weitergearbeitet werden.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s10.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s12.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.10. Mandanten-, Benutzer- und Gruppenverwaltung&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.12. E-Mail</td></tr></table></div></body></html>
<title>2.11. 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.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s10.html" title="2.10. Benutzerauthentifizierung und Administratorpasswort"><link rel="next" href="ch02s12.html" title="2.12. Drucker- und Systemverwaltung"></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.11. Mandanten-, Benutzer- und Gruppenverwaltung</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s10.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s12.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.11. Mandanten-, Benutzer- und Gruppenverwaltung"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Benutzer--und-Gruppenverwaltung"></a>2.11. Mandanten-, Benutzer- und Gruppenverwaltung</h2></div></div></div><p>Nach der Installation müssen Mandanten, Benutzer, Gruppen und
Datenbanken angelegt werden. Dieses geschieht im Administrationsmenü,
das Sie unter folgender URL finden:</p><p>
<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>
</p><p>Verwenden Sie zur Anmeldung das Passwort, das Sie in der Datei
<code class="filename">config/kivitendo.conf</code> eingetragen haben.</p><div class="sect2" title="2.11.1. Zusammenhänge"><div class="titlepage"><div><div><h3 class="title"><a name="Zusammenh%C3%A4nge"></a>2.11.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 Zugriff
auf welche Mandanten, und welche Gruppe verfügt über welche Rechte.
Diese Informationen werden in der Authentifizierungsdatenbank
gespeichert. Dies ist diejenige Datenbank, deren Verbindungsparameter
in der Konfigurationsdatei <code class="filename">config/kivitendo.conf</code>
gespeichert werden.</p><p>Das zweite Set besteht aus den eigentlichen Verkehrsdaten eines
Mandanten, wie beispielsweise die Stammdaten (Kunden, Lieferanten,
Waren) und Belege (Angebote, Lieferscheine, Rechnungen). Diese werden
in einer Mandantendatenbank gespeichert. Die Verbindungsinformationen
einer solchen Mandantendatenbank werden im Administrationsbereich
konfiguriert, indem man einen Mandanten anlegt und dort die Parameter
einträgt. Dabei hat jeder Mandant eine eigene Datenbank.</p><p>Aufgrund des Datenbankdesigns ist es für einfache Fälle möglich,
die Authentifizierungsdatenbank und eine der Mandantendatenbanken in
ein und derselben Datenbank zu speichern. Arbeitet man hingegen mit
mehr als einem Mandanten, wird empfohlen, für die
Authentifizierungsdatenbank eine eigene Datenbank zu verwenden, die
nicht gleichzeitig für einen Mandanten verwendet wird.</p></div><div class="sect2" title="2.11.2. Mandanten, Benutzer und Gruppen"><div class="titlepage"><div><div><h3 class="title"><a name="Mandanten-Benutzer-Gruppen"></a>2.11.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
ausgewählt werden. Für jeden Mandanten wird ein eindeutiger Name
vergeben, der beim Login angezeigt wird. Weiterhin benötigt der
Mandant Datenbankverbindungsparameter für seine Mandantendatenbank.
Diese sollte über die <a class="link" href="ch02s11.html#Datenbanken-anlegen" title="2.11.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 Passwort. Weiterhin legt
der Administrator fest, an welchen Mandanten sich ein Benutzer
anmelden kann, was beim Login verifiziert wird.</p><p>Gruppen dienen dazu, Benutzern innerhalb eines Mandanten Zugriff
auf bestimmte Funktionen zu geben. Einer Gruppe werden dafür vom
Administrator gewisse Rechte zugeordnet. Weiterhin legt der
Administrator fest, für welche Mandanten eine Gruppe gilt, und welche
Benutzer Mitglieder in dieser Gruppe sind. Meldet sich ein Benutzer
dann an einem Mandanten an, so erhält er alle Rechte von allen
denjenigen Gruppen, die zum Einen dem Mandanten zugeordnet sind und in
denen der Benutzer zum Anderen Mitglied ist,</p><p>Die Reihenfolge, in der Datenbanken, Mandanten, Gruppen und
Benutzer angelegt werden, kann im Prinzip beliebig gewählt werden. Die
folgende Reihenfolge beinhaltet die wenigsten Arbeitsschritte:</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.11.3. Datenbanken anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Datenbanken-anlegen"></a>2.11.3. Datenbanken anlegen</h3></div></div></div><p>Zuerst muss eine Datenbank angelegt werden. Verwenden Sie für
den Datenbankzugriff den vorhin angelegten Benutzer (in unseren
Beispielen ist dies ‘<code class="literal">kivitendo</code>’).</p></div><div class="sect2" title="2.11.4. Gruppen anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Gruppen-anlegen"></a>2.11.4. Gruppen anlegen</h3></div></div></div><p>Eine Gruppe wird in der Gruppenverwaltung angelegt. Ihr muss ein
Name gegeben werden, eine Beschreibung ist hingegen optional. Nach dem
Anlegen können Sie die verschiedenen Bereiche wählen, auf die
Mitglieder dieser Gruppe Zugriff haben sollen.</p><p>Benutzergruppen werden zwar in der Authentifizierungsdatenbank
gespeichert, gelten aber nicht automatisch für alle Mandanten. Der
Administrator legt vielmehr fest, für welche Mandanten eine Gruppe
gültig ist. Dies kann entweder beim Bearbeiten der Gruppe geschehen
("diese Gruppe ist gültig für Mandanten X, Y und Z"), oder aber wenn
man einen Mandanten bearbeitet ("für diesen Mandanten sind die Gruppen
A, B und C gültig").</p><p>Wurden bereits Benutzer angelegt, so können hier die Mitglieder
dieser Gruppe festgelegt werden ("in dieser Gruppe sind die Benutzer
X, Y und Z Mitglieder"). Dies kann auch nachträglich beim Bearbeiten
eines Benutzers geschehen ("dieser Benutzer ist Mitglied in den
Gruppen A, B und C").</p></div><div class="sect2" title="2.11.5. Benutzer anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Benutzer-anlegen"></a>2.11.5. Benutzer anlegen</h3></div></div></div><p>Beim Anlegen von Benutzern werden für viele Parameter
Standardeinstellungen vorgenommen, die den Gepflogenheiten des
deutschen Raumes entsprechen.</p><p>Zwingend anzugeben ist der Loginname. Wenn die
Passwortauthentifizierung über die Datenbank eingestellt ist, so kann
hier auch das Benutzerpasswort gesetzt bzw. geändert werden. Ist
hingegen die LDAP-Authentifizierung aktiv, so ist das Passwort-Feld
deaktiviert.</p><p>Hat man bereits Mandanten und Gruppen angelegt, so kann hier
auch konfiguriert werden, auf welche Mandanten der Benutzer Zugriff
hat bzw. in welchen Gruppen er Mitglied ist. Beide Zuweisungen können
sowohl beim Benutzer vorgenommen werden ("dieser Benutzer hat Zugriff
auf Mandanten X, Y, Z" bzw. "dieser Benutzer ist Mitglied in Gruppen
X, Y und Z") als auch beim Mandanten ("auf diesen Mandanten haben
Benutzer A, B und C Zugriff") bzw. bei der Gruppe ("in dieser Gruppe
sind Benutzer A, B und C Mitglieder").</p></div><div class="sect2" title="2.11.6. Mandanten anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Mandanten-anlegen"></a>2.11.6. Mandanten anlegen</h3></div></div></div><p>Ein Mandant besteht aus Administrationssicht primär aus einem
eindeutigen Namen. Weiterhin wird hier hinterlegt, welche Datenbank
als Mandantendatenbank benutzt wird. Hier müssen die Zugriffsdaten
einer der eben angelegten Datenbanken eingetragen werden.</p><p>Hat man bereits Benutzer und Gruppen angelegt, so kann hier auch
konfiguriert werden, welche Benutzer Zugriff auf den Mandanten haben
bzw. welche Gruppen für den Mandanten gültig sind. Beide Zuweisungen
können sowohl beim Mandanten vorgenommen werden ("auf diesen Mandanten
haben Benutzer X, Y und Z Zugriff" bzw. "für diesen Mandanten sind die
Gruppen X, Y und Z gültig") als auch beim Benutzer ("dieser Benutzer
hat Zugriff auf Mandanten A, B und C") bzw. bei der Gruppe ("diese
Gruppe ist für Mandanten A, B und C gültig").</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s10.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s12.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.10. Benutzerauthentifizierung und Administratorpasswort&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.12. Drucker- und Systemverwaltung</td></tr></table></div></body></html>
doc/html/ch02s12.html
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>2.12. E-Mail</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.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s11.html" title="2.11. Drucker- und Systemverwaltung"><link rel="next" href="ch02s13.html" title="2.13. 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.12. E-Mail</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s11.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s13.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.12. E-Mail"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Email"></a>2.12. E-Mail</h2></div></div></div><p>
kivitendo kann sowohl E-Mails direkt aus dem Programm heraus E-Mails
versenden, als auch in das Programm importiern. Damit dies
funktioniert, müssen die E-Mail-Parameter korrekt konfiguriert sein.
Dazu mehr in den folgenden Abschnitten.
</p><div class="sect2" title="2.12.1. E-Mail-Versand aus kivitendo heraus"><div class="titlepage"><div><div><h3 class="title"><a name="config.sending-email"></a>2.12.1. E-Mail-Versand aus kivitendo heraus</h3></div></div></div><p>Das Versenden von E-Mails kann zum Verschicken von Belegen genutzt
werden, z.B. um ein Angebot direkt an einen Kunden zu verschicken. Damit
dies funktioniert, muss eingestellt werden, über welchen Server die
E-Mails verschickt werden sollen. kivitendo unterstützt dabei zwei
Mechanismen: Versand über einen lokalen E-Mail-Server (z.B. mit
<span class="productname">Postfix</span>™ oder <span class="productname">Exim</span>™,
was auch die standardmäßig aktive Methode ist) sowie Versand über einen
SMTP-Server (z.B. der des eigenen Internet-Providers).</p><p>Welche Methode und welcher Server verwendet werden, wird über die
Konfigurationsdatei <code class="filename">config/kivitendo.conf</code>
festgelegt. Dort befinden sich alle Einstellungen zu diesem Thema im
Abschnitt '<code class="literal">[mail_delivery]</code>'.</p><div class="sect3" title="2.12.1.1. Versand über lokalen E-Mail-Server"><div class="titlepage"><div><div><h4 class="title"><a name="config.sending-email.sendmail"></a>2.12.1.1. Versand über lokalen E-Mail-Server</h4></div></div></div><p>Diese Methode bietet sich an, wenn auf dem Server, auf dem
kivitendo läuft, bereits ein funktionsfähiger E-Mail-Server wie z.B.
<span class="productname">Postfix</span>™, <span class="productname">Exim</span>™
oder <span class="productname">Sendmail</span>™ läuft.</p><p>Um diese Methode auszuwählen, muss der Konfigurationsparameter
'<code class="literal">method = sendmail</code>' gesetzt sein. Dies ist
gleichzeitig der Standardwert, falls er nicht verändert wird.</p><p>Um zu kontrollieren, wie das Programm zum Einliefern gestartet
wird, dient der Parameter '<code class="literal">sendmail = ...</code>'. Der
Standardwert verweist auf das Programm
<code class="filename">/usr/bin/sendmail</code>, das bei allen oben genannten
E-Mail-Serverprodukten für diesen Zweck funktionieren sollte.</p><p>Die Konfiguration des E-Mail-Servers selber würde den Rahmen
dieses sprengen. Hierfür sei auf die Dokumentation des E-Mail-Servers
verwiesen.</p></div><div class="sect3" title="2.12.1.2. Versand über einen SMTP-Server"><div class="titlepage"><div><div><h4 class="title"><a name="config.sending-email.smtp"></a>2.12.1.2. Versand über einen SMTP-Server</h4></div></div></div><p>Diese Methode bietet sich an, wenn kein lokaler E-Mail-Server
vorhanden ist oder einer vorhanden, dieser aber nicht konfiguriert
ist.</p><p>Um diese Methode auszuwählen, muss der Konfigurationsparameter
'<code class="literal">method = smtp</code>' gesetzt sein. Die folgenden
Parameter dienen dabei der weiteren Konfiguration:</p><div class="variablelist"><dl><dt><span class="term">
<code class="varname">hostname</code>
</span></dt><dd><p>Name oder IP-Adresse des SMTP-Servers. Standardwert:
'<code class="literal">localhost</code>'</p></dd><dt><span class="term">
<code class="varname">port</code>
</span></dt><dd><p>Portnummer. Der Standardwert hängt von der verwendeten
Verschlüsselungsmethode ab. Gilt '<code class="literal">security =
none</code>' oder '<code class="literal">security = tls</code>', so ist
25 die Standardportnummer. Für '<code class="literal">security =
ssl</code>' ist 465 die Portnummer. Muss normalerweise nicht
geändert werden.</p></dd><dt><span class="term">
<code class="varname">security</code>
</span></dt><dd><p>Wahl der zu verwendenden Verschlüsselung der Verbindung
mit dem Server. Standardwert ist '<code class="literal">none</code>',
wodurch keine Verschlüsselung verwendet wird. Mit
'<code class="literal">tls</code>' wird TLS-Verschlüsselung eingeschaltet,
und mit '<code class="literal">ssl</code>' wird Verschlüsselung via SSL
eingeschaltet. Achtung: Für '<code class="literal">tls</code>' und
'<code class="literal">ssl</code>' werden zusätzliche Perl-Module benötigt
(siehe unten).</p></dd><dt><span class="term">
<code class="varname">login</code> und
<code class="varname">password</code>
</span></dt><dd><p>Falls der E-Mail-Server eine Authentifizierung verlangt,
so können mit diesen zwei Parametern der Benutzername und das
Passwort angegeben werden. Wird Authentifizierung verwendet, so
sollte aus Sicherheitsgründen auch eine Form von Verschlüsselung
aktiviert werden.</p></dd></dl></div></div></div><div class="sect2" title="2.12.2. Versendete E-Mails über IMAP exportieren"><div class="titlepage"><div><div><h3 class="title"><a name="config.sent_emails_in_imap"></a>2.12.2. Versendete E-Mails über IMAP exportieren</h3></div></div></div><p>
Es können versendete E-Mails über IMAP exportiert werden. Dazu muss
der entsprechende Server, auf dem die E-Mails abgelegt werden
sollen, konfiguriert werden. Dies geschieht in der Konfigurationsdatei
<code class="filename">config/kivitendo.conf</code> im Abschnitt
'<code class="literal">[sent_emails_in_imap]</code>'. Es können auch Server für
spezifische E-Mail-Adressen konfiguriert werden, indem der Abschnitt
kopiert wird und mit dem Namen
'<code class="literal">[sent_emails_in_imap/email/EMAILADDRESS]</code>', wobei
'<code class="literal">EMAILADDRESS</code>' die entsprechenden E-Mail-Adresse
ist, versehen wird.
</p><p>
Die Reihenfolge für die Auswahl der Konfiguration ist wie folgt:
</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p> Falls es für die Absender-Adresse eine Konfiguration gibt nimm
diese. </p></li><li class="listitem"><p> Falls es es für die benutzerbezogene E-Mail-Adresse eine
Konfiguration gibt dann nimm diese. </p></li><li class="listitem"><p> Falls es eine generelle Konfiguration gibt dann nimm diese.
</p></li></ol></div><p>Die folgenden Parameter dienen der Konfiguration:</p><div class="variablelist"><dl><dt><span class="term">
<code class="varname">enabled</code>
</span></dt><dd><p>
Falls '<code class="literal">enabled = 0</code>' gesetzt ist, wird der
Export von E-Mails deaktiviert. Dies ist der Standardwert. Falls
'<code class="literal">enabled = 1</code>' gesetzt ist, wird ist der
Export von E-Mails aktiviert.
</p></dd><dt><span class="term">
<code class="varname">hostname</code>
</span></dt><dd><p>Name oder IP-Adresse des IMAP-Servers. Standardwert:
'<code class="literal">localhost</code>'</p></dd><dt><span class="term">
<code class="varname">port</code>
</span></dt><dd><p>
Portnummer. Der Standardwert hängt von der verwendeten
Verschlüsselungsmethode ab. Gilt '<code class="literal">ssl = 0</code>',
so ist 993 die Standardportnummer. Für
'<code class="literal">ssl = 0</code>' ist 143 die Portnummer. Muss
normalerweise nicht geändert werden.
</p></dd><dt><span class="term">
<code class="varname">ssl</code>
</span></dt><dd><p>
Wahl ob eine Verschlüsselung bei der Verbindung mit dem Server
verwendet wird. Standardwert ist '<code class="literal">1</code>',
wodurch eine SSL-Verschlüsselung verwendet wird. Mit
'<code class="literal">0</code>' wird keine Verschlüsselung genutzt.
</p></dd><dt><span class="term">
<code class="varname">username</code> und
<code class="varname">password</code>
</span></dt><dd><p>
Falls der IMAP-Server eine Authentifizierung verlangt, so können
mit diesen zwei Parametern der Nutzername und das Passwort
angegeben werden. Wird Authentifizierung verwendet, so sollte
aus Sicherheitsgründen auch Verschlüsselung aktiviert werden.
</p></dd><dt><span class="term">
<code class="varname">folder</code>
</span></dt><dd><p>
Wahl des Ordners, in den kivitendo gesendete E-Mails
gespeichert. Standardwert ist
'<code class="literal">Sent/Kivitendo</code>'. Ordnerhierarchien können
mit einem Slash ('<code class="literal">/</code>') getrennt werden.
Der gewählte Ordner muss existieren.
</p></dd></dl></div><p>
Bei einem Fehler bricht die Funktion ab und der Anwender bekommt die
Fehlermeldung, dass die E-Mail prinzipiell nicht verschickt werden
konnte. An dieser Stelle muss der kivitendo-Admin etwas genauer
prüfen, ob der Mail-Versand und/oder die Synchronisation den Fehler
verursacht hat. Ein Blick ins Email-Journal kann helfen den Fehler
einzuschränken.
</p></div><div class="sect2" title="2.12.3. E-Mails in kivitendo importieren"><div class="titlepage"><div><div><h3 class="title"><a name="config.imap_client"></a>2.12.3. E-Mails in kivitendo importieren</h3></div></div></div><p>
Um E-Mails in kivitendo zu importieren, muss der entsprechende
Server, von dem die E-Mails abgeholt werden sollen, konfiguriert
werden. Dies geschieht in der Konfigurationsdatei
<code class="filename">config/kivitendo.conf</code> im Abschnitt
'<code class="literal">[imap_client]</code>'.
</p><p>Die folgenden Parameter dienen der Konfiguration:</p><div class="variablelist"><dl><dt><span class="term">
<code class="varname">enabled</code>
</span></dt><dd><p>
Falls '<code class="literal">enabled = 0</code>' gesetzt ist, wird der
Import von E-Mails deaktiviert. Dies ist der Standardwert. Falls
'<code class="literal">enabled = 1</code>' gesetzt ist, wird ist der
Import von E-Mails aktiviert.
</p></dd><dt><span class="term">
<code class="varname">hostname</code>
</span></dt><dd><p>Name oder IP-Adresse des IMAP-Servers. Standardwert:
'<code class="literal">localhost</code>'</p></dd><dt><span class="term">
<code class="varname">port</code>
</span></dt><dd><p>
Portnummer. Der Standardwert hängt von der verwendeten
Verschlüsselungsmethode ab. Gilt '<code class="literal">ssl = 0</code>',
so ist 993 die Standardportnummer. Für
'<code class="literal">ssl = 0</code>' ist 143 die Portnummer. Muss
normalerweise nicht geändert werden.
</p></dd><dt><span class="term">
<code class="varname">ssl</code>
</span></dt><dd><p>
Wahl ob eine Verschlüsselung bei der Verbindung mit dem Server
verwendendet wird. Standardwert ist '<code class="literal">1</code>',
wodurch eine SSL-Verschlüsselung verwendet wird. Mit
'<code class="literal">0</code>' wird keine Verschlüsselung genutzt.
</p></dd><dt><span class="term">
<code class="varname">username</code> und
<code class="varname">password</code>
</span></dt><dd><p>
Falls der IMAP-Server eine Authentifizierung verlangt, so können
mit diesen zwei Parametern der Nutzername und das Passwort
angegeben werden. Wird Authentifizierung verwendet, so sollte
aus Sicherheitsgründen auch Verschlüsselung aktiviert werden.
</p></dd><dt><span class="term">
<code class="varname">base_folder</code>
</span></dt><dd><p>
Wahl des Ordners, den kivitendo als Basis für das erstellen von
Unterordnern und das abholen von E-Mails verwendet. Standardwert
ist '<code class="literal">INBOX</code>'. Ordnerhierarchien können mit
einem Slash ('<code class="literal">/</code>') getrennt werden. Beispiel:
'<code class="literal">INBOX/kivitendo</code>'. In diesem Ordner dürfen
keine Unterordner existieren und keine manuell angelegt werden.
</p></dd></dl></div><p>
Wenn eingeschaltet, wird beim Anlegen von Verkaufsangeboten und
-aufträgen ein Unterordner im E-Mail-Client für den entsprechenden
Beleg angelegt. E-Mails, in diesen Ordner werden automatisch beim
Öffnen des Belegs in kivitendo importiert. Um die E-Mails übersichtlich
zu halten, kann der Hintergrund-Job
'<code class="literal">CleanUpEmailSubfolders</code>' genutzt werden. Dieser
importiert alle E-Mails und löscht alle Unterordnern, die nicht zu
einem Offenen Beleg gehören. Importierte E-Mails werden werden nicht
gelöscht, erst beim Löschen des Unterordners werden sie gelöscht.
</p><p>
Es können auch E-Mails in kivitendo importiert werden, die nicht zu
einem Beleg gehören. Dafür kann der Hintergrund-Job
'<code class="literal">SyncEmailFolder</code>' verwendet werden. Dieser
synchronisiert standartmäßig den Ordner der in
'<code class="literal">base_folder</code>' angegeben ist. Dies kann mit dem
Job-Parameter '<code class="literal">folder</code>' geändert. Die Importierten
E-Mails werden im E-Mail-Journal gespeichert.
</p><p>
Beim Umzug des E-Mail-Servers kann kivitendo die E-Mails schon
importierten E-Mails nicht mehr erkennen. Dies führt dazu, dass alle
E-Mails erneut importiert werden.
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s11.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s13.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.11. Drucker- und Systemverwaltung&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.13. Drucken mit kivitendo</td></tr></table></div></body></html>
<title>2.12. Drucker- und Systemverwaltung</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.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s11.html" title="2.11. Mandanten-, Benutzer- und Gruppenverwaltung"><link rel="next" href="ch02s13.html" title="2.13. E-Mail"></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.12. Drucker- und Systemverwaltung</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s11.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s13.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.12. Drucker- und Systemverwaltung"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Drucker--Systemverwaltung"></a>2.12. Drucker- und Systemverwaltung</h2></div></div></div><p>Im Administrationsmenü gibt es ferner noch die beiden Menüpunkte
Druckeradministration und System.</p><div class="sect2" title="2.12.1. Druckeradministration"><div class="titlepage"><div><div><h3 class="title"><a name="Druckeradministration"></a>2.12.1. Druckeradministration</h3></div></div></div><p>Unter dem Menüpunkt Druckeradministration lassen sich beliebig
viele "Druckbefehle" im System verwalten. Diese Befehle werden
mandantenweise zugeordnet. Unter Druckerbeschreibung wird der Namen
des Druckbefehls festgelegt, der dann in der Druckerauswahl des Belegs
angezeigt wird.</p><p>Unter Druckbefehl definiert man den eigentlichen Druckbefehl,
der direkt auf dem Webserver ausgeführt wird, bspw. 'lpr -P
meinDrucker' oder ein kompletter Pfad zu einem Skript
(/usr/local/src/kivitendo/scripts/pdf_druck_in_verzeichnis.sh). Wird
ferner noch ein optionales Vorlagenkürzel verwendet, wird dieses
Kürzel bei der Auswahl der Druckvorlagendatei mit einem Unterstrich
ergänzt, ist bspw. das Kürzel 'epson_drucker' definiert, so wird beim
Ausdruck eines Angebots folgende Vorlage geparst:
sales_quotation_epson_drucker.tex.</p></div><div class="sect2" title="2.12.2. System sperren / entsperren"><div class="titlepage"><div><div><h3 class="title"><a name="System"></a>2.12.2. System sperren / entsperren</h3></div></div></div><p>Unter dem Menüpunkt System gibt es den Eintrag 'Installation
sperren/entsperren'. Setzt man diese Sperre so ist der Zugang zu der
gesamten kivitendo Installation gesperrt.</p><p>Falls die Sperre gesetzt ist, erscheint anstelle der
Anmeldemaske die Information: 'kivitendo ist momentan zwecks
Wartungsarbeiten nicht zugänglich.'.</p><p>Wichtig zu erwähnen ist hierbei noch, dass sich kivitendo
automatisch 'sperrt', falls es bei einem Versionsupdate zu einem
Datenbankfehler kam. Somit kann hier nicht aus Versehen mit einem
inkonsistenten Datenbestand weitergearbeitet werden.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s11.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s13.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.11. Mandanten-, Benutzer- und Gruppenverwaltung&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.13. E-Mail</td></tr></table></div></body></html>
doc/html/ch02s13.html
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>2.13. Drucken mit kivitendo</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.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s12.html" title="2.12. E-Mail"><link rel="next" href="ch02s14.html" title="2.14. OpenDocument-Vorlagen"></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.13. Drucken mit kivitendo</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s12.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s14.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.13. Drucken mit kivitendo"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Drucken-mit-kivitendo"></a>2.13. Drucken mit kivitendo</h2></div></div></div><p>Das Drucksystem von kivitendo benutzt von Haus aus LaTeX-Vorlagen.
Um drucken zu können, braucht der Server ein geeignetes LaTeX System. Am
einfachsten ist dazu eine <code class="literal">texlive</code> Installation. Unter
debianoiden Betriebssystemen installiert man die Pakete mit:</p><p>
</p><pre class="programlisting">apt install texlive-base-bin texlive-latex-recommended texlive-fonts-recommended \
texlive-latex-extra texlive-lang-german ghostscript</pre><p>
</p><p>Für Fedora benötigen Sie die folgenden Pakete:</p><p>
</p><pre class="programlisting">dnf install texlive-collection-latex texlive-collection-latexextra \
texlive-collection-latexrecommended texlive-collection-langgerman \
texlive-collection-langenglish</pre><p>
</p><p>Für openSUSE benötigen Sie die folgenden Pakete:</p><p>
</p><pre class="programlisting">zypper install texlive-collection-latex texlive-collection-latexextra \
texlive-collection-latexrecommended texlive-collection-langgerman \
texlive-collection-langenglish</pre><p>
</p><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>kivitendo erwartet eine aktuelle TeX Live Umgebung, um PDF/A zu erzeugen. Aktuelle Distributionen von 2020 erfüllen diese. Überprüfbar ist dies mit dem Aufruf des installation_check.pl mit Parameter -l:</p><p>
</p><pre class="programlisting">scripts/installations_check.pl -l</pre><p>
</p></td></tr></table></div><p>kivitendo bringt drei alternative Vorlagensätze mit:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>RB</p></li><li class="listitem"><p>marei</p></li><li class="listitem"><p>rev-odt</p></li></ul></div><p>Der ehemalige Druckvorlagensatz "f-tex" wurde mit der Version
3.5.6 entfernt, da er nicht mehr gepflegt wird.</p><div class="sect2" title="2.13.1. Vorlagenverzeichnis anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Vorlagenverzeichnis-anlegen"></a>2.13.1. Vorlagenverzeichnis anlegen</h3></div></div></div><p>Es lässt sich ein initialer Vorlagensatz erstellen. Die
LaTeX-System-Abhängigkeiten hierfür kann man prüfen mit:</p><pre class="programlisting">./scripts/installation_check.pl -lv</pre><p>Der Angemeldete Benutzer muss in einer Gruppe sein, die über das
Recht "Konfiguration -&gt; Mandantenverwaltung" verfügt. Siehe auch
<a class="xref" href="ch02s10.html#Gruppen-anlegen" title="2.10.4. Gruppen anlegen">Abschnitt&nbsp;2.10.4, „Gruppen anlegen“</a>.</p><p>Im Userbereich lässt sich unter: "<span class="guimenu">System</span>
-&gt; <span class="guisubmenu">Mandantenverwaltung</span> -&gt;
<span class="guimenuitem">Verschiedenes</span>" die Option "Neue
Druckvorlagen aus Vorlagensatz erstellen" auswählen.</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
<code class="option">Vorlagen auswählen</code>: Wählen Sie hier den
Vorlagensatz aus, der kopiert werden soll
(<code class="filename">RB</code>, <code class="filename">marei</code> oder
<code class="filename">odt-rev</code>.)</p></li><li class="listitem"><p>
<code class="option">Neuer Name</code>: Der Verzeichnisname für den
neuen Vorlagensatz. Dieser kann im Rahmen der üblichen Bedingungen
für Verzeichnisnamen frei gewählt werden.</p></li></ol></div><p>Nach dem Speichern wird das Vorlagenverzeichnis angelegt und ist
für den aktuellen Mandanten ausgewählt. Der gleiche Vorlagensatz kann,
wenn er mal angelegt ist, bei mehreren Mandanten verwendet werden.
Eventuell müssen Anpassungen (Logo, Erscheinungsbild, etc) noch
vorgenommen werden. Den Ordner findet man im Dateisystem unter
<code class="filename">./templates/[Neuer Name]</code>
</p></div><div class="sect2" title="2.13.2. Der Druckvorlagensatz marei"><div class="titlepage"><div><div><h3 class="title"><a name="Aufbau des marei Vorlagensatzes"></a>2.13.2. Der Druckvorlagensatz marei</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"><a name="marei.document.link"></a>Anmerkung</th></tr><tr><td align="left" valign="top"><p>Die aktuelle Dokumentation inkl. dem Foliensatz vom kivi-Treffen im August 2023 befindet sich hier:
<a class="ulink" href="https://peitex.de/materialien/2023-08-04_kivitendo/" target="_top"> https://peitex.de/materialien/2023-08-04_kivitendo/</a>
</p></td></tr></table></div><div class="sect3" title="2.13.2.1. Quickstart – Wo kann was angepasst werden?"><div class="titlepage"><div><div><h4 class="title"><a name="Quickstart %E2%80%93 Wo kann was angepasst werden?"></a>2.13.2.1. Quickstart – Wo kann was angepasst werden?</h4></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"><a name="do-not-edit-marei"></a>Anmerkung</th></tr><tr><td align="left" valign="top"><p>In keinem Fall sollten Dateien mit der Endung <code class="filename">*.cls</code> oder <code class="filename">*.sty</code> geändert werden. Durch Änderungen an diesen Dateien verhindert man Updates auf neuer Versionen.
Zwar kopiert kivitendo die Datei und bearbeitet diese beim Update nicht. Allerdings sind sämtliche Änderungen über die Konfigurationsdateien möglich und erhöhen die Wartbarkeit.</p></td></tr></table></div><div class="itemizedlist"><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>Pfad zu Angaben über Mandant*innen (default: firma)</p></li><li class="listitem"><p>Logo/Briefpapier, falls für alle Mandant*innen in gleicher Struktur. Sonst in der <code class="filename">ident.tex</code>.</p></li><li class="listitem"><p>Layout der Kopf/Fußzeile</p></li><li class="listitem"><p>innerhalb dieser Datei werden auch die folgenden Dateien geladen:</p></li><li class="listitem"><p>
<code class="filename">firma/ident.tex</code> Mandant*innenspezifische Konfiguration, Adressdaten</p></li><li class="listitem"><p>
<code class="filename">firma/$währungskürzel_account.tex</code>
</p></li></ul></div><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<code class="filename">insettings.tex</code> :</p></li><li class="listitem"><p>Sprache/Übersetzungen.\\Es muss mindestens eine Sprache angelegt werden! </p><pre class="programlisting">
\item[deutsch.tex] Textschnipsel für Deutsch\\
Dafür eine Sprache mit Vorlagenkürzel DE anlegen
\item[english.tex] Textschnipsel für Englisch\\
Dafür eine Sprache mit Vorlagenkürzel EN anlegen
</pre><p>
</p></li></ul></div><p>Alle dokumententypspezifischen Einstellungen müssen in der jeweiligen Template-Datei modifiziert werden.</p></div><div class="sect3" title="2.13.2.2. Aufbau"><div class="titlepage"><div><div><h4 class="title"><a name="Aufbau"></a>2.13.2.2. Aufbau</h4></div></div></div><p>Die Grundstruktur besteht je Dokumententyp aus einer Basisdatei und verschiedenen Setup-Dateien.</p><p>Die Basis wurde so überarbeitet, dass Dokumente nun generell auf
der Dokumentenklasse <code class="filename">scrartcl.cls</code> basieren und
das Paket <code class="filename">kiviletter.sty</code> benutzen.</p><p>Mandant*innenspezifische Konfiguration findet sich in der Datei <code class="filename">insettings.tex</code> und
dem Ordner eines spezifischen Mandant*innen (default=*firma/*).</p></div><div class="sect3" title="2.13.2.3. Mandant*innen / Firma"><div class="titlepage"><div><div><h4 class="title"><a name="Mandant*innen / Firma"></a>2.13.2.3. Mandant*innen / Firma</h4></div></div></div><p>Um gleiche Vorlagen für verschiedene Firmen verwenden zu können, wird je
nach dem Wert der Kivitendo-Variablen \kivivar{kivicompany} ein
Firmenverzeichnis ausgewählt (siehe <code class="filename">insettings.tex</code>), in dem Briefkopf,
Identitäten und Währungs-/Kontoeinstellungen hinterlegt sind.
\kivivar{kivicompany} enthält den Namen des verwendeten Mandant*innendaten.
Ist kein Firmenname eingetragen, so wird das
generische Unterverzeichnis *firma* verwendet.</p></div><div class="sect3" title="2.13.2.4. Identitäten"><div class="titlepage"><div><div><h4 class="title"><a name="Identit%C3%A4ten"></a>2.13.2.4. Identitäten</h4></div></div></div><p>In jedem Firmen-Unterverzeichnis soll eine Datei <code class="filename">ident.tex</code>
vorhanden sein, die mit |\newcommand| Werte für |\telefon|, |\fax|,
|\firma|, |\strasse|, |\ort|, |\ustid|, |\email| und |\homepage| definiert.</p></div><div class="sect3" title="2.13.2.5. Währungen/Konten"><div class="titlepage"><div><div><h4 class="title"><a name="W%C3%A4hrungen/Konten"></a>2.13.2.5. Währungen/Konten</h4></div></div></div><p>Für jede Währung (siehe <code class="filename">insettings.tex</code>) soll eine Datei vorhanden
sein, die das Währungssymbol (|\currency|) und folgende Angaben für
ein Konto in dieser Währung enthält |\kontonummer|, |\bank|,
|\bankleitzahl|, |\bic| und |\iban|.
So kann in den Dokumenten je nach Währung ein anderes Konto
angegeben werden.
Nach demselben Schema können auch weitere, alternative Bankverbindungen
angelegt werden, die dann in <code class="filename">insettings.tex</code> als Variable in der Fußzeile eingefügt werden.</p><p>Als Fallback (falls kivitendo keine Währung an das Druckvorlagen-System übergibt)
ist Euro eingestellt. Dies lässt sich in der <code class="filename">insettings.tex</code> über das optionale Argument
von |\setupCurrencyConfig| anpassen, z.B.</p><pre class="programlisting">
\setupCurrencyConfig[chf]{\identpath}{\lxcurrency}</pre><p>für Schweizer Franken als Standardwährung.</p></div><div class="sect3" title="2.13.2.6. Briefbogen/Logos"><div class="titlepage"><div><div><h4 class="title"><a name="Briefbogen/Logos"></a>2.13.2.6. Briefbogen/Logos</h4></div></div></div><p>Eine Hintergrundgrafik oder ein Logo kann in Abhängigkeit vom
Medium (z.B. nur beim Verschicken mit E-Mail) eingebunden
werden.</p><p>Desweiteren sind (auskommentierte) Beispiele enthalten für eine
Grafik als Briefkopf, nur ein Logo, oder ein komplettes A4-PDF
als Briefpapier.</p><p>Absolute Positionierung innerhalb des Brief-Layouts ist über die entsprechende Dokumentation des scrlayer-Paketes möglich.
Da die Voreinstellungen bereits einige Sonderfälle automatisch berücksichtigen ist mit den Anpassungen Vorsicht geboten.
Sämtliche Einstellungen sollten jedoch außerhalb der *.sty-Dateien vorgenommen werden.
Anpassungen der <code class="filename">insettings.tex</code> betreffen hierbei alle Mandant*innen. Spezifischere Einstellungen sind über die zugehörige Konfigurationsdatei (<code class="filename">ident.tex</code>) möglich.
In diesem Fall kann zum Ende der insettings eine weitere Konfigurationsdatei über die Verwendung von |\identpath| geladen werden. Ein Beispiel ist in der <code class="filename">insettings.tex</code> enthalten.</p></div><div class="sect3" title="2.13.2.7. Fußzeile"><div class="titlepage"><div><div><h4 class="title"><a name="Fu%C3%9Fzeile"></a>2.13.2.7. Fußzeile</h4></div></div></div><p>Die Tabelle im Fuß verwendet die Angaben aus <code class="filename">firma/ident.tex</code> und
*firma/<code class="filename">\_account.tex</code>. Ihre Struktur wird in der <code class="filename">insettings.tex</code> definiert.
Sie kann anschließend auch Mandant*innenspezifisch überschrieben werden.</p></div><div class="sect3" title="2.13.2.8. Seitenstil/Basislayout"><div class="titlepage"><div><div><h4 class="title"><a name="Seitenstil/Basislayout"></a>2.13.2.8. Seitenstil/Basislayout</h4></div></div></div><p>Das Seitenlayout wird über \pck{scrlayer-scrpage} bestimmt. Die ausführliche Dokumentation findet sich in \cite{scrguide}.
Es existieren in der Datei <code class="filename">insettings.tex</code> einige Hinweise zu den Anpassungen. Die Basiskonfiguration ist ebenfalls dort eingetragen.</p><p>Neben den in Abschnitt \ref{sec:options} beschriebenen Optionen zum Abschalten der Fußzeile kann
der Inhalt der Fußzeile über die \pck{scrlayer-scrpage} Makros, wie</p><pre class="programlisting">
\cfoot[|\meta{Inhalt auf der ersten Briefseite}|]{|\meta{Inhalt auf folgenden Briefseiten}|} </pre><p>geändert werden.</p><p>Die Kopfzeile unterscheidet sich von Dokumententyp zu Dokumententyp leicht, da diese über Datenbankvariablen befüllt wird.
Hierfür wird das Makro |\ourhead| in der <code class="filename">insettings.tex</code> definiert.</p><pre class="programlisting">
\DescribeMacro{\ourhead}\marg{Bezeichner}\marg{Eintrag}\marg{Titel}\marg{Nummer}\marg{Datum} </pre><p>Diese Definition kann ebenfalls über die <code class="filename">insettings.tex</code> angepasst oder auch nachträglich überschrieben werden:</p><pre class="programlisting">
\newcommand{\ourhead}[5] {%
\chead{%
\makebox[\textwidth]{%
\Ifstr{#1}{}{}{#1: #2 \hspace{0.7cm}}%
#3%
\Ifstr{#4}{}{}{~\nr: #4}%
\Ifstr{#5}{}{}{\vom ~ #5}%
\hspace{0.7cm} - \seite ~ \thepage/\letterlastpage ~-%
}%
}%
}
</pre><p>In der Standard-Einstellung sieht eine Kopfzeile mit obigen Aufruf dann folgendermaßen aus:</p><pre class="programlisting">
\newcommand{\ourhead}[5] {%
\makebox[\textwidth]{%
\Ifstr{#1}{}{}{#1: #2 \hspace{0.7cm}}%
#3%
\Ifstr{#4}{}{}{~\nr: #4}%
\Ifstr{#5}{}{}{\vom ~ #5}%
\hspace{0.7cm} - \seite ~ \thepage/\letterlastpage ~-%
}%
}
\begingroup
\def\letterlastpage{50}
\ourhead{arg1}{arg2}{arg3}{arg4}{arg5}
\smallskip
Erzeugt mit dem Aufruf
\ourhead{arg1}{arg2}{arg3}{arg4}{arg5}
\endgroup </pre></div><div class="sect3" title="2.13.2.9. Absenderergänzung"><div class="titlepage"><div><div><h4 class="title"><a name="Absendererg%C3%A4nzung"></a>2.13.2.9. Absenderergänzung</h4></div></div></div><p>Die Absenderergänzung wird über die Variable |location| in der |kiviletter.sty| folgendermaßen belegt:</p><pre class="programlisting">
\setkomavar{location}{
\Ifkomavarempty{transaction}{}{{
\usekomafont{transaction}
\usekomavar{transaction}
}
}
\par
\medskip
\parbox{\useplength{locwidth}}{
\locationentry{date}
\locationentry{myref}
\locationentry{customer}
\locationentry{yourref}
\locationentry{delivery}
\locationentry{quote}
\locationentry{orderID}
\locationentry{projectID}
\locationentry{taxpoint}
\locationentry[\ansprechpartner]{fromname}
\locationentry{fromphone}
\locationentry*{fromemail}
}
} </pre><p>Um die Reihenfolge der Variablenausgabe zu verändern, kann diese Definition als Basis in
die <code class="filename">insettings.tex</code> oder <code class="filename">ident.tex</code> (Falls nur für eine Firma) kopiert und dort entsprechend modifiziert werden.</p><p>Das Vorgehen geht für alle vorbelegten Variablen analog.</p></div><div class="sect3" title="2.13.2.10. Allgemeine TeXnische Hinweise"><div class="titlepage"><div><div><h4 class="title"><a name="Allgemeine TeXnische Hinweise"></a>2.13.2.10. Allgemeine TeXnische Hinweise</h4></div></div></div><div class="sect4" title="2.13.2.10.1. Änderung der Basisschriftart"><div class="titlepage"><div><div><h5 class="title"><a name="%C3%84nderung der Basisschriftart"></a>2.13.2.10.1. Änderung der Basisschriftart</h5></div></div></div><p>\LaTeX{} kann grundsätzlich beliebige Schriftarten verwenden. Hierfür sollte allerdings immer darauf geachtet werden,
dass die Lizenz der Schriftart das einbetten von Glyphen erlaubt. Dies liegt in der Verantwortung der Anwender*innen.
Darüber hinaus ist wichtig, welches Kompilierungsprogramm verwendet werden muss. Um TrueType oder OpenType Schriftarten
zu nutzen sollte |lualatex| verwendet werden. Bei Type1 Schriftarten, die speziell für \LaTeX{} installiert wurden, ist pdfLaTeX möglich.
Da man heutzutage nur noch moderne Schriftformate Verwenden sollte, wird hier lediglich die Variante für |lualatex| aufgelistet.</p><p>Die Konfiguration läuft hierbei über das \pck{fontspec} Paket (Doku siehe \cite{fontspec}).
Dann hängt es davon ab, ob die Basisschriftart eine Serifenschriftart ist oder nicht.
In jedem Fall wird die Änderung entweder in der <code class="filename">insettings.tex</code>, sofern sie für alle
Mandant*innen gelten soll oder in der Mantant*innenspezifischen Konfigurationsdatei gsesetzt.</p><div class="sect5" title="2.13.2.10.1.1. Änderung, falls es ein Schriftpaket gibt"><div class="titlepage"><div><div><h6 class="title"><a name="d0e2809"></a>2.13.2.10.1.1. Änderung, falls es ein Schriftpaket gibt</h6></div></div></div><p>Wenn möglich sollte die Schriftart über ein entsprechendes Konfigurationspaket gesetzt werden.
Ob ein solches existiert kann man sehr leicht über eine Suche nach dem Namen unter \url{ctan.org} herausfinden.</p></div><div class="sect5" title="2.13.2.10.1.2. Änderung der Basisschriftart auf eine Schriftart mit Serifen"><div class="titlepage"><div><div><h6 class="title"><a name="d0e2814"></a>2.13.2.10.1.2. Änderung der Basisschriftart auf eine Schriftart mit Serifen</h6></div></div></div><pre class="programlisting">
\setmainfont{|\meta{Name der Schriftart, z.B. SourceSerifPro}|} </pre></div><div class="sect5" title="2.13.2.10.1.3. Änderung der Basisschriftart auf eine Schriftart ohne Serifen"><div class="titlepage"><div><div><h6 class="title"><a name="d0e2819"></a>2.13.2.10.1.3. Änderung der Basisschriftart auf eine Schriftart ohne Serifen</h6></div></div></div><pre class="programlisting">
\setsansfont{|\meta{Name der Schriftart, z.B. SourceSansPro}|}
\renewcommand*{\familydefault}{\sfdefault} </pre></div></div><div class="sect4" title="2.13.2.10.2. Unterscheidungen durch String-Vergleich"><div class="titlepage"><div><div><h5 class="title"><a name="Unterscheidungen durch String-Vergleich"></a>2.13.2.10.2. Unterscheidungen durch String-Vergleich</h5></div></div></div><pre class="programlisting">
\Ifstr{\lxmedia}{printer}{Falls gedruckt werden soll} {sonst} </pre></div></div></div><div class="sect2" title="2.13.3. Der Druckvorlagensatz RB"><div class="titlepage"><div><div><h3 class="title"><a name="Vorlagen-RB"></a>2.13.3. Der Druckvorlagensatz RB</h3></div></div></div><p>Hierbei handelt es sich um einen vollständigen LaTeX
Dokumentensatz mit alternativem Design. Die odt oder html-Varianten
sind nicht gepflegt.</p><p>Die konzeptionelle Idee der Vorlagen wird <a class="ulink" href="http://www.kivitendo-support.de/vortraege/Lx-Office%20Anwendertreffen%20LaTeX-Druckvorlagen-Teil3-finale.pdf" target="_top">hier</a>
auf Folie 5 bis 10 vorgestellt. Informationen zur Anpassung an die
eigenen Firmendaten finden sich in der Datei Readme.tex im
Vorlagenverzeichnis.</p><p>Eine kurze Übersicht der Features:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Mehrsprachenfähig, mit Deutscher und Englischer
Übersetzung</p></li><li class="listitem"><p>Zentrale Konfigurationsdateien, die für alle Belege benutzt
werden, z.B. für Kopf- und Fußzeilen, und Infos wie
Bankdaten</p></li><li class="listitem"><p>mehrere vordefinierte Varianten für
Logos/Hintergrundbilder</p></li><li class="listitem"><p>Berücksichtigung für Steuerzonen "EU mit USt-ID Nummer" oder
"Außerhalb EU"</p></li></ul></div></div><div class="sect2" title="2.13.4. Der Druckvorlagensatz rev-odt"><div class="titlepage"><div><div><h3 class="title"><a name="Vorlagen-rev-odt"></a>2.13.4. Der Druckvorlagensatz rev-odt</h3></div></div></div><p>Hierbei handelt es sich um einen Dokumentensatz der mit
odt-Vorlagen erstellt wurde. Es gibt in dem Verzeichnis eine
Readme-Datei, die eventuell aktueller als die Dokumentation hier ist.
Die odt-Vorlagen in diesem Verzeichnis "rev-odt" wurden von revamp-it,
Zürich erstellt und werden laufend aktualisiert. Ein paar der
Formulierungen in den Druckvorlagen entsprechen dem Schweizer
Sprachgebrauch, z.B. "Offerte" oder "allfällig".</p><p>Hinweis zum Einsatz des Feldes "Land" bei den Stammdaten für
KundInnen und LieferantInnen, sowie bei Lieferadressen: Die in diesem
Vorlagensatz vorhandenen Vorlagen erwarten für "Land" das
entsprechende Kürzel, das in Adressen vor die Postleitzahl gesetzt
wird. Das Feld kann auch komplett leer bleiben. Wer dies anders
handhaben möchte, muss die Vorlagen entsprechend anpassen.</p><p>odt-Vorlagen können mit LibreOffice oder OpenOffice editiert und
den eigenen Bedürfnissen angepasst werden. Wichtig beim Editieren von
if-Blöcken ist, dass immer der gesamte Block überschrieben werden muss
und nicht nur Teile davon, da dies sonst oft zu einer odt-Datei führt,
die vom Parser nicht korrekt gelesen werden kann.</p><p>Mahnungen können unter folgenden Einschränkungen mit den
odt-Vorlagen im Vorlagensatz rev-odt erzeugt werden:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>als Druckoption steht nur 'PDF(OpenDocument/OASIS)' zur
Verfügung, das heisst, die Mahnungen werden als PDF-Datei
ausgegeben.</p></li><li class="listitem"><p>für jede Rechnung muss eine eigene Mahnung erzeugt werden
(auch wenn bei einzelnen KundInnen mehrere überfällige Rechnungen
vorhanden sind).</p></li></ul></div><p>Mehrere Mahnungen für eine Kundin / einen Kunden werden zu einer
PDF-Datei zusammengefasst</p><p>Die Vorlagen zahlungserinnerung.odt sowie mahnung.odt sind für
das Erstellen einer Zahlungserinnerung bzw. Mahnung selbst vorgesehen,
die Vorlage mahnung_invoice.odt für das Erstellen einer Rechnung über
die verrechneten Mahngebühren und Verzugszinsen.</p><p>Zur Zeit gibt es in kivitendo noch keine Möglichkeit,
odt-Vorlagen bei Briefen und Pflichtenheften einzusetzen.
Entsprechende Vorlagen sind deshalb nicht vorhanden.</p><p>Fehlermeldungen, Anregungen und Wünsche bitte senden an:
empfang@revamp-it.ch</p></div><div class="sect2" title="2.13.5. Allgemeine Hinweise zu LaTeX Vorlagen"><div class="titlepage"><div><div><h3 class="title"><a name="allgemeine-hinweise-zu-latex"></a>2.13.5. Allgemeine Hinweise zu LaTeX Vorlagen</h3></div></div></div><p>In den allermeisten Installationen sollte das Drucken jetzt
schon funktionieren. Sollte ein Fehler auftreten, wirft TeX sehr lange
Fehlerbeschreibungen, der eigentliche Fehler ist immer die erste
Zeile, die mit einem Ausrufezeichen anfängt. Häufig auftretende Fehler
sind zum Beispiel:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>! LaTeX Error: File `eurosym.sty' not found. Die
entsprechende LaTeX-Bibliothek wurde nicht gefunden. Das tritt vor
allem bei Vorlagen aus der Community auf. Installieren Sie die
entsprechenden Pakete.</p></li><li class="listitem"><p>! Package inputenc Error: Unicode char \u8:... set up for
use with LaTeX. Dieser Fehler tritt auf, wenn sie versuchen mit
einer Standardinstallation exotische utf8 Zeichen zu drucken.
TeXLive unterstützt von Haus nur romanische Schriften und muss mit
diversen Tricks dazu gebracht werden andere Zeichen zu
akzeptieren. Adere TeX Systeme wie XeTeX schaffen hier
Abhilfe.</p></li></ul></div><p>Wird gar kein Fehler angezeigt, sondern nur der Name des
Templates, heißt das normalerweise, dass das LaTeX Binary nicht
gefunden wurde. Prüfen Sie den Namen in der Konfiguration (Standard:
<code class="literal">latexmk --pdflatex</code>), und stellen Sie sicher, dass
latexmk (oder das von Ihnen verwendete System) vom Webserver ausgeführt
werden darf.</p><p>Wenn sich das Problem nicht auf Grund der Ausgabe im Webbrowser
verifizieren lässt:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>editiere [kivitendo-home]/config/kivitendo.conf und ändere
"keep_temp_files" auf 1</p><p>
</p><pre class="programlisting">keep_temp_files = 1;</pre><p>
</p></li><li class="listitem"><p>bei fastcgi oder mod_perl den Webserver neu Starten</p></li><li class="listitem"><p>Nochmal einen Druckversuch im Webfrontend auslösen</p></li><li class="listitem"><p>wechsel in das users Verzeichnis von kivitendo</p><p>
</p><pre class="programlisting">cd [kivitendo-home]/users</pre><p>
</p></li><li class="listitem"><p>LaTeX Suchpfad anpassen:</p><p>
</p><pre class="programlisting">export TEXINPUTS=".:[kivitendo-home]/templates/[aktuelles_template_verzeichniss]:"</pre><p>
</p></li><li class="listitem"><p>Finde heraus, welche Datei kivitendo beim letzten Durchlauf
erstellt hat</p><p>
</p><pre class="programlisting">ls -lahtr ./1*.tex</pre><p>
</p><p>Es sollte die letzte Datei ganz unten sein</p></li><li class="listitem"><p>für besseren Hinweis auf Fehler texdatei nochmals
übersetzen</p><p>
</p><pre class="programlisting">pdflatex ./1*.tex</pre><p>
</p><p>in der *.tex datei nach dem Fehler suchen.</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="ch02s12.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s14.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.12. E-Mail&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.14. OpenDocument-Vorlagen</td></tr></table></div></body></html>
<title>2.13. E-Mail</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.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s12.html" title="2.12. Drucker- und Systemverwaltung"><link rel="next" href="ch02s14.html" title="2.14. 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.13. E-Mail</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s12.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s14.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.13. E-Mail"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Email"></a>2.13. E-Mail</h2></div></div></div><p>
kivitendo kann sowohl E-Mails direkt aus dem Programm heraus E-Mails
versenden, als auch in das Programm importiern. Damit dies
funktioniert, müssen die E-Mail-Parameter korrekt konfiguriert sein.
Dazu mehr in den folgenden Abschnitten.
</p><div class="sect2" title="2.13.1. E-Mail-Versand aus kivitendo heraus"><div class="titlepage"><div><div><h3 class="title"><a name="config.sending-email"></a>2.13.1. E-Mail-Versand aus kivitendo heraus</h3></div></div></div><p>Das Versenden von E-Mails kann zum Verschicken von Belegen genutzt
werden, z.B. um ein Angebot direkt an einen Kunden zu verschicken. Damit
dies funktioniert, muss eingestellt werden, über welchen Server die
E-Mails verschickt werden sollen. kivitendo unterstützt dabei zwei
Mechanismen: Versand über einen lokalen E-Mail-Server (z.B. mit
<span class="productname">Postfix</span>™ oder <span class="productname">Exim</span>™,
was auch die standardmäßig aktive Methode ist) sowie Versand über einen
SMTP-Server (z.B. der des eigenen Internet-Providers).</p><p>Welche Methode und welcher Server verwendet werden, wird über die
Konfigurationsdatei <code class="filename">config/kivitendo.conf</code>
festgelegt. Dort befinden sich alle Einstellungen zu diesem Thema im
Abschnitt '<code class="literal">[mail_delivery]</code>'.</p><div class="sect3" title="2.13.1.1. Versand über lokalen E-Mail-Server"><div class="titlepage"><div><div><h4 class="title"><a name="config.sending-email.sendmail"></a>2.13.1.1. Versand über lokalen E-Mail-Server</h4></div></div></div><p>Diese Methode bietet sich an, wenn auf dem Server, auf dem
kivitendo läuft, bereits ein funktionsfähiger E-Mail-Server wie z.B.
<span class="productname">Postfix</span>™, <span class="productname">Exim</span>™
oder <span class="productname">Sendmail</span>™ läuft.</p><p>Um diese Methode auszuwählen, muss der Konfigurationsparameter
'<code class="literal">method = sendmail</code>' gesetzt sein. Dies ist
gleichzeitig der Standardwert, falls er nicht verändert wird.</p><p>Um zu kontrollieren, wie das Programm zum Einliefern gestartet
wird, dient der Parameter '<code class="literal">sendmail = ...</code>'. Der
Standardwert verweist auf das Programm
<code class="filename">/usr/bin/sendmail</code>, das bei allen oben genannten
E-Mail-Serverprodukten für diesen Zweck funktionieren sollte.</p><p>Die Konfiguration des E-Mail-Servers selber würde den Rahmen
dieses sprengen. Hierfür sei auf die Dokumentation des E-Mail-Servers
verwiesen.</p></div><div class="sect3" title="2.13.1.2. Versand über einen SMTP-Server"><div class="titlepage"><div><div><h4 class="title"><a name="config.sending-email.smtp"></a>2.13.1.2. Versand über einen SMTP-Server</h4></div></div></div><p>Diese Methode bietet sich an, wenn kein lokaler E-Mail-Server
vorhanden ist oder einer vorhanden, dieser aber nicht konfiguriert
ist.</p><p>Um diese Methode auszuwählen, muss der Konfigurationsparameter
'<code class="literal">method = smtp</code>' gesetzt sein. Die folgenden
Parameter dienen dabei der weiteren Konfiguration:</p><div class="variablelist"><dl><dt><span class="term">
<code class="varname">hostname</code>
</span></dt><dd><p>Name oder IP-Adresse des SMTP-Servers. Standardwert:
'<code class="literal">localhost</code>'</p></dd><dt><span class="term">
<code class="varname">port</code>
</span></dt><dd><p>Portnummer. Der Standardwert hängt von der verwendeten
Verschlüsselungsmethode ab. Gilt '<code class="literal">security =
none</code>' oder '<code class="literal">security = tls</code>', so ist
25 die Standardportnummer. Für '<code class="literal">security =
ssl</code>' ist 465 die Portnummer. Muss normalerweise nicht
geändert werden.</p></dd><dt><span class="term">
<code class="varname">security</code>
</span></dt><dd><p>Wahl der zu verwendenden Verschlüsselung der Verbindung
mit dem Server. Standardwert ist '<code class="literal">none</code>',
wodurch keine Verschlüsselung verwendet wird. Mit
'<code class="literal">tls</code>' wird TLS-Verschlüsselung eingeschaltet,
und mit '<code class="literal">ssl</code>' wird Verschlüsselung via SSL
eingeschaltet. Achtung: Für '<code class="literal">tls</code>' und
'<code class="literal">ssl</code>' werden zusätzliche Perl-Module benötigt
(siehe unten).</p></dd><dt><span class="term">
<code class="varname">login</code> und
<code class="varname">password</code>
</span></dt><dd><p>Falls der E-Mail-Server eine Authentifizierung verlangt,
so können mit diesen zwei Parametern der Benutzername und das
Passwort angegeben werden. Wird Authentifizierung verwendet, so
sollte aus Sicherheitsgründen auch eine Form von Verschlüsselung
aktiviert werden.</p></dd></dl></div></div></div><div class="sect2" title="2.13.2. Versendete E-Mails über IMAP exportieren"><div class="titlepage"><div><div><h3 class="title"><a name="config.sent_emails_in_imap"></a>2.13.2. Versendete E-Mails über IMAP exportieren</h3></div></div></div><p>
Es können versendete E-Mails über IMAP exportiert werden. Dazu muss
der entsprechende Server, auf dem die E-Mails abgelegt werden
sollen, konfiguriert werden. Dies geschieht in der Konfigurationsdatei
<code class="filename">config/kivitendo.conf</code> im Abschnitt
'<code class="literal">[sent_emails_in_imap]</code>'. Es können auch Server für
spezifische E-Mail-Adressen konfiguriert werden, indem der Abschnitt
kopiert wird und mit dem Namen
'<code class="literal">[sent_emails_in_imap/email/EMAILADDRESS]</code>', wobei
'<code class="literal">EMAILADDRESS</code>' die entsprechenden E-Mail-Adresse
ist, versehen wird.
</p><p>
Die Reihenfolge für die Auswahl der Konfiguration ist wie folgt:
</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p> Falls es für die Absender-Adresse eine Konfiguration gibt nimm
diese. </p></li><li class="listitem"><p> Falls es es für die benutzerbezogene E-Mail-Adresse eine
Konfiguration gibt dann nimm diese. </p></li><li class="listitem"><p> Falls es eine generelle Konfiguration gibt dann nimm diese.
</p></li></ol></div><p>Die folgenden Parameter dienen der Konfiguration:</p><div class="variablelist"><dl><dt><span class="term">
<code class="varname">enabled</code>
</span></dt><dd><p>
Falls '<code class="literal">enabled = 0</code>' gesetzt ist, wird der
Export von E-Mails deaktiviert. Dies ist der Standardwert. Falls
'<code class="literal">enabled = 1</code>' gesetzt ist, wird ist der
Export von E-Mails aktiviert.
</p></dd><dt><span class="term">
<code class="varname">hostname</code>
</span></dt><dd><p>Name oder IP-Adresse des IMAP-Servers. Standardwert:
'<code class="literal">localhost</code>'</p></dd><dt><span class="term">
<code class="varname">port</code>
</span></dt><dd><p>
Portnummer. Der Standardwert hängt von der verwendeten
Verschlüsselungsmethode ab. Gilt '<code class="literal">ssl = 0</code>',
so ist 993 die Standardportnummer. Für
'<code class="literal">ssl = 0</code>' ist 143 die Portnummer. Muss
normalerweise nicht geändert werden.
</p></dd><dt><span class="term">
<code class="varname">ssl</code>
</span></dt><dd><p>
Wahl ob eine Verschlüsselung bei der Verbindung mit dem Server
verwendet wird. Standardwert ist '<code class="literal">1</code>',
wodurch eine SSL-Verschlüsselung verwendet wird. Mit
'<code class="literal">0</code>' wird keine Verschlüsselung genutzt.
</p></dd><dt><span class="term">
<code class="varname">username</code> und
<code class="varname">password</code>
</span></dt><dd><p>
Falls der IMAP-Server eine Authentifizierung verlangt, so können
mit diesen zwei Parametern der Nutzername und das Passwort
angegeben werden. Wird Authentifizierung verwendet, so sollte
aus Sicherheitsgründen auch Verschlüsselung aktiviert werden.
</p></dd><dt><span class="term">
<code class="varname">folder</code>
</span></dt><dd><p>
Wahl des Ordners, in den kivitendo gesendete E-Mails
gespeichert. Standardwert ist
'<code class="literal">Sent/Kivitendo</code>'. Ordnerhierarchien können
mit einem Slash ('<code class="literal">/</code>') getrennt werden.
Der gewählte Ordner muss existieren.
</p></dd></dl></div><p>
Bei einem Fehler bricht die Funktion ab und der Anwender bekommt die
Fehlermeldung, dass die E-Mail prinzipiell nicht verschickt werden
konnte. An dieser Stelle muss der kivitendo-Admin etwas genauer
prüfen, ob der Mail-Versand und/oder die Synchronisation den Fehler
verursacht hat. Ein Blick ins Email-Journal kann helfen den Fehler
einzuschränken.
</p></div><div class="sect2" title="2.13.3. E-Mails in kivitendo importieren"><div class="titlepage"><div><div><h3 class="title"><a name="config.imap_client"></a>2.13.3. E-Mails in kivitendo importieren</h3></div></div></div><p>
Um E-Mails in kivitendo zu importieren, muss der entsprechende
Server, von dem die E-Mails abgeholt werden sollen, konfiguriert
werden. Dies geschieht in der Konfigurationsdatei
<code class="filename">config/kivitendo.conf</code> im Abschnitt
'<code class="literal">[imap_client]</code>'.
</p><p>Die folgenden Parameter dienen der Konfiguration:</p><div class="variablelist"><dl><dt><span class="term">
<code class="varname">enabled</code>
</span></dt><dd><p>
Falls '<code class="literal">enabled = 0</code>' gesetzt ist, wird der
Import von E-Mails deaktiviert. Dies ist der Standardwert. Falls
'<code class="literal">enabled = 1</code>' gesetzt ist, wird ist der
Import von E-Mails aktiviert.
</p></dd><dt><span class="term">
<code class="varname">hostname</code>
</span></dt><dd><p>Name oder IP-Adresse des IMAP-Servers. Standardwert:
'<code class="literal">localhost</code>'</p></dd><dt><span class="term">
<code class="varname">port</code>
</span></dt><dd><p>
Portnummer. Der Standardwert hängt von der verwendeten
Verschlüsselungsmethode ab. Gilt '<code class="literal">ssl = 0</code>',
so ist 993 die Standardportnummer. Für
'<code class="literal">ssl = 0</code>' ist 143 die Portnummer. Muss
normalerweise nicht geändert werden.
</p></dd><dt><span class="term">
<code class="varname">ssl</code>
</span></dt><dd><p>
Wahl ob eine Verschlüsselung bei der Verbindung mit dem Server
verwendendet wird. Standardwert ist '<code class="literal">1</code>',
wodurch eine SSL-Verschlüsselung verwendet wird. Mit
'<code class="literal">0</code>' wird keine Verschlüsselung genutzt.
</p></dd><dt><span class="term">
<code class="varname">username</code> und
<code class="varname">password</code>
</span></dt><dd><p>
Falls der IMAP-Server eine Authentifizierung verlangt, so können
mit diesen zwei Parametern der Nutzername und das Passwort
angegeben werden. Wird Authentifizierung verwendet, so sollte
aus Sicherheitsgründen auch Verschlüsselung aktiviert werden.
</p></dd><dt><span class="term">
<code class="varname">base_folder</code>
</span></dt><dd><p>
Wahl des Ordners, den kivitendo als Basis für das erstellen von
Unterordnern und das abholen von E-Mails verwendet. Standardwert
ist '<code class="literal">INBOX</code>'. Ordnerhierarchien können mit
einem Slash ('<code class="literal">/</code>') getrennt werden. Beispiel:
'<code class="literal">INBOX/kivitendo</code>'. In diesem Ordner dürfen
keine Unterordner existieren und keine manuell angelegt werden.
</p></dd></dl></div><p>
Wenn eingeschaltet, wird beim Anlegen von Verkaufsangeboten und
-aufträgen ein Unterordner im E-Mail-Client für den entsprechenden
Beleg angelegt. E-Mails, in diesen Ordner werden automatisch beim
Öffnen des Belegs in kivitendo importiert. Um die E-Mails übersichtlich
zu halten, kann der Hintergrund-Job
'<code class="literal">CleanUpEmailSubfolders</code>' genutzt werden. Dieser
importiert alle E-Mails und löscht alle Unterordnern, die nicht zu
einem Offenen Beleg gehören. Importierte E-Mails werden werden nicht
gelöscht, erst beim Löschen des Unterordners werden sie gelöscht.
</p><p>
Es können auch E-Mails in kivitendo importiert werden, die nicht zu
einem Beleg gehören. Dafür kann der Hintergrund-Job
'<code class="literal">SyncEmailFolder</code>' verwendet werden. Dieser
synchronisiert standartmäßig den Ordner der in
'<code class="literal">base_folder</code>' angegeben ist. Dies kann mit dem
Job-Parameter '<code class="literal">folder</code>' geändert. Die Importierten
E-Mails werden im E-Mail-Journal gespeichert.
</p><p>
Beim Umzug des E-Mail-Servers kann kivitendo die E-Mails schon
importierten E-Mails nicht mehr erkennen. Dies führt dazu, dass alle
E-Mails erneut importiert werden.
</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s12.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s14.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.12. Drucker- und Systemverwaltung&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.14. Drucken mit kivitendo</td></tr></table></div></body></html>
doc/html/ch02s14.html
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>2.14. OpenDocument-Vorlagen</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.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s13.html" title="2.13. Drucken mit kivitendo"><link rel="next" href="ch02s15.html" title="2.15. Nomenklatur"></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.14. OpenDocument-Vorlagen</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s13.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s15.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.14. OpenDocument-Vorlagen"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="OpenDocument-Vorlagen"></a>2.14. OpenDocument-Vorlagen</h2></div></div></div><p>kivitendo unterstützt die Verwendung von Vorlagen im
OpenDocument-Format, wie es LibreOffice oder OpenOffice (ab Version 2)
erzeugen. kivitendo kann dabei sowohl neue OpenDocument-Dokumente als
auch aus diesen direkt PDF-Dateien erzeugen. Nachfolgend ist die
Verwendung mit LibreOffice beschrieben. Für die Verwendung mit
OpenOffice müssen die Einstellungen allenfalls angepasst werden.</p><div class="sect2" title="2.14.1. Grundeinstellung"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2955"></a>2.14.1. Grundeinstellung</h3></div></div></div><p>Um die Unterstützung von OpenDocument-Vorlagen zu aktivieren,
muss in der Datei <code class="filename">config/kivitendo.conf</code> die
Variable <code class="literal">opendocument</code>, im Abschnitt
<code class="literal">print_templates</code>, auf <code class="literal">1</code> stehen.
Dies ist die Standardeinstellung.</p></div><div class="sect2" title="2.14.2. Direkte Erzeugung von PDF-Dateien"><div class="titlepage"><div><div><h3 class="title"><a name="d0e2972"></a>2.14.2. Direkte Erzeugung von PDF-Dateien</h3></div></div></div><p>Während die Erzeugung von reinen OpenDocument-Dateien keinerlei
weitere Software benötigt, wird zur Umwandlung dieser Dateien in PDF
LibreOffice oder OpenOffice benötigt.</p><p>Unter Debian kann dieses installiert werden mit:</p><pre class="programlisting">apt install libreoffice</pre><p>Der Pfad zu LibreOffice kann in der Datei
<code class="filename">config/kivitendo.conf</code>, im Abschnitt
<code class="literal">applications</code>, angepasst werden. Unter Debian sollte
dies nicht notwendig sein.</p><div class="sect3" title="2.14.2.1. Variante 1)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2989"></a>2.14.2.1. Variante 1)</h4></div></div></div><p>In der Standardeinstellung wird LibreOffice für jedes Dokument
neu gestartet. Es ist keine weitere Konfiguration
erforderlich.</p></div><div class="sect3" title="2.14.2.2. Variante 2)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e2994"></a>2.14.2.2. Variante 2)</h4></div></div></div><p>Die zweite Variante startet ein LibreOffice, das auch nach der
Umwandlung des Dokumentes gestartet bleibt. Bei weiteren
Umwandlungen wird dann diese laufende Instanz benutzt. Der Vorteil
ist, dass die Zeit zur Umwandlung möglicherweise reduziert wird,
weil nicht für jedes Dokument eine neue Instanz gestartet werden
muss.</p><p>Dazu muss in der Konfigurationsdatei
<code class="filename">config/kivitendo.conf</code>, im Abschnitt
<code class="literal">print_templates</code>, <code class="literal">openofficeorg_daemon =
1</code> gesetzt werden.</p><p>Diese Methode verwendet Python und die Python uno bindings.
Unter Debian werden diese mit LibreOffice mitgeliefert.</p><p>Die Optionen <code class="literal">python_uno</code> und
<code class="literal">python_uno_path</code> in der Konfigurationsdatei
<code class="filename">config/kivitendo.conf</code> dienen zur Anpassung der
Python uno Pfade. Unter Debian sollte keine Anpassung notwendig
sein.</p></div></div><div class="sect2" title="2.14.3. Vorbereitungen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e3023"></a>2.14.3. Vorbereitungen</h3></div></div></div><div class="sect3" title="2.14.3.1. Adminbereich"><div class="titlepage"><div><div><h4 class="title"><a name="opendocument-druckvorlagen-mit-makros.vorbereitungen"></a>2.14.3.1. Adminbereich</h4></div></div></div><p>Damit beim Erstellen von Rechnungen und Aufträgen neben der
Standardvorlage ohne Einzahlungsschein weitere Vorlagen (z.B. mit
Einzahlungsschein) auswählbar sind, muss für jedes Vorlagen-Suffix
ein Drucker eingerichtet werden:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Druckeradministration → Drucker hinzufügen</p></li><li class="listitem"><p>Mandant wählen</p></li><li class="listitem"><p>Druckerbeschreibung → aussagekräftiger Text: wird in der
Auftrags- bzw. Rechnungsmaske als Auswahl angezeigt (z.B. mit
Einzahlungsschein Bank xy)</p></li><li class="listitem"><p>Druckbefehl → beliebiger Text (hat für das Erzeugen von
Aufträgen oder Rechnungen als odt-Datei keine Bedeutung, darf
aber nicht leer sein)</p></li><li class="listitem"><p>Vorlagenkürzel → besr bzw. selbst gewähltes Vorlagensuffix
(muss genau der Zeichenfolge entsprechen, die zwischen
"invoice_" bzw. "sales_order_" und ".odt" steht.)</p></li><li class="listitem"><p>speichern</p></li></ul></div></div><div class="sect3" title="2.14.3.2. Benutzereinstellungen"><div class="titlepage"><div><div><h4 class="title"><a name="d0e3050"></a>2.14.3.2. Benutzereinstellungen</h4></div></div></div><p>Wer den Ausdruck mit Einzahlungsschein als Standardeinstellung
im Rechnungs- bzw. Auftragsformular angezeigt haben möchte, kann
dies persönlich für sich bei den Benutzereinstellungen
konfigurieren:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Programm → Benutzereinstellungen → Druckoptionen</p></li><li class="listitem"><p>Standardvorlagenformat → OpenDocument/OASIS</p></li><li class="listitem"><p>Standardausgabekanal → Bildschirm</p></li><li class="listitem"><p>Standarddrucker → gewünschte Druckerbeschreibung auswählen
(z.B. mit Einzahlungsschein Bank xy)</p></li><li class="listitem"><p>Anzahl Kopien → leer</p></li><li class="listitem"><p>speichern</p></li></ul></div></div><div class="sect3" title="2.14.3.3. Auswahl der Druckvorlage in kivitendo beim Erzeugen einer odt-Rechnung (analog bei Auftrag)"><div class="titlepage"><div><div><h4 class="title"><a name="d0e3074"></a>2.14.3.3. Auswahl der Druckvorlage in kivitendo beim Erzeugen einer
odt-Rechnung (analog bei Auftrag)</h4></div></div></div><p>Im Fussbereich der Rechnungsmaske muss neben Rechnung,
OpenDocument/OASIS und Bildschirm die im Adminbereich erstellte
Druckerbeschreibung ausgewählt werden, falls diese nicht bereits bei
den Benutzereinstellungen als persönlicher Standard gewählt
wurde.</p></div></div><div class="sect2" title="2.14.4. Schweizer QR-Rechnung mit OpenDocument Vorlagen"><div class="titlepage"><div><div><h3 class="title"><a name="d0e3079"></a>2.14.4. Schweizer QR-Rechnung mit OpenDocument Vorlagen</h3></div></div></div><p>Mit der Version 3.6.0 unterstützt Kivitendo die Erstellung von
Schweizer QR-Rechnungen gemäss <a class="ulink" href="https://www.paymentstandards.ch/dam/downloads/ig-qr-bill-de.pdf" target="_top">Swiss
Payment Standards, Version 2.2</a>. Implementiert sind hierbei die
Varianten:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<span class="bold"><strong>QR-IBAN mit
QR-Referenz</strong></span>
</p></li><li class="listitem"><p>
<span class="bold"><strong>IBAN ohne Referenz</strong></span>
</p></li></ul></div><div class="sect3" title="2.14.4.1. Einstellungen"><div class="titlepage"><div><div><h4 class="title"><a name="d0e3100"></a>2.14.4.1. Einstellungen</h4></div></div></div><div class="sect4" title="2.14.4.1.1. Mandantenkonfiguration"><div class="titlepage"><div><div><h5 class="title"><a name="d0e3103"></a>2.14.4.1.1. Mandantenkonfiguration</h5></div></div></div><p>Unter <span class="emphasis"><em>System → Mandantenkonfiguration →
Features</em></span>. Im Abschnitt <span class="emphasis"><em>Einkauf und
Verkauf</em></span>, beim Punkt <span class="emphasis"><em>Verkaufsrechnungen mit
Schweizer QR-Rechnung erzeugen</em></span>, die gewünschte Variante
wählen.</p></div><div class="sect4" title="2.14.4.1.2. Konfiguration der Bankkonten"><div class="titlepage"><div><div><h5 class="title"><a name="d0e3117"></a>2.14.4.1.2. Konfiguration der Bankkonten</h5></div></div></div><p>Unter <span class="emphasis"><em>System → Bankkonten</em></span> muss bei
mindestens einem Bankkonto die Option <span class="emphasis"><em>Nutzung mit
Schweizer QR-Rechnung</em></span> auf <span class="bold"><strong>Ja</strong></span> gestellt werden.</p><p>Die IBAN muss ohne Leerzeichen angegeben werden.</p><div class="tip" title="Tipp" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tipp]" src="system/docbook-xsl/images/tip.png"></td><th align="left">Tipp</th></tr><tr><td align="left" valign="top"><p>Für die Variante <span class="bold"><strong>QR-IBAN mit
QR-Referenz</strong></span> muss dieses Konto unter IBAN eine gültige
<span class="bold"><strong>QR-IBAN Nummer</strong></span> enthalten. Diese
unterscheidet sich von der regulären IBAN.</p><p>Zusätzlich muss eine gültige <span class="bold"><strong>Bankkonto
Identifikationsnummer</strong></span> angegeben werden
(6-stellig).</p><p>Diese werden von der jeweiligen Bank vergeben.</p></td></tr></table></div><p>Sind mehrere Konten ausgewählt wird das erste
verwendet.</p></div><div class="sect4" title="2.14.4.1.3. Rechnungen ohne Betrag"><div class="titlepage"><div><div><h5 class="title"><a name="d0e3151"></a>2.14.4.1.3. Rechnungen ohne Betrag</h5></div></div></div><p>Für Rechnungen ohne Betrag (z.B. Spenden) kann, in der
jeweiligen Rechnung, die Checkbox <span class="emphasis"><em>QR-Rechnung ohne
Betrag</em></span> aktiviert werden. Diese Checkbox erscheint nur,
wenn QR-Rechnungen in der Mandantenkonfiguration aktiviert sind
(variante ausgewählt).</p><p>Dies wirkt sich lediglich auf den erzeugten QR-Code aus. Die
Vorlage muss separat angepasst und ausgewählt werden.</p></div></div><div class="sect3" title="2.14.4.2. Adressdaten"><div class="titlepage"><div><div><h4 class="title"><a name="d0e3161"></a>2.14.4.2. Adressdaten</h4></div></div></div><p>Die Adressdaten zum Zahlungsempfänger werden aus der
Mandantenkonfiguration entnommen. Unter <span class="emphasis"><em>System →
Mandantenkonfiguration → Verschiedenes</em></span>, Abschnitt
<span class="emphasis"><em>Firmenname und -adresse.</em></span>
</p><p>Die Adressdaten zum Zahlungspflichtigen stammen aus den
Kundendaten der jeweiligen Rechnung.</p><p>Ist bei den Adressdaten kein Land angegeben, wird standardmässig
Schweiz verwendet. Akzeptiert werden Ländername oder Ländercode, also
z.B. "Schweiz" oder "CH".</p><p>Die Adressdaten können in der Vorlage mit den jeweiligen
Variablen eingetragen werden. Siehe auch: <a class="xref" href="ch03s03.html" title="3.3. Dokumentenvorlagen und verfügbare Variablen">Abschnitt&nbsp;3.3, „Dokumentenvorlagen und verfügbare Variablen“</a>
</p><p>Der erzeugte QR-Code verwendet Adress-Typ "K" (Kombinierte
Adressfelder, 2 Zeilen).</p></div><div class="sect3" title="2.14.4.3. Referenznummer"><div class="titlepage"><div><div><h4 class="title"><a name="d0e3182"></a>2.14.4.3. Referenznummer</h4></div></div></div><p>Die Referenznummer wird in Kivitendo erzeugt und setzt sich
wiefolgt zusammen:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Bankkonto Identifikationsnummer (6-stellig)</p></li><li class="listitem"><p>Kundennummer (6-stellig, mit führenden Nullen
aufgefüllt)</p></li><li class="listitem"><p>Rechnungsnummer (14-stellig, mit führenden Nullen
aufgefüllt)</p></li><li class="listitem"><p>Prüfziffer (1-stellig, berechnet mittels modulo 10,
rekursiv)</p></li></ul></div><p>Es sind lediglich Ziffern erlaubt. Allfällige Buchstaben und
Sonderzeichen werden entfernt und fehlende Stellen werden mit
führenden Nullen aufgefüllt.</p></div><div class="sect3" title="2.14.4.4. Vorlage"><div class="titlepage"><div><div><h4 class="title"><a name="d0e3202"></a>2.14.4.4. Vorlage</h4></div></div></div><p>Der Vorlagensatz "rev-odt" enthält die Vorlage
<code class="literal">invoice_qr.odt</code>, welche für die Erstellung von
QR-Rechnungen vorgesehen ist. Damit diese verwendet werden kann muss
wie obenstehend beschrieben ein Drucker hinzugefügt werden, allerdings
mit dem Vorlagenkürzel <code class="literal">qr</code> (siehe <a class="xref" href="ch02s14.html#opendocument-druckvorlagen-mit-makros.vorbereitungen" title="2.14.3.1. Adminbereich">Abschnitt&nbsp;2.14.3.1, „Adminbereich“</a>).
Weitere Vorlagen für die QR-Rechnung müssen im Dateinamen, bzw.
Vorlagenkürzel, ebenfalls die Zeichenfolge <code class="literal">qr</code>
enthalten, also z.b. <code class="literal">invoice_qr2.odt</code> etc.</p><p>Die Vorlagen können beliebig angepasst werden. Zwingend müssen
diese jedoch das QR-Code Platzhalter Bild, als eingebettetes Bild,
enthalten. Da dieses beim Ausdrucken/Erzeugen der Rechnung durch das
neu generierte QR-Code Bild ersetzt wird. Das Bild muss den Namen
<code class="literal">QRCodePlaceholder</code> tragen. In Libreoffice unter
<span class="emphasis"><em>Bild-Kontextmenü → </em></span>
<span class="emphasis"><em>Einstellungen →
Optionen → Name</em></span> einstellbar. Siehe dazu auch die
Beispielvorlage.</p><div class="sect4" title="2.14.4.4.1. Zusätzliche Variablen für Vorlage"><div class="titlepage"><div><div><h5 class="title"><a name="d0e3232"></a>2.14.4.4.1. Zusätzliche Variablen für Vorlage</h5></div></div></div><p>Zusätzlich zu den in der Vorlage standardmässig verfügbaren
Variablen (siehe <a class="xref" href="ch03s03.html" title="3.3. Dokumentenvorlagen und verfügbare Variablen">Abschnitt&nbsp;3.3, „Dokumentenvorlagen und verfügbare Variablen“</a>),
werden die folgenden Variablen erzeugt:</p><div class="variablelist"><dl><dt><span class="term">ref_number_formatted</span></dt><dd><p>Referenznummer formatiert mit Leerzeichen, z.B.: 21 00000
00003 13947 14300 09017</p></dd><dt><span class="term">iban_formatted</span></dt><dd><p>IBAN formatiert mit Leerzeichen</p></dd><dt><span class="term">amount_formatted</span></dt><dd><p>Betrag formatiert mit Tausendertrennzeichen Leerschlag,
z.B.: 1 005.55</p></dd></dl></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="ch02s13.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02s15.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">2.13. Drucken mit kivitendo&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;2.15. Nomenklatur</td></tr></table></div></body></html>
<title>2.14. Drucken mit kivitendo</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.8.0: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch02.html" title="Kapitel 2. Installation und Grundkonfiguration"><link rel="prev" href="ch02s13.html" title="2.13. E-Mail"><link rel="next" href="ch02s15.html" title="2.15. OpenDocument-Vorlagen"></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.14. Drucken mit kivitendo</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s13.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 2. Installation und Grundkonfiguration</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02s15.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="2.14. Drucken mit kivitendo"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Drucken-mit-kivitendo"></a>2.14. Drucken mit kivitendo</h2></div></div></div><p>Das Drucksystem von kivitendo benutzt von Haus aus LaTeX-Vorlagen.
Um drucken zu können, braucht der Server ein geeignetes LaTeX System. Am
einfachsten ist dazu eine <code class="literal">texlive</code> Installation. Unter
debianoiden Betriebssystemen installiert man die Pakete mit:</p><p>
</p><pre class="programlisting">apt install texlive-base-bin texlive-latex-recommended texlive-fonts-recommended \
texlive-latex-extra texlive-lang-german ghostscript</pre><p>
</p><p>Für Fedora benötigen Sie die folgenden Pakete:</p><p>
</p><pre class="programlisting">dnf install texlive-collection-latex texlive-collection-latexextra \
texlive-collection-latexrecommended texlive-collection-langgerman \
texlive-collection-langenglish</pre><p>
</p><p>Für openSUSE benötigen Sie die folgenden Pakete:</p><p>
</p><pre class="programlisting">zypper install texlive-collection-latex texlive-collection-latexextra \
texlive-collection-latexrecommended texlive-collection-langgerman \
texlive-collection-langenglish</pre><p>
</p><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>kivitendo erwartet eine aktuelle TeX Live Umgebung, um PDF/A zu erzeugen. Aktuelle Distributionen von 2020 erfüllen diese. Überprüfbar ist dies mit dem Aufruf des installation_check.pl mit Parameter -l:</p><p>
</p><pre class="programlisting">scripts/installations_check.pl -l</pre><p>
</p></td></tr></table></div><p>kivitendo bringt drei alternative Vorlagensätze mit:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>RB</p></li><li class="listitem"><p>marei</p></li><li class="listitem"><p>rev-odt</p></li></ul></div><p>Der ehemalige Druckvorlagensatz "f-tex" wurde mit der Version
3.5.6 entfernt, da er nicht mehr gepflegt wird.</p><div class="sect2" title="2.14.1. Vorlagenverzeichnis anlegen"><div class="titlepage"><div><div><h3 class="title"><a name="Vorlagenverzeichnis-anlegen"></a>2.14.1. Vorlagenverzeichnis anlegen</h3></div></div></div><p>Es lässt sich ein initialer Vorlagensatz erstellen. Die
LaTeX-System-Abhängigkeiten hierfür kann man prüfen mit:</p><pre class="programlisting">./scripts/installation_check.pl -lv</pre><p>Der Angemeldete Benutzer muss in einer Gruppe sein, die über das
Recht "Konfiguration -&gt; Mandantenverwaltung" verfügt. Siehe auch
<a class="xref" href="ch02s11.html#Gruppen-anlegen" title="2.11.4. Gruppen anlegen">Abschnitt&nbsp;2.11.4, „Gruppen anlegen“</a>.</p><p>Im Userbereich lässt sich unter: "<span class="guimenu">System</span>
-&gt; <span class="guisubmenu">Mandantenverwaltung</span> -&gt;
<span class="guimenuitem">Verschiedenes</span>" die Option "Neue
Druckvorlagen aus Vorlagensatz erstellen" auswählen.</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
<code class="option">Vorlagen auswählen</code>: Wählen Sie hier den
Vorlagensatz aus, der kopiert werden soll
(<code class="filename">RB</code>, <code class="filename">marei</code> oder
<code class="filename">odt-rev</code>.)</p></li><li class="listitem"><p>
<code class="option">Neuer Name</code>: Der Verzeichnisname für den
neuen Vorlagensatz. Dieser kann im Rahmen der üblichen Bedingungen
für Verzeichnisnamen frei gewählt werden.</p></li></ol></div><p>Nach dem Speichern wird das Vorlagenverzeichnis angelegt und ist
für den aktuellen Mandanten ausgewählt. Der gleiche Vorlagensatz kann,
wenn er mal angelegt ist, bei mehreren Mandanten verwendet werden.
Eventuell müssen Anpassungen (Logo, Erscheinungsbild, etc) noch
vorgenommen werden. Den Ordner findet man im Dateisystem unter
<code class="filename">./templates/[Neuer Name]</code>
</p></div><div class="sect2" title="2.14.2. Der Druckvorlagensatz marei"><div class="titlepage"><div><div><h3 class="title"><a name="Aufbau des marei Vorlagensatzes"></a>2.14.2. Der Druckvorlagensatz marei</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"><a name="marei.document.link"></a>Anmerkung</th></tr><tr><td align="left" valign="top"><p>Die aktuelle Dokumentation inkl. dem Foliensatz vom kivi-Treffen im August 2023 befindet sich hier:
<a class="ulink" href="https://peitex.de/materialien/2023-08-04_kivitendo/" target="_top"> https://peitex.de/materialien/2023-08-04_kivitendo/</a>
</p></td></tr></table></div><div class="sect3" title="2.14.2.1. Quickstart – Wo kann was angepasst werden?"><div class="titlepage"><div><div><h4 class="title"><a name="Quickstart %E2%80%93 Wo kann was angepasst werden?"></a>2.14.2.1. Quickstart – Wo kann was angepasst werden?</h4></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"><a name="do-not-edit-marei"></a>Anmerkung</th></tr><tr><td align="left" valign="top"><p>In keinem Fall sollten Dateien mit der Endung <code class="filename">*.cls</code> oder <code class="filename">*.sty</code> geändert werden. Durch Änderungen an diesen Dateien verhindert man Updates auf neuer Versionen.
Zwar kopiert kivitendo die Datei und bearbeitet diese beim Update nicht. Allerdings sind sämtliche Änderungen über die Konfigurationsdateien möglich und erhöhen die Wartbarkeit.</p></td></tr></table></div><div class="itemizedlist"><div class="itemizedlist"><ul class="itemizedlist" type="circle"><li class="listitem"><p>Pfad zu Angaben über Mandant*innen (default: firma)</p></li><li class="listitem"><p>Logo/Briefpapier, falls für alle Mandant*innen in gleicher Struktur. Sonst in der <code class="filename">ident.tex</code>.</p></li><li class="listitem"><p>Layout der Kopf/Fußzeile</p></li><li class="listitem"><p>innerhalb dieser Datei werden auch die folgenden Dateien geladen:</p></li><li class="listitem"><p>
<code class="filename">firma/ident.tex</code> Mandant*innenspezifische Konfiguration, Adressdaten</p></li><li class="listitem"><p>
<code class="filename">firma/$währungskürzel_account.tex</code>
</p></li></ul></div><ul class="itemizedlist" type="disc"><li class="listitem"><p>
<code class="filename">insettings.tex</code> :</p></li><li class="listitem"><p>Sprache/Übersetzungen.\\Es muss mindestens eine Sprache angelegt werden! </p><pre class="programlisting">
\item[deutsch.tex] Textschnipsel für Deutsch\\
Dafür eine Sprache mit Vorlagenkürzel DE anlegen
\item[english.tex] Textschnipsel für Englisch\\
Dafür eine Sprache mit Vorlagenkürzel EN anlegen
</pre><p>
</p></li></ul></div><p>Alle dokumententypspezifischen Einstellungen müssen in der jeweiligen Template-Datei modifiziert werden.</p></div><div class="sect3" title="2.14.2.2. Aufbau"><div class="titlepage"><div><div><h4 class="title"><a name="Aufbau"></a>2.14.2.2. Aufbau</h4></div></div></div><p>Die Grundstruktur besteht je Dokumententyp aus einer Basisdatei und verschiedenen Setup-Dateien.</p><p>Die Basis wurde so überarbeitet, dass Dokumente nun generell auf
der Dokumentenklasse <code class="filename">scrartcl.cls</code> basieren und
das Paket <code class="filename">kiviletter.sty</code> benutzen.</p><p>Mandant*innenspezifische Konfiguration findet sich in der Datei <code class="filename">insettings.tex</code> und
dem Ordner eines spezifischen Mandant*innen (default=*firma/*).</p></div><div class="sect3" title="2.14.2.3. Mandant*innen / Firma"><div class="titlepage"><div><div><h4 class="title"><a name="Mandant*innen / Firma"></a>2.14.2.3. Mandant*innen / Firma</h4></div></div></div><p>Um gleiche Vorlagen für verschiedene Firmen verwenden zu können, wird je
nach dem Wert der Kivitendo-Variablen \kivivar{kivicompany} ein
Firmenverzeichnis ausgewählt (siehe <code class="filename">insettings.tex</code>), in dem Briefkopf,
Identitäten und Währungs-/Kontoeinstellungen hinterlegt sind.
\kivivar{kivicompany} enthält den Namen des verwendeten Mandant*innendaten.
Ist kein Firmenname eingetragen, so wird das
generische Unterverzeichnis *firma* verwendet.</p></div><div class="sect3" title="2.14.2.4. Identitäten"><div class="titlepage"><div><div><h4 class="title"><a name="Identit%C3%A4ten"></a>2.14.2.4. Identitäten</h4></div></div></div><p>In jedem Firmen-Unterverzeichnis soll eine Datei <code class="filename">ident.tex</code>
vorhanden sein, die mit |\newcommand| Werte für |\telefon|, |\fax|,
|\firma|, |\strasse|, |\ort|, |\ustid|, |\email| und |\homepage| definiert.</p></div><div class="sect3" title="2.14.2.5. Währungen/Konten"><div class="titlepage"><div><div><h4 class="title"><a name="W%C3%A4hrungen/Konten"></a>2.14.2.5. Währungen/Konten</h4></div></div></div><p>Für jede Währung (siehe <code class="filename">insettings.tex</code>) soll eine Datei vorhanden
sein, die das Währungssymbol (|\currency|) und folgende Angaben für
ein Konto in dieser Währung enthält |\kontonummer|, |\bank|,
|\bankleitzahl|, |\bic| und |\iban|.
So kann in den Dokumenten je nach Währung ein anderes Konto
angegeben werden.
Nach demselben Schema können auch weitere, alternative Bankverbindungen
angelegt werden, die dann in <code class="filename">insettings.tex</code> als Variable in der Fußzeile eingefügt werden.</p><p>Als Fallback (falls kivitendo keine Währung an das Druckvorlagen-System übergibt)
ist Euro eingestellt. Dies lässt sich in der <code class="filename">insettings.tex</code> über das optionale Argument
von |\setupCurrencyConfig| anpassen, z.B.</p><pre class="programlisting">
\setupCurrencyConfig[chf]{\identpath}{\lxcurrency}</pre><p>für Schweizer Franken als Standardwährung.</p></div><div class="sect3" title="2.14.2.6. Briefbogen/Logos"><div class="titlepage"><div><div><h4 class="title"><a name="Briefbogen/Logos"></a>2.14.2.6. Briefbogen/Logos</h4></div></div></div><p>Eine Hintergrundgrafik oder ein Logo kann in Abhängigkeit vom
Medium (z.B. nur beim Verschicken mit E-Mail) eingebunden
werden.</p><p>Desweiteren sind (auskommentierte) Beispiele enthalten für eine
Grafik als Briefkopf, nur ein Logo, oder ein komplettes A4-PDF
als Briefpapier.</p><p>Absolute Positionierung innerhalb des Brief-Layouts ist über die entsprechende Dokumentation des scrlayer-Paketes möglich.
Da die Voreinstellungen bereits einige Sonderfälle automatisch berücksichtigen ist mit den Anpassungen Vorsicht geboten.
Sämtliche Einstellungen sollten jedoch außerhalb der *.sty-Dateien vorgenommen werden.
Anpassungen der <code class="filename">insettings.tex</code> betreffen hierbei alle Mandant*innen. Spezifischere Einstellungen sind über die zugehörige Konfigurationsdatei (<code class="filename">ident.tex</code>) möglich.
In diesem Fall kann zum Ende der insettings eine weitere Konfigurationsdatei über die Verwendung von |\identpath| geladen werden. Ein Beispiel ist in der <code class="filename">insettings.tex</code> enthalten.</p></div><div class="sect3" title="2.14.2.7. Fußzeile"><div class="titlepage"><div><div><h4 class="title"><a name="Fu%C3%9Fzeile"></a>2.14.2.7. Fußzeile</h4></div></div></div><p>Die Tabelle im Fuß verwendet die Angaben aus <code class="filename">firma/ident.tex</code> und
*firma/<code class="filename">\_account.tex</code>. Ihre Struktur wird in der <code class="filename">insettings.tex</code> definiert.
Sie kann anschließend auch Mandant*innenspezifisch überschrieben werden.</p></div><div class="sect3" title="2.14.2.8. Seitenstil/Basislayout"><div class="titlepage"><div><div><h4 class="title"><a name="Seitenstil/Basislayout"></a>2.14.2.8. Seitenstil/Basislayout</h4></div></div></div><p>Das Seitenlayout wird über \pck{scrlayer-scrpage} bestimmt. Die ausführliche Dokumentation findet sich in \cite{scrguide}.
Es existieren in der Datei <code class="filename">insettings.tex</code> einige Hinweise zu den Anpassungen. Die Basiskonfiguration ist ebenfalls dort eingetragen.</p><p>Neben den in Abschnitt \ref{sec:options} beschriebenen Optionen zum Abschalten der Fußzeile kann
der Inhalt der Fußzeile über die \pck{scrlayer-scrpage} Makros, wie</p><pre class="programlisting">
\cfoot[|\meta{Inhalt auf der ersten Briefseite}|]{|\meta{Inhalt auf folgenden Briefseiten}|} </pre><p>geändert werden.</p><p>Die Kopfzeile unterscheidet sich von Dokumententyp zu Dokumententyp leicht, da diese über Datenbankvariablen befüllt wird.
Hierfür wird das Makro |\ourhead| in der <code class="filename">insettings.tex</code> definiert.</p><pre class="programlisting">
\DescribeMacro{\ourhead}\marg{Bezeichner}\marg{Eintrag}\marg{Titel}\marg{Nummer}\marg{Datum} </pre><p>Diese Definition kann ebenfalls über die <code class="filename">insettings.tex</code> angepasst oder auch nachträglich überschrieben werden:</p><pre class="programlisting">
\newcommand{\ourhead}[5] {%
\chead{%
\makebox[\textwidth]{%
\Ifstr{#1}{}{}{#1: #2 \hspace{0.7cm}}%
#3%
\Ifstr{#4}{}{}{~\nr: #4}%
\Ifstr{#5}{}{}{\vom ~ #5}%
\hspace{0.7cm} - \seite ~ \thepage/\letterlastpage ~-%
}%
}%
}
</pre><p>In der Standard-Einstellung sieht eine Kopfzeile mit obigen Aufruf dann folgendermaßen aus:</p><pre class="programlisting">
\newcommand{\ourhead}[5] {%
\makebox[\textwidth]{%
\Ifstr{#1}{}{}{#1: #2 \hspace{0.7cm}}%
#3%
\Ifstr{#4}{}{}{~\nr: #4}%
\Ifstr{#5}{}{}{\vom ~ #5}%
\hspace{0.7cm} - \seite ~ \thepage/\letterlastpage ~-%
}%
}
\begingroup
\def\letterlastpage{50}
\ourhead{arg1}{arg2}{arg3}{arg4}{arg5}
\smallskip
Erzeugt mit dem Aufruf
\ourhead{arg1}{arg2}{arg3}{arg4}{arg5}
\endgroup </pre></div><div class="sect3" title="2.14.2.9. Absenderergänzung"><div class="titlepage"><div><div><h4 class="title"><a name="Absendererg%C3%A4nzung"></a>2.14.2.9. Absenderergänzung</h4></div></div></div><p>Die Absenderergänzung wird über die Variable |location| in der |kiviletter.sty| folgendermaßen belegt:</p><pre class="programlisting">
\setkomavar{location}{
\Ifkomavarempty{transaction}{}{{
\usekomafont{transaction}
\usekomavar{transaction}
}
}
\par
\medskip
\parbox{\useplength{locwidth}}{
\locationentry{date}
\locationentry{myref}
\locationentry{customer}
\locationentry{yourref}
\locationentry{delivery}
\locationentry{quote}
\locationentry{orderID}
\locationentry{projectID}
\locationentry{taxpoint}
\locationentry[\ansprechpartner]{fromname}
\locationentry{fromphone}
\locationentry*{fromemail}
}
} </pre><p>Um die Reihenfolge der Variablenausgabe zu verändern, kann diese Definition als Basis in
die <code class="filename">insettings.tex</code> oder <code class="filename">ident.tex</code> (Falls nur für eine Firma) kopiert und dort entsprechend modifiziert werden.</p><p>Das Vorgehen geht für alle vorbelegten Variablen analog.</p></div><div class="sect3" title="2.14.2.10. Allgemeine TeXnische Hinweise"><div class="titlepage"><div><div><h4 class="title"><a name="Allgemeine TeXnische Hinweise"></a>2.14.2.10. Allgemeine TeXnische Hinweise</h4></div></div></div><div class="sect4" title="2.14.2.10.1. Änderung der Basisschriftart"><div class="titlepage"><div><div><h5 class="title"><a name="%C3%84nderung der Basisschriftart"></a>2.14.2.10.1. Änderung der Basisschriftart</h5></div></div></div><p>\LaTeX{} kann grundsätzlich beliebige Schriftarten verwenden. Hierfür sollte allerdings immer darauf geachtet werden,
dass die Lizenz der Schriftart das einbetten von Glyphen erlaubt. Dies liegt in der Verantwortung der Anwender*innen.
Darüber hinaus ist wichtig, welches Kompilierungsprogramm verwendet werden muss. Um TrueType oder OpenType Schriftarten
zu nutzen sollte |lualatex| verwendet werden. Bei Type1 Schriftarten, die speziell für \LaTeX{} installiert wurden, ist pdfLaTeX möglich.
Da man heutzutage nur noch moderne Schriftformate Verwenden sollte, wird hier lediglich die Variante für |lualatex| aufgelistet.</p><p>Die Konfiguration läuft hierbei über das \pck{fontspec} Paket (Doku siehe \cite{fontspec}).
Dann hängt es davon ab, ob die Basisschriftart eine Serifenschriftart ist oder nicht.
In jedem Fall wird die Änderung entweder in der <code class="filename">insettings.tex</code>, sofern sie für alle
Mandant*innen gelten soll oder in der Mantant*innenspezifischen Konfigurationsdatei gsesetzt.</p><div class="sect5" title="2.14.2.10.1.1. Änderung, falls es ein Schriftpaket gibt"><div class="titlepage"><div><div><h6 class="title"><a name="d0e2907"></a>2.14.2.10.1.1. Änderung, falls es ein Schriftpaket gibt</h6></div></div></div><p>Wenn möglich sollte die Schriftart über ein entsprechendes Konfigurationspaket gesetzt werden.
Ob ein solches existiert kann man sehr leicht über eine Suche nach dem Namen unter \url{ctan.org} herausfinden.</p></div><div class="sect5" title="2.14.2.10.1.2. Änderung der Basisschriftart auf eine Schriftart mit Serifen"><div class="titlepage"><div><div><h6 class="title"><a name="d0e2912"></a>2.14.2.10.1.2. Änderung der Basisschriftart auf eine Schriftart mit Serifen</h6></div></div></div><pre class="programlisting">
... Dieser Diff wurde abgeschnitten, weil er die maximale Anzahl anzuzeigender Zeilen überschreitet.

Auch abrufbar als: Unified diff