<para>Debian</para>
<itemizedlist>
<listitem>
- <para>6.0 "Squeeze" (hier muss allerdings das Modul FCGI in der Version >= 0.72 compiled werden)</para>
+ <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>
</listitem>
<listitem>
<para>7.0 "Wheezy"</para>
</listitem>
<listitem>
- <para>Ubuntu 10.04 LTS "Lucid Lynx", 12.04 LTS "Precise Pangolin" und 12.10 "Oneiric Ocelot"`</para>
+ <para>Ubuntu 12.04 LTS "Precise Pangolin", 12.10 "Quantal Quetzal" und 13.04 "Precise Pangolin"</para>
</listitem>
<listitem>
- <para>openSUSE 12.1 und 12.2</para>
+ <para>openSUSE 12.2 und 12.3</para>
</listitem>
<listitem>
</listitem>
<listitem>
- <para>Fedora 16 und 17</para>
+ <para>Fedora 16 bis 19</para>
</listitem>
</itemizedlist>
</sect2>
<title>Benötigte Perl-Pakete installieren</title>
<para>Zum Betrieb von kivitendo werden zwingend ein Webserver (meist
- Apache) und ein Datenbankserver (PostgreSQL, mindestens v8.2)
+ Apache) und ein Datenbankserver (PostgreSQL, mindestens v8.4)
benötigt.</para>
<para>Zusätzlich benötigt kivitendo einige Perl-Pakete, die nicht Bestandteil einer Standard-Perl-Installation sind. Um zu
<listitem><para><literal>Rose::DB</literal></para></listitem>
- <listitem><para><literal>Rose::DB::Object</literal></para></listitem>
+ <listitem><para><literal>Rose::DB::Object</literal> Version 0.788 oder neuer</para></listitem>
<listitem><para><literal>Template</literal></para></listitem>
<listitem><para><literal>YAML</literal></para></listitem>
</itemizedlist>
+ <para>Seit v3.0.0 sind die folgenden Pakete hinzugekommen: <literal>File::Copy::Recursive</literal>.</para>
+
<para>Seit v2.7.0 sind die folgenden Pakete hinzugekommen: <literal>Email::MIME</literal>, <literal>Net::SMTP::SSL</literal>,
<literal>Net::SSLGlue</literal>.</para>
<para>Andernfalls ist es notwendig, einen neuen Datenbankcluster mit
Unicode-Encoding anzulegen und diesen zu verwenden. Unter Debian und
- Ubuntu kann dies z.B. für PostgreSQL 8.2 mit dem folgenden Befehl
+ Ubuntu kann dies z.B. für PostgreSQL 9.3 mit dem folgenden Befehl
getan werden:</para>
- <programlisting>pg_createcluster --locale=de_DE.UTF-8 --encoding=UTF-8 8.2 clustername</programlisting>
+ <programlisting>pg_createcluster --locale=de_DE.UTF-8 --encoding=UTF-8 9.3 clustername</programlisting>
<para>Die Datenbankversionsnummer muss an die tatsächlich verwendete
Versionsnummer angepasst werden.</para>
<para>Wenn sich das Problem nicht auf Grund der ausgabe im Webbrowser verifizieren lässt:</para>
<itemizedlist>
<listitem>
- <para> editiere [kivitendo-home]/config/kivitendo.conf und ändere "keep_tmp_files" auf 1</para>
+ <para> editiere [kivitendo-home]/config/kivitendo.conf und ändere "keep_temp_files" auf 1</para>
<para><programlisting>keep_temp_files = 1;</programlisting></para>
</listitem>
<listitem>
</varlistentry>
</variablelist>
</sect3>
+
+ <sect3 id="dokumentenvorlagen-und-variablen.allgemein-lieferbedingungen">
+ <title>Variablen für Lieferbedingungen</title>
+
+ <variablelist>
+ <varlistentry>
+ <term><varname>delivery_term</varname></term>
+ <listitem><para>Datenbank-Objekt der Lieferbedingung</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>delivery_term.description</varname></term>
+ <listitem><para>Beschreibung der Lieferbedingung</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><varname>delivery_term.long_description</varname></term>
+ <listitem><para>Langtext bzw. übersetzter Langtext der Lieferbedingung</para></listitem>
+ </varlistentry>
+ </variablelist>
+ </sect3>
</sect2>
<sect2 id="dokumentenvorlagen-und-variablen.invoice">
<itemizedlist>
<listitem><para>Alle Tests liegen im Unterverzeichnis <filename>t/</filename>.</para></listitem>
- <listitem><para>Ein Script (bzw. ein Test) in <filename>f/</filename> enthält einen oder mehrere Testfälle.</para></listitem>
+ <listitem><para>Ein Script (bzw. ein Test) in <filename>t/</filename> enthält einen oder mehrere Testfälle.</para></listitem>
<listitem><para>Alle Dateinamen von Tests enden auf <literal>.t</literal>. Es sind selbstständig ausführbare Perl-Scripte.</para></listitem>
- <listitem><para>Die Test-Suite besteht aus der Gesamtheit aller Tests, sprich aller Scripte in <filename>f/</filename>, deren
+ <listitem><para>Die Test-Suite besteht aus der Gesamtheit aller Tests, sprich aller Scripte in <filename>t/</filename>, deren
Dateiname auf <literal>.t</literal> endet.</para></listitem>
</itemizedlist>
</sect2>
<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>perl-libwww-perl</literal>)</para></listitem>
+ <listitem><para><literal>URI::Find</literal> (Debian-Panetname: <literal>liburi-find-perl</literal>; Fedora Core:
+ <literal>perl-URI-Find</literal>; openSUSE: <literal>perl-URI-Find</literal>)</para></listitem>
</itemizedlist>
+
+ <para>Weitere Voraussetzung ist, dass die Testsuite ihre eigene Datenbank anlegen kann, um Produktivdaten nicht zu gefährden. Dazu
+ müssen in der Konfigurationsdatei im Abschnit <literal>testing/database</literal> Datenbankverbindungsparameter angegeben
+ werden. Der hier angegebene Benutzer muss weiterhin das Recht haben, Datenbanken anzulegen und zu löschen.</para>
</sect2>
<sect2 id="devel.testsuite.execution">
</title>
<para>Es gibt mehrere Möglichkeiten zum Ausführen der Tests: entweder, man lässt alle Tests auf einmal ausführen, oder man führt
- gezielt einzelne Scripte aus. Für beide Fälle gibt es das Helferscript <filename>t/test.sh</filename>.</para>
+ gezielt einzelne Scripte aus. Für beide Fälle gibt es das Helferscript <filename>t/test.pl</filename>.</para>
- <para>Will man die komplette Test-Suite ausführen, so muss man einfach nur <filename>t/test.sh</filename> ohne weitere Parameter aus
+ <para>Will man die komplette Test-Suite ausführen, so muss man einfach nur <filename>t/test.pl</filename> ohne weitere Parameter aus
dem kivitendo-Basisverzeichnis heraus ausführen.</para>
- <para>Um einzelne Test-Scripte auszuführen, übergibt man deren Namen an <filename>t/test.sh</filename>. Beispielsweise:</para>
+ <para>Um einzelne Test-Scripte auszuführen, übergibt man deren Namen an <filename>t/test.pl</filename>. Beispielsweise:</para>
- <programlisting>t/test.sh t/form/format_amount.t t/background_job/known_jobs.t</programlisting>
+ <programlisting>t/test.pl t/form/format_amount.t t/background_job/known_jobs.t</programlisting>
</sect2>
Ideen für neue Test-Scripte, die keine konkreten Funktionen testen
</title>
- <para> Ideen, die abgesehen von Funktions noch nicht umgesetzt wurden:</para>
+ <para> Ideen, die abgesehen von Funktionen noch nicht umgesetzt wurden:</para>
<itemizedlist>
<listitem><para>Überprüfung auf fehlende symbolische Links</para></listitem>
<listitem><para>Namen sind englisch, komplett klein geschrieben und einzelne Wörter mit Unterstrichten getrennt (beispielsweise
<filename>bad_function_params.t</filename>).</para></listitem>
- <listitem><para>Unterverzeichnisse sollten grob nach dem Themenbereich benannt sind, mit dem sich die Scripte darin befassen
+ <listitem><para>Unterverzeichnisse sollten grob nach dem Themenbereich benannt sein, mit dem sich die Scripte darin befassen
(beispielsweise <filename>background_jobs</filename> für Tests rund um Hintergrund-Jobs).</para></listitem>
<listitem><para>Test-Scripte sollten einen überschaubaren Bereich von Funktionalität testen, der logisch zusammenhängend ist