Dokumentation: Update Instruktionen für openSUSE, Fedora
[kivitendo-erp.git] / doc / dokumentation.xml
index 67c8da2..ab677c9 100644 (file)
@@ -2,7 +2,7 @@
 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
 <book id="kivitendo-documentation" lang="de">
-  <title>kivitendo 3.3.0: Installation, Konfiguration, Entwicklung</title>
+  <title>kivitendo 3.4.0: Installation, Konfiguration, Entwicklung</title>
 
   <chapter id="Aktuelle-Hinweise">
     <title>Aktuelle Hinweise</title>
 
     <itemizedlist>
       <listitem>
-        <para>im kivitendo-Forum: <ulink
-        url="https://forum.kivitendo.org:32443">https://forum.kivitendo.org:32443</ulink></para>
+        <para>im Community-Forum: <ulink
+        url="https://forum.kivitendo.de:32443">https://forum.kivitendo.de:32443</ulink></para>
+      </listitem>
+      <listitem>
+        <para>im Kunden-Forum: <ulink
+        url="http://redmine.kivitendo-premium.de/projects/forum/boards/">http://redmine.kivitendo-premium.de/projects/forum/boards/</ulink></para>
       </listitem>
       <listitem>
         <para>in der doc/UPGRADE Datei im doc-Verzeichnis der Installation</para>
@@ -78,7 +82,7 @@
         ohne große Probleme auf den derzeit aktuellen verbreiteten
         Distributionen läuft.</para>
 
-        <para>Anfang 2014 sind das folgende Systeme, von denen bekannt ist,
+        <para>Anfang 2016 sind das folgende Systeme, von denen bekannt ist,
         dass kivitendo auf ihnen läuft:</para>
 
         <itemizedlist>
             <para>Debian</para>
             <itemizedlist>
                <listitem>
-                 <para>6.0 "Squeeze" (hier muss allerdings das Modul FCGI in der Version >= 0.72 compiled werden, und <literal>Rose::DB::Object</literal> ist zu alt)</para>
+                 <para>7.0 "Wheezy"</para>
                </listitem>
                <listitem>
-                 <para>7.0 "Wheezy"</para>
+                 <para>8.0 "Jessie"</para>
                </listitem>
             </itemizedlist>
           </listitem>
 
           <listitem>
-            <para>Ubuntu 12.04 LTS "Precise Pangolin", 12.10 "Quantal Quetzal", 13.04 "Precise Pangolin" und 14.04 "Trusty Tahr" LTS Alpha</para>
+            <para>Ubuntu 12.04 LTS "Precise Pangolin", 14.04 "Trusty Tahr" LTS, 15.10 "Wily Werewolf" und 16.04 "Xenial Xerus" LTS Alpha </para>
           </listitem>
 
           <listitem>
-            <para>openSUSE 12.2, 12.3 und 13.1</para>
+            <para>openSUSE LEAP 42.1</para>
           </listitem>
 
           <listitem>
-            <para>SuSE Linux Enterprice Server 11</para>
-          </listitem>
-
-          <listitem>
-            <para>Fedora 16 bis 19</para>
+            <para>Fedora 22</para>
           </listitem>
         </itemizedlist>
       </sect2>
 
           <listitem><para><literal>Archive::Zip</literal></para></listitem>
 
+          <listitem><para><literal>Algorithm::CheckDigits</literal></para></listitem>
+
+          <listitem><para><literal>CGI</literal></para></listitem>
+
+          <listitem><para><literal>Clone</literal></para></listitem>
+
           <listitem><para><literal>Config::Std</literal></para></listitem>
 
           <listitem><para><literal>DateTime</literal></para></listitem>
 
+          <listitem><para><literal>DateTime::Format::Strptime</literal></para></listitem>
+
           <listitem><para><literal>DBI</literal></para></listitem>
 
           <listitem><para><literal>DBD::Pg</literal></para></listitem>
 
           <listitem><para><literal>File::Copy::Recursive</literal></para></listitem>
 
+          <listitem><para><literal>GD</literal></para></listitem>
+
+          <listitem><para><literal>HTML::Parser</literal></para></listitem>
+
+          <listitem><para><literal>HTML::Restrict</literal></para></listitem>
+
+          <listitem><para><literal>Image::Info</literal></para></listitem>
+
           <listitem><para><literal>JSON</literal></para></listitem>
 
           <listitem><para><literal>List::MoreUtils</literal></para></listitem>
 
+          <listitem><para><literal>List::UtilsBy</literal></para></listitem>
+
           <listitem><para><literal>Net::SMTP::SSL</literal> (optional, bei E-Mail-Versand über SSL; siehe Abschnitt "<xref
           linkend="config.sending-email.smtp"/>")</para></listitem>
 
 
           <listitem><para><literal>Params::Validate</literal></para></listitem>
 
+          <listitem><para><literal>PBKDF2::Tiny</literal></para></listitem>
+
           <listitem><para><literal>PDF::API2</literal></para></listitem>
 
           <listitem><para><literal>Rose::Object</literal></para></listitem>
 
           <listitem><para><literal>Rose::DB::Object</literal> Version 0.788 oder neuer</para></listitem>
 
+          <listitem><para><literal>String::ShellQuote</literal></para></listitem>
+
+          <listitem><para><literal>Sort::Naturally</literal></para></listitem>
+
           <listitem><para><literal>Template</literal></para></listitem>
 
           <listitem><para><literal>Text::CSV_XS</literal></para></listitem>
           <listitem><para><literal>YAML</literal></para></listitem>
         </itemizedlist>
 
+        <para>Seit Version v3.4.0 sind die folgenden Pakete hinzugekommen: <literal>Algorithm::CheckDigits</literal><literal>PBKDF2::Tiny</literal></para>
         <para>Seit Version v3.2.0 sind die folgenden Pakete hinzugekommen: <literal>GD</literal>, <literal>HTML::Restrict</literal>, <literal>Image::Info</literal></para>
         <para>Seit v3.0.0 sind die folgenden Pakete hinzugekommen: <literal>File::Copy::Recursive</literal>.</para>
 
   librose-db-perl librose-object-perl libsort-naturally-perl \
   libstring-shellquote-perl libtemplate-perl libtext-csv-xs-perl \
   libtext-iconv-perl liburi-perl libxml-writer-perl libyaml-perl \
-  libimage-info-perl libgd-gd2-perl \
-  libfile-copy-recursive-perl postgresql</programlisting>
+  libimage-info-perl libgd-gd2-perl libapache2-mod-fcgid \
+  libfile-copy-recursive-perl postgresql libalgorithm-checkdigits-perl \
+  libcrypt-pbkdf2-perl git
+</programlisting>
 
           <para>Für das Paket HTML::Restrict gibt es kein Debian-Paket, dies muß per CPAN installiert werden. Unter Ubuntu funktioniert das mit:</para>
           <programlisting>apt-get install build-essential
@@ -231,22 +258,22 @@ cpan HTML::Restrict</programlisting>
         </sect3>
 
         <sect3>
-          <title>Fedora Core</title>
+          <title>Fedora</title>
 
-          <para>Für Fedora Core stehen die meisten der benötigten Perl-Pakete als RPM-Pakete zur Verfügung. Sie können mit folgendem Befehl installiert werden:</para>
+          <para>Für Fedora stehen die meisten der benötigten Perl-Pakete als RPM-Pakete zur Verfügung. Sie können mit folgendem Befehl installiert werden:</para>
 
-          <programlisting>yum install httpd perl-Archive-Zip perl-Clone perl-DBD-Pg \
+          <programlisting>dnf install httpd mod_fcgid perl-Archive-Zip perl-Clone perl-DBD-Pg \
   perl-DBI perl-DateTime perl-Email-Address perl-Email-MIME perl-FCGI \
   perl-File-Copy-Recursive perl-JSON perl-List-MoreUtils perl-Net-SMTP-SSL perl-Net-SSLGlue \
   perl-PDF-API2 perl-Params-Validate perl-Rose-DB perl-Rose-DB-Object \
   perl-Rose-Object perl-Sort-Naturally perl-String-ShellQuote \
   perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI \
-  perl-XML-Writer perl-YAML perl-parent postgresql-server</programlisting>
+  perl-XML-Writer perl-YAML perl-parent postgresql-server perl-CPAN \
+  perl-Algorithm-CheckDigits perl-GD perl-Class-XSAccessor perl-Text-Balanced</programlisting>
 
           <para>Zusätzlich müssen einige Pakete aus dem CPAN installiert werden. Dazu können Sie die folgenden Befehle nutzen:</para>
 
-          <programlisting>yum install perl-CPAN
-cpan Config::Std</programlisting>
+          <programlisting>cpan Config::Std HTML::Restrict</programlisting>
 
         </sect3>
 
@@ -256,17 +283,17 @@ cpan Config::Std</programlisting>
           <para>Für openSUSE stehen die meisten der benötigten Perl-Pakete als RPM-Pakete zur Verfügung. Sie können mit folgendem Befehl
           installiert werden:</para>
 
-          <programlisting>zypper install apache2 perl-Archive-Zip perl-Clone \
+          <programlisting>zypper install apache2 apache2-mod_fcgid perl-Archive-Zip perl-Clone \
   perl-Config-Std perl-DBD-Pg perl-DBI perl-DateTime perl-Email-Address \
   perl-Email-MIME perl-FastCGI perl-File-Copy-Recursive perl-JSON perl-List-MoreUtils \
   perl-Net-SMTP-SSL perl-Net-SSLGlue perl-PDF-API2 perl-Params-Validate \
   perl-Sort-Naturally perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv \
-  perl-URI perl-XML-Writer perl-YAML postgresql-server</programlisting>
+  perl-URI perl-XML-Writer perl-YAML perl-CPAN \
+  perl-Algorithm-CheckDigits perl-GD perl-Class-XSAccessor postgresql-server</programlisting>
 
           <para>Zusätzlich müssen einige Pakete aus dem CPAN installiert werden. Dazu können Sie die folgenden Befehle nutzen:</para>
 
-          <programlisting>yum install perl-CPAN
-cpan Rose::Db::Object</programlisting>
+          <programlisting>cpan Rose::Db::Object</programlisting>
 
         </sect3>
       </sect2>
@@ -277,11 +304,11 @@ cpan Rose::Db::Object</programlisting>
       <title>Manuelle Installation des Programmpaketes</title>
       <para>Der aktuelle Stable-Release, bzw. beta Release wird bei github gehostet und kann
  <ulink url="https://github.com/kivitendo/kivitendo-erp/releases">hier</ulink> heruntergeladen werden.</para>
-      <para>Die kivitendo ERP Installationsdatei (<filename>kivitendo-erp-3.3.0.tgz</filename>) wird im Dokumentenverzeichnis des Webservers
+     <para>Die kivitendo ERP Installationsdatei (<filename>kivitendo-erp-3.4.0.tgz</filename>) wird im Dokumentenverzeichnis des Webservers
       (z.B.  <filename>/var/www/html/</filename>, <filename>/srv/www/htdocs</filename> oder <filename>/var/www/</filename>) entpackt:</para>
 
       <programlisting>cd /var/www
-tar xvzf kivitendo-erp-3.3.0.tgz</programlisting>
+tar xvzf kivitendo-erp-3.4.0.tgz</programlisting>
 
       <para>Wechseln Sie in das entpackte Verzeichnis:</para>
 
@@ -298,7 +325,7 @@ tar xvzf kivitendo-erp-3.3.0.tgz</programlisting>
       <para>Die Verzeichnisse <filename>users</filename>, <filename>spool</filename> und <filename>webdav</filename> müssen für den Benutzer
       beschreibbar sein, unter dem der Webserver läuft. Die restlichen Dateien müssen für diesen Benutzer lesbar sein. Die Benutzer- und
       Gruppennamen sind bei verschiedenen Distributionen unterschiedlich (z.B. bei Debian/Ubuntu <constant>www-data</constant>, bei Fedora
-      core <constant>apache</constant> oder bei OpenSUSE <constant>wwwrun</constant>).</para>
+      <constant>apache</constant> oder bei OpenSUSE <constant>wwwrun</constant>).</para>
 
       <para>Der folgende Befehl ändert den Besitzer für die oben genannten
       Verzeichnisse auf einem Debian/Ubuntu-System:</para>
@@ -309,6 +336,21 @@ tar xvzf kivitendo-erp-3.3.0.tgz</programlisting>
       Unterverzeichnisse für jeden neuen Benutzer anlegen dürfen, der in kivitendo angelegt wird:</para>
 
       <programlisting>chown www-data templates users</programlisting>
+        <note>
+         <para>Wir empfehlen eine Installation mittels des Versionsmanagager git. Hierfür muss ein git-Client installiert sein.
+          Damit ist man sehr viel flexibler für zukünftige Upgrades.
+          Installations-Anleitung (bitte die Pfade anpassen) bspw. wie folgt:
+          <programlisting>cd /usr/local/src/
+git clone https://github.com/kivitendo/kivitendo-erp.git
+cd kivitendo-erp/
+git checkout `git tag -l | egrep -ve "(beta|rc)" | tail -1`</programlisting>
+          Sehr sinnvoll ist es, direkt im Anschluss einen eigenen Branch zu erzeugen, um bspw. seine eigenen Druckvorlagen-Anpassungen
+          damit zu verwalten. Hierfür reicht ein simples
+          <programlisting>  git checkout -b meine_eigenen_änderungen</programlisting>
+          nach dem letzten Kommando (weiterführende Informationen
+<ulink          url="http://git-scm.com/book/en/v2/Getting-Started-Git-Basics">getting started with git</ulink>).
+         </para>
+        </note>
     </sect1>
 
     <sect1 id="config.config-file">
@@ -415,10 +457,8 @@ password =</programlisting>
         <para>kivitendo bringt eine eigene Komponente zur zeitgesteuerten Ausführung bestimmter Aufgaben mit, den <link
         linkend="config.task-server">Taskserver</link>. Er wird u.a. für Features wie die <link
         linkend="features.periodic-invoices">wiederkehrenden Rechnungen</link> benötigt, erledigt aber auch andere erforderliche Aufgaben
-        und muss daher in Betrieb genommen werden. Der Taskserver benötigt zwei Konfigurationseinstellungen, die unter
-        <varname>[task_server]</varname> anzugeben sind: ein Mandant (entweder der Mandantenname oder eine Datenbank-ID, Variable
-        <varname>client</varname>), aus dem die Datenbankkonfiguration entnommen wird, sowie ein Login (Variable <varname>login</varname>)
-        eines Benutzers, der für gewisse Dinge wie die Rechnungserstellung als Verkäufer eingetragen wird.</para>
+        und muss daher in Betrieb genommen werden. Seine Einrichtung wird im Abschnitt <link linkend="config.task-server">Task-Server</link>
+        genauer beschrieben.</para>
 
         <para>Für Entwickler finden sich unter <varname>[debug]</varname>
         wichtige Funktionen, um die Fehlersuche zu erleichtern.</para>
@@ -513,8 +553,15 @@ psql template1</programlisting>
 
         führen Sie die folgenden Kommandos aus:</para>
 
-        <programlisting>create language 'plpgsql';
+        <programlisting>CREATE EXTENSION IF NOT EXISTS plpgsql;
+\q</programlisting>
+
+       <note>
+        <para><literal>CREATE EXTENSION</literal> ist seit Version 9.1 die bevorzugte Syntax um die Sprache <literal>plpgsql</literal> anzulegen. In diesen Versionen ist die Extension meist auch schon vorhanden. Sollten Sie eine ältere Version von Postgres haben, benutzen Sie stattdessen den folgenden Befehl.</para>
+        <programlisting>CREATE LANGUAGE 'plpgsql';
 \q</programlisting>
+       </note>
+
       </sect2>
 
       <sect2 id="Datenbankbenutzer-anlegen">
@@ -556,10 +603,11 @@ exit</programlisting>
         anderen Datei hinzu, die beim Starten des Webservers eingelesen
         wird:</para>
 
-        <programlisting>AddHandler cgi-script .pl
+        <programlisting>AliasMatch ^/kivitendo-erp/[^/]+\.pl /var/www/kivitendo-erp/dispatcher.pl
 Alias /kivitendo-erp/ /var/www/kivitendo-erp/
 
 &lt;Directory /var/www/kivitendo-erp&gt;
+ AddHandler cgi-script .pl
  Options ExecCGI Includes FollowSymlinks
 &lt;/Directory&gt;
 
@@ -574,6 +622,9 @@ Alias /kivitendo-erp/ /var/www/kivitendo-erp/
         <note>
           <para>Vor den einzelnen Optionen muss bei einigen Distributionen ein
           Plus ‘<literal>+</literal>’ gesetzt werden.</para>
+          <para>Bei einigen Distribution (Ubuntu ab 14.04, Debian ab 8.2) muss noch explizit
+          das cgi-Modul mittels <programlisting>a2enmod cgi</programlisting> aktiviert
+          werden.</para>
         </note>
 
         <para>Auf einigen Webservern werden manchmal die Grafiken und
@@ -690,22 +741,20 @@ Alias       /url/for/kivitendo-erp/          /path/to/kivitendo-erp/
 &lt;Directory /path/to/kivitendo-erp&gt;
   AllowOverride All
   Options ExecCGI Includes FollowSymlinks
-  Order Allow,Deny
-  Allow from All
+  Require all granted
 &lt;/Directory&gt;
 
 &lt;DirectoryMatch /path/to/kivitendo-erp/users&gt;
-  Order Deny,Allow
-  Deny from All
+Require all granted
 &lt;/DirectoryMatch&gt;</programlisting>
 
           <warning>
-            <para>Im Vergleich zu Apache 2.2 hat sich in Apache 2.4 die Syntax der Directorydirektiven verändert. Statt</para>
+            <para>Wer einen älteren Apache als Version 2.4 im Einsatz hat, muss entsprechend die Syntax der Directorydirektiven verändert. Statt</para>
+              <programlisting>Require all granted</programlisting>
+            <para> muß man Folgendes einstellen:</para>
               <programlisting>
   Order Allow,Deny
   Allow from All </programlisting>
-            <para> muß man jetzt Folgendes einstellen:</para>
-              <programlisting>Require all granted</programlisting>
           </warning>
 
           <para>Seit mod_fcgid-Version 2.3.6 gelten sehr kleine Grenzen für
@@ -756,6 +805,15 @@ Alias       /url/for/kivitendo-erp-fcgid/          /path/to/kivitendo-erp/</prog
           FastCGI-Version.</para>
         </sect3>
       </sect2>
+      <sect2>
+        <title>Weitergehende Konfiguration</title>
+          <para>Für einen deutlichen Sicherheitsmehrwert sorgt die Ausführung von kivitendo
+          nur über https-verschlüsselten Verbindungen, sowie weiteren Zusatzmassnahmen,
+          wie beispielsweise Basic Authenticate.
+          Die Konfigurationsmöglichkeiten sprengen allerdings den Rahmen dieser Anleitung, hier ein
+          Hinweis auf einen entsprechenden <ulink
+        url="http://redmine.kivitendo-premium.de/boards/1/topics/142">Foreneintrag (Stand Sept. 2015)</ulink></para>
+      </sect2>
     </sect1>
 
     <sect1 id="config.task-server">
@@ -765,6 +823,12 @@ Alias       /url/for/kivitendo-erp-fcgid/          /path/to/kivitendo-erp/</prog
       diese zu festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser Prozess wird u.a. für die Erzeugung der wiederkehrenden
       Rechnungen und weitere essenzielle Aufgaben benutzt.</para>
 
+      <para>Der Task-Server muss einmalig global in der Konfigurationsdatei konfiguriert werden. Danach wird er für jeden Mandanten, für den
+      er laufen soll, in der Adminsitrationsmaske eingeschaltet.</para>
+
+      <para>Beachten Sie, dass der Task-Server in den Boot-Vorgang Ihres Servers integriert werden muss, damit er automatisch gestartet
+      wird. Dies kann kivitendo nicht für Sie erledigen.</para>
+
       <sect2 id="Konfiguration-des-Task-Servers">
         <title>Verfügbare und notwendige Konfigurationsoptionen</title>
 
@@ -774,28 +838,6 @@ Alias       /url/for/kivitendo-erp-fcgid/          /path/to/kivitendo-erp/</prog
         Optionen sind:</para>
 
         <variablelist>
-          <varlistentry>
-            <term><varname>client</varname></term>
-
-            <listitem>
-              <para>Name oder Datenbank-ID eines vorhandenen kivitendo-Mandanten, der benutzt wird, um die zu verwendende
-              Datenbankverbindung auszulesen. Der Mandant muss in der Administration angelegt werden. Diese Option muss angegeben
-              werden.</para>
-
-              <para>Diese Option kam mit Release v3.x.0 hinzu und muss daher in Konfigurationen, die von älteren Versionen aktualisiert
-              wurden, ergänzt werden.</para>
-            </listitem>
-          </varlistentry>
-
-          <varlistentry>
-            <term><varname>login</varname></term>
-
-            <listitem>
-              <para>gültiger kivitendo-Benutzername, der z.B. als Verkäufer beim Erzeugen wiederkehrender Rechnungen benötigt wird. Der
-              Benutzer muss in der Administration angelegt werden. Diese Option muss angegeben werden.</para>
-            </listitem>
-          </varlistentry>
-
           <varlistentry>
             <term><varname>run_as</varname></term>
 
@@ -806,7 +848,7 @@ Alias       /url/for/kivitendo-erp-fcgid/          /path/to/kivitendo-erp/</prog
               Lese- und Schreibrechte haben, wie auch der Webserverbenutzer
               (siehe see <xref
               linkend="Manuelle-Installation-des-Programmpaketes" />). Daher
-              ist es sinnvoll, hier denselben Systembenutzer einzutragen,
+              ist es erforderlich, hier denselben Systembenutzer einzutragen,
               unter dem auch der Webserver läuft.</para>
             </listitem>
           </varlistentry>
@@ -821,6 +863,17 @@ Alias       /url/for/kivitendo-erp-fcgid/          /path/to/kivitendo-erp/</prog
         </variablelist>
       </sect2>
 
+      <sect2 id="Konfiguration-der-Mandanten-fuer-den-Task-Servers">
+        <title>Konfiguration der Mandanten für den Task-Server</title>
+
+        <para>Ist der Task-Server grundlegend konfiguriert, so muss anschließend jeder Mandant, für den der Task-Server laufen soll,
+        einmalig konfiguriert werden. Dazu kann in der Maske zum Bearbeiten von Mandanten im Administrationsbereich eine
+        kivitendo-Benutzerkennung ausgewählt werden, unter der der Task-Server seine Arbeit verrichtet.</para>
+
+        <para>Ist in dieser Einstellung keine Benutzerkennung ausgewählt, so wird der Task-Server für diesen Mandanten keine Aufgaben
+        ausführen.</para>
+      </sect2>
+
       <sect2 id="Einbinden-in-den-Boot-Prozess">
         <title>Automatisches Starten des Task-Servers beim Booten</title>
 
@@ -835,7 +888,7 @@ Alias       /url/for/kivitendo-erp-fcgid/          /path/to/kivitendo-erp/</prog
         anstelle eines symbolischen Links verwendet werden können.</para>
 
         <sect3>
-          <title>SystemV-basierende Systeme (z.B. Debian, ältere OpenSUSE, ältere Fedora Core)</title>
+          <title>SystemV-basierende Systeme (z.B. Debian, ältere OpenSUSE, ältere Fedora)</title>
 
           <para>Kopieren Sie die Datei
           <filename>scripts/boot/system-v/kivitendo-task-server</filename>
@@ -854,7 +907,7 @@ insserv kivitendo-task-server</programlisting>
             </listitem>
 
             <listitem>
-              <para>Ältere OpenSUSE und ältere Fedora Core:</para>
+              <para>Ältere OpenSUSE und ältere Fedora:</para>
 
               <programlisting>chkconfig --add kivitendo-task-server</programlisting>
             </listitem>
@@ -867,7 +920,7 @@ insserv kivitendo-task-server</programlisting>
         </sect3>
 
         <sect3>
-          <title>Upstart-basierende Systeme (z.B. Ubuntu)</title>
+          <title>Upstart-basierende Systeme (z.B. Ubuntu bis 14.04)</title>
 
           <para>Kopieren Sie die Datei
           <filename>scripts/boot/upstart/kivitendo-task-server.conf</filename>
@@ -882,7 +935,7 @@ insserv kivitendo-task-server</programlisting>
         </sect3>
 
         <sect3>
-          <title>systemd-basierende Systeme (z.B. neure OpenSUSE, neuere Fedora Core)</title>
+          <title>systemd-basierende Systeme (z.B. neure OpenSUSE, neuere Fedora, neuere Ubuntu)</title>
 
           <para>Verlinken Sie die Datei <filename>scripts/boot/systemd/kivitendo-task-server.service</filename> nach
           <filename>/etc/systemd/system/</filename>. Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile
@@ -940,20 +993,6 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/</programlisting>
         <para>Dieselben Optionen können auch für die SystemV-basierenden
         Runlevel-Scripte benutzt werden (siehe oben).</para>
       </sect2>
-      <sect2 id="Prozesskontrolle2">
-        <title>Task-Server mit mehreren Mandanten</title>
-
-        <para>Beim Task-Server werden der zu verwendende Mandant und Login-Name des Benutzers, unter dem der Task-Server laufen soll, in die
-        Konfigurationsdatei geschrieben. Hat man mehrere Mandanten, muss man auch mehrere Konfigurationsdateien anlegen.</para>
-
-        <para>Die Konfigurationsdatei ist eine Kopie der Datei kivitendo.conf, wo in der Kategorie <varname>[task_server]</varname> die
-        gewünschten Werte für <varname>client</varname> und <varname>login</varname> eingetragen werden.</para>
-
-        <para>Der alternative Task-Server wird dann mit folgendem Befehl
-        gestartet:</para>
-
-        <programlisting>./scripts/task_server.pl -c config/DATEINAME.conf</programlisting>
-      </sect2>
     </sect1>
 
     <sect1 id="Benutzerauthentifizierung-und-Administratorpasswort">
@@ -992,7 +1031,7 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/</programlisting>
       <sect2 id="Administratorpasswort">
         <title>Administratorpasswort</title>
 
-        <para>Das Passwort, das zum Zugriff auf das Aministrationsinterface
+        <para>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 <varname>admin_password</varname> im
@@ -1067,7 +1106,7 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/</programlisting>
         <para>Sollen die Benutzerpasswörter in der Authentifizierungsdatenbank
         gespeichert werden, so muss der Parameter <varname>module</varname>
         den Wert <literal>DB</literal> enthalten. In diesem Fall können sowohl
-        der Administrator als auch die Benutzer selber ihre Psaswörter in
+        der Administrator als auch die Benutzer selber ihre Passwörter in
         kivitendo ändern.</para>
 
         <para>Soll hingegen ein externer LDAP- oder Active-Directory-Server
@@ -1408,18 +1447,6 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/</programlisting>
             Verschlüsselung aktiviert werden.</para></listitem>
           </varlistentry>
         </variablelist>
-
-        <para>Wird Verschlüsselung über TLS oder SSL aktiviert, so werden zusätzliche Perl-Module benötigt. Diese sind:</para>
-
-        <itemizedlist>
-          <listitem><para>TLS-Verschlüsselung: Modul <literal>Net::SSLGlue</literal> (Debian-Paketname
-          <literal>libnet-sslglue-perl</literal>, Fedora Core: <literal>perl-Net-SSLGlue</literal>, openSUSE:
-          <literal>perl-Net-SSLGlue</literal></para></listitem>
-
-          <listitem><para>SSL-Verschlüsselung: Modul <literal>Net::SMTP::SSL</literal> (Debian-Paketname
-          <literal>libnet-smtp-ssl-perl</literal>, Fedora Core: <literal>perl-Net-SMTP-SSL</literal>, openSUSE:
-          <literal>perl-Net-SMTP-SSL</literal></para></listitem>
-        </itemizedlist>
       </sect2>
     </sect1>
 
@@ -1430,18 +1457,30 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/</programlisting>
       LaTeX System. Am einfachsten ist dazu eine <literal>texlive</literal> Installation. Unter debianoiden Betriebssystemen installiert man
       die Pakete mit:</para>
 
-      <para><programlisting>aptitude install texlive-base-bin texlive-latex-recommended texlive-fonts-recommended \
-  texlive-latex-extra texlive-lang-german texlive-generic-extra</programlisting></para>
+      <para><programlisting>apt-get install texlive-base-bin texlive-latex-recommended texlive-fonts-recommended \
+  exlive-latex-extra texlive-lang-german texlive-generic-extra</programlisting></para>
 
-      <para>TODO: RPM-Pakete.</para>
+      <para>Für Fedora benötigen Sie die folgenden Pakete:</para>
+
+      <para><programlisting>dnf install texlive-collection-latex texlive-collection-latexextra \
+  texlive-collection-latexrecommended texlive-collection-langgerman \
+  texlive-collection-langenglish</programlisting></para>
+
+      <para>Für openSUSE benötigen Sie die folgenden Pakete:</para>
+
+      <para><programlisting>zypper install texlive-collection-latex texlive-collection-latexextra \
+  texlive-collection-latexrecommended texlive-collection-langgerman \
+  texlive-collection-langenglish</programlisting></para>
 
       <para>kivitendo bringt drei alternative Vorlagensätze mit:</para>
       <itemizedlist>
-        <listitem><para>Standard</para></listitem>
-        <listitem><para>f-tex</para></listitem>
         <listitem><para>RB</para></listitem>
+        <listitem><para>f-tex</para></listitem>
+        <listitem><para>rev-odt</para></listitem>
       </itemizedlist>
 
+      <para>Der ehemalige Druckvorlagensatz "Standard" wurde mit der Version 3.3 entfernt, da er nicht mehr gepflegt wurde.</para>
+
       <sect2 id="Vorlagenverzeichnis-anlegen" xreflabel="Vorlagenverzeichnis anlegen">
         <title>Vorlagenverzeichnis anlegen</title>
         <para>Es lässt sich ein initialer Vorlagensatz erstellen. Die LaTeX-System-Abhängigkeiten hierfür kann man prüfen mit:</para>
@@ -1458,7 +1497,7 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/</programlisting>
 
         <orderedlist>
           <listitem><para><option>Vorlagen auswählen</option>: Wählen Sie hier den Vorlagensatz aus, der kopiert werden soll
-          (<filename>Standard</filename>, <filename>f-tex</filename> oder <filename>RB</filename>.)</para></listitem>
+          (<filename>RB</filename>, <filename>f-tex</filename> oder <filename>odt-rev</filename>.)</para></listitem>
           <listitem><para><option>Neuer Name</option>: Der Verzeichnisname für den neuen Vorlagensatz. Dieser kann im Rahmen der üblichen
           Bedingungen für Verzeichnisnamen frei gewählt werden.</para></listitem>
         </orderedlist>
@@ -1470,11 +1509,22 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/</programlisting>
 
 
       </sect2>
-      <sect2 id="Vorlagen-Standard">
-        <title>Standard</title>
 
-        <para>Der Standard-Vorlagensatz von kivitendo. Wie unter <ulink url="https://www.kivitendo.de">https://www.kivitendo.de</ulink> zu
-        sehen.</para>
+      <sect2 id="Vorlagen-RB">
+        <title>Der Druckvorlagensatz RB</title>
+
+        <para>Hierbei handelt es sich um einen vollständigen LaTeX Dokumentensatz mit alternativem Design. Die odt oder html-Varianten sind nicht gepflegt.</para>
+        <para>Die konzeptionelle Idee der Vorlagen wird <ulink
+          url="http://www.kivitendo-support.de/vortraege/Lx-Office%20Anwendertreffen%20LaTeX-Druckvorlagen-Teil3-finale.pdf">hier</ulink>
+          auf Folie 5 bis 10 vorgestellt. Informationen zur Anpassung an die eigenen Firmendaten finden sich in der Datei Readme.tex im Vorlagenverzeichnis.</para>
+
+        <para>Eine kurze Übersicht der Features:</para>
+          <itemizedlist>
+            <listitem><para>Mehrsprachenfähig, mit Deutscher und Englischer Übersetzung</para></listitem>
+            <listitem><para>Zentrale Konfigurationsdateien, die für alle Belege benutzt werden, z.B. für Kopf- und Fußzeilen, und Infos wie Bankdaten</para></listitem>
+            <listitem><para>mehrere vordefinierte Varianten für Logos/Hintergrundbilder</para></listitem>
+            <listitem><para>Berücksichtigung für Steuerzonen "EU mit USt-ID Nummer" oder "Außerhalb EU"</para></listitem>
+          </itemizedlist>
 
       </sect2>
 
@@ -1634,21 +1684,43 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/</programlisting>
         </sect3>
       </sect2>
 
-      <sect2 id="Vorlagen-RB">
-        <title>Der Druckvorlagensatz RB</title>
+      <sect2 id="Vorlagen-rev-odt">
+        <title>Der Druckvorlagensatz rev-odt</title>
 
-        <para>Hierbei handelt es sich um einen vollständigen \LaTeX Dokumentensatz mit alternativem Design. Die odt oder html-Varianten sind nicht gepflegt.</para>
-        <para>Die konzeptionelle Idee der Vorlagen wird <ulink
-          url="http://www.kivitendo-support.de/vortraege/Lx-Office%20Anwendertreffen%20LaTeX-Druckvorlagen-Teil3-finale.pdf">hier</ulink>
-          auf Folie 5 bis 10 vorgestellt. Informationen zur Anpassung an die eigenen Firmendaten finden sich in der Datei Readme.tex im Vorlagenverzeichnis.</para>
+        <para>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".
+        </para>
 
-        <para>Eine kurze Übersicht der Features:</para>
-          <itemizedlist>
-            <listitem><para>Mehrsprachenfähig, mit Deutscher und Englischer Übersetzung</para></listitem>
-            <listitem><para>Zentrale Konfigurationsdateien, die für alle Belege benutzt werden, z.B. für Kopf- und Fußzeilen, und Infos wie Bankdaten</para></listitem>
-            <listitem><para>mehrere vordefinierte Varianten für Logos/Hintergrundbilder</para></listitem>
-            <listitem><para>Berücksichtigung für Steuerzonen "EU mit USt-ID Nummer" oder "Außerhalb EU"</para></listitem>
-          </itemizedlist>
+<para>
+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.
+</para>
+<para>
+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.
+</para>
+<para>
+Zur Zeit gibt es in kivitendo noch keine Möglichkeit, odt-Vorlagen bei Mahnungen
+einzusetzen. Entsprechende Vorlagen sind deshalb nicht vorhanden.
+</para>
+<para>
+Inwieweit es möglich ist, für die in Version 3.2.0 neu eingeführten Pflichtenhefte
+odt-Vorlagen zu erstellen, sind wir am abklären.
+Wenn dies möglich ist, werden wir in Zukunft auch eine odt-Vorlage für Pflichtenhefte
+in diesem Vorlagensatz zur Verfügung stellen.
+</para>
+<para>
+Fehlermeldungen, Anregungen und Wünsche bitte senden an:
+empfang@revamp-it.ch
+</para>
 
       </sect2>
 
@@ -2131,7 +2203,7 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/</programlisting>
     <title>Features und Funktionen</title>
 
     <sect1 id="features.periodic-invoices"
-           xreflabel="Wiedekehrende Rechnungen">
+           xreflabel="Wiederkehrende Rechnungen">
       <title>Wiederkehrende Rechnungen</title>
 
       <sect2 id="features.periodic-invoices.introduction"
@@ -2531,7 +2603,21 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/</programlisting>
         manuell über den Workflow.</para>
       </sect2>
     </sect1>
-        <sect1 id="dokumentenvorlagen-und-variablen">
+    <sect1 id="features.bank"
+           xreflabel="bankerweiterung">
+      <title>Bankerweiterung</title>
+
+      <sect2 id="features.bank.introduction"
+             xreflabel="Einführung in die Bankerweiterung">
+        <title>Einführung</title>
+
+        <para>Die Beschreibung der Bankerweiterung befindet sich derzeit noch im Wiki und soll von dort später hierhin übernommen werden:</para>
+
+        <para><ulink
+        url="http://redmine.kivitendo-premium.de/projects/forum/wiki/Bankerweiterung">http://redmine.kivitendo-premium.de/projects/forum/wiki/Bankerweiterung</ulink></para>
+      </sect2>
+    </sect1>
+    <sect1 id="dokumentenvorlagen-und-variablen">
       <title>Dokumentenvorlagen und verfügbare Variablen</title>
 
       <sect2 id="dokumentenvorlagen-und-variablen.einführung">
@@ -2860,7 +2946,7 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/</programlisting>
               <term><varname>template_meta.language.template_code</varname></term>
 
               <listitem>
-                <para>Vorlagenürzel der verwendeten Sprache, identisch mit dem
+                <para>Vorlagenkürzel der verwendeten Sprache, identisch mit dem
                 Kürzel das im Dateinamen verwendetet wird.</para>
               </listitem>
             </varlistentry>
@@ -3161,6 +3247,15 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/</programlisting>
               </listitem>
             </varlistentry>
 
+            <varlistentry>
+              <term><varname>gln</varname></term>
+
+              <listitem>
+                <para>GLN (Globale Lokationsnummer)</para>
+              </listitem>
+            </varlistentry>
+
+
             <varlistentry>
               <term><varname>greeting</varname></term>
 
@@ -3254,7 +3349,7 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/</programlisting>
             </varlistentry>
 
             <varlistentry>
-              <term><varname>shiptodepartment1</varname></term>
+              <term><varname>shiptodepartment_1</varname></term>
 
               <listitem>
                 <para>Abteilung 1 (Lieferadresse) <link
@@ -3263,7 +3358,7 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/</programlisting>
             </varlistentry>
 
             <varlistentry>
-              <term><varname>shiptodepartment2</varname></term>
+              <term><varname>shiptodepartment_2</varname></term>
 
               <listitem>
                 <para>Abteilung 2 (Lieferadresse) <link
@@ -3289,6 +3384,15 @@ ln -s $(pwd)/kivitendo-task-server.service /etc/systemd/system/</programlisting>
               </listitem>
             </varlistentry>
 
+            <varlistentry>
+              <term><varname>shiptogln</varname></term>
+
+              <listitem>
+                <para>GLN (Globale Lokationsnummer) (Lieferadresse) <link
+                linkend="dokumentenvorlagen-und-variablen.anmerkung-shipto">*</link></para>
+              </listitem>
+            </varlistentry>
+
             <varlistentry>
               <term><varname>shiptoname</varname></term>
 
@@ -5132,18 +5236,18 @@ Beschreibung: &lt;%description%&gt;
             </para>
           </listitem>
           <listitem>
-            <para><option>Auslagern ohne Bestandsprüfung</option>Das obige Auslagern schlägt fehl, wenn die entsprechende Menge für
+            <para><option>Auslagern ohne Bestandsprüfung</option> Das obige Auslagern schlägt fehl, wenn die entsprechende Menge für
             die Lagerbewegung nicht vorhanden ist, möchte man dies auch ignorieren und ggf. dann nachpflegen, so kann man eine Negativ-Warenmenge mit dieser Option
             erlauben. Hierfür muss ein entsprechender Lagerplatz (Fehlbestand, o.ä.) konfiguriert sein.</para>
           </listitem>
        </itemizedlist>
         Zusätzliche Funktionshinweise:
          <itemizedlist>
-          <listitem><para><option>Standard-Lagerplatz</option>Ist dieser konfiguriert, wird dies auch als Standard-Voreinstellung bei der Neuerfassung von
+          <listitem><para><option>Standard-Lagerplatz</option> Ist dieser konfiguriert, wird dies auch als Standard-Voreinstellung bei der Neuerfassung von
           Stammdaten-> Waren / Dienstleistung / Erzeugnis verwendet.
           </para>
           </listitem>
-          <listitem><para><option>Standard-Lagerplatz verwenden, falls keiner in Stammdaten definiert</option>Wird beim 'Auslagern über Standardlagerplatz'
+          <listitem><para><option>Standard-Lagerplatz verwenden, falls keiner in Stammdaten definiert</option> Wird beim 'Auslagern über Standardlagerplatz'
           keine Standardlagerplatz zu der Ware gefunden, so wird mit dieser Option einfach der Standardlagerplatz verwendet.
           </para>
           </listitem>
@@ -6097,9 +6201,6 @@ sub run {
         are built. Currently the only language fully supported is German, and
         since most of the internal messages are held in English the English
         version is usable too.</para>
-
-        <para>A stub version of French is included but not functunal at this
-        point.</para>
       </sect2>
 
       <sect2 id="translations-languages.character-set"
@@ -6273,6 +6374,43 @@ filenames</programlisting>
               want to keep this safe somewhere.</para>
             </listitem>
           </varlistentry>
+          <varlistentry>
+            <term>more/all</term>
+
+            <listitem>
+              <para>This subdir and file is not a part of the language package
+              itself.</para>
+
+              <para>If the directory more exists and contains a file called all
+              it will be parsed in addition to the mandatory all (see above).
+              The file is useful if you want to change some translations for
+              the current installation without conflicting further upgrades.
+              The file is not autogenerated and has the same format as the all,
+              but needs another key (more_texts). See the german translation
+              for an example or copy the following code:
+              <programlisting>
+#!/usr/bin/perl
+# -*- coding: utf-8; -*-
+# vim: fenc=utf-8
+
+use utf8;
+
+# These are additional texts for custom translations.
+# The format is the same as for the normal file all, only
+# with another key (more_texts instead of texts).
+# The file has the form of 'english text'  => 'foreign text',
+
+$self->{more_texts} = {
+
+  'Ship via'                    => 'Terms of delivery',
+  'Shipping Point'              => 'Delivery time',
+}
+              </programlisting>
+              </para>
+            </listitem>
+          </varlistentry>
+
+
         </variablelist>
       </sect2>
     </sect1>
@@ -6305,19 +6443,19 @@ filenames</programlisting>
         <para>Für die Ausführung werden neben den für kivitendo eh schon benötigten Module noch weitere Perl-Module benötigt. Diese sind:</para>
 
         <itemizedlist>
-          <listitem><para><literal>Test::Deep</literal> (Debian-Paketname: <literal>libtest-deep-perl</literal>; Fedora Core:
+          <listitem><para><literal>Test::Deep</literal> (Debian-Paketname: <literal>libtest-deep-perl</literal>; Fedora:
           <literal>perl-Test-Deep</literal>; openSUSE: <literal>perl-Test-Deep</literal>)</para></listitem>
-          <listitem><para><literal>Test::Exception</literal> (Debian-Paketname: <literal>libtest-exception-perl</literal>; Fedora Core:
+          <listitem><para><literal>Test::Exception</literal> (Debian-Paketname: <literal>libtest-exception-perl</literal>; Fedora:
           <literal>perl-Test-Exception</literal>; openSUSE: <literal>perl-Test-Exception</literal>)</para></listitem>
-          <listitem><para><literal>Test::Output</literal> (Debian-Paketname: <literal>libtest-output-perl</literal>; Fedora Core:
+          <listitem><para><literal>Test::Output</literal> (Debian-Paketname: <literal>libtest-output-perl</literal>; Fedora:
           <literal>perl-Test-Output</literal>; openSUSE: <literal>perl-Test-Output</literal>)</para></listitem>
           <listitem><para><literal>Test::Harness</literal> 3.0.0 oder höher. Dieses Modul ist ab Perl 5.10.1 Bestandteil der
           Perl-Distribution und kann für frühere Versionen aus dem <ulink url="http://www.cpan.org">CPAN</ulink> bezogen
           werden.</para></listitem>
           <listitem><para><literal>LWP::Simple</literal> aus dem Paket <literal>libwww-perl</literal> (Debian-Panetname:
-          <literal>libwww-perl</literal>; Fedora Core: <literal>perl-libwww-perl</literal>; openSUSE:
+          <literal>libwww-perl</literal>; Fedora: <literal>perl-libwww-perl</literal>; openSUSE:
           <literal>perl-libwww-perl</literal>)</para></listitem>
-          <listitem><para><literal>URI::Find</literal> (Debian-Panetname: <literal>liburi-find-perl</literal>; Fedora Core:
+          <listitem><para><literal>URI::Find</literal> (Debian-Panetname: <literal>liburi-find-perl</literal>; Fedora:
           <literal>perl-URI-Find</literal>; openSUSE: <literal>perl-URI-Find</literal>)</para></listitem>
         </itemizedlist>