From: Moritz Bunkus Date: Mon, 12 Nov 2012 16:01:12 +0000 (+0100) Subject: Doku: Updates bzgl. Stil, Rechtschreibung, XML-/Docbook-Konformität X-Git-Tag: release-3.0.0beta1~4^2 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=d575e646f595765c667107f8758867280b3bf1a6;p=kivitendo-erp.git Doku: Updates bzgl. Stil, Rechtschreibung, XML-/Docbook-Konformität --- diff --git a/doc/dokumentation.xml b/doc/dokumentation.xml index fbc4f4203..e7547b153 100644 --- a/doc/dokumentation.xml +++ b/doc/dokumentation.xml @@ -565,7 +565,7 @@ Alias /kivitendo-erp/ /var/www/kiviteno-erp/ bestimmte Eingaben von kivitendo. Falls es Probleme mit Umlauten in Ihrere Installation gibt, muss zwingend Version 0.68 oder aber Version 0.72 und neuer eingesetzt werden. - Mit CPAN lässt sie sich die Vorgängerversion wie folgt + Mit CPAN lässt sie sich die Vorgängerversion wie folgt installieren: force install M/MS/MSTROUT/FCGI-0.68.tar.gz @@ -1312,254 +1312,216 @@ insserv kivitendo-task-server Drucken mit kivitendo - 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 texlive Installation. Unter - Debianoiden Betriebssystemen installiert man die Pakete mit: + 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 texlive Installation. Unter Debianoiden Betriebssystemen installiert man + die Pakete mit: - aptitude install \ - texlive-base-bin \ -texlive-latex-recommended \ -texlive-fonts-recommended \ -texlive-latex-extra \ -texlive-lang-german \ -texlive-generic-extra - + aptitude install texlive-base-bin texlive-latex-recommended texlive-fonts-recommended \ + texlive-latex-extra texlive-lang-german texlive-generic-extra - TODO: rpm Pakete. + TODO: RPM-Pakete. - kivitendo bringt 3 alternative Vorlagensätze mit: - - Standard - f-tex - RB - + kivitendo bringt drei alternative Vorlagensätze mit: + + Standard + f-tex + RB + Vorlagenverzeichnis anlegen - Bei einem neuen Benutzer/Mandanten lässt sich einer dieser Vorlagensätze - als Basis für die zu druckenden Dokumente auswählen: + Im Administrationsbereich lässt sich bei einem Benutzer/Mandanten einer dieser Vorlagensätze als Basis für die zu + druckenden Dokumente auswählen. Rufen Sie dazu die Benutzerverwaltung auf. + + Wählen Sie dort einen Benutzer aus oder legen Sie einen neuen an. In der Benutzerbearbeiten-Maske müssen Sie zwei Dinge + angeben: + + + : Der Verzeichnisname für den neuen Vorlagensatz. Dieser kann im Rahmen der üblichen + Bedingungen für Verzeichnisnamen frei gewählt werden. + : Wählen Sie hier den Vorlagensatz aus, der kopiert werden soll + (Standard, f-tex oder RB.) + - unter: -Administration -> Benutzerverwaltung -> [ein Benutzer] - Erzeuge Vorlagen, Name: [Name für das neue Vorlagenverzeichnis] - Vorlagen auswählen: [Default, f-tex oder RB] - -> Speichern - - der gleiche Vorlagensatz kann, wenn er mal angelegt ist, bei mehreren Benutzern verwendet werden. + Der gleiche Vorlagensatz kann, wenn er mal angelegt ist, bei mehreren Benutzern verwendet werden. Die Abhängigkeiten kann man prüfen mit: - /scripts/installation_check.pl -l + + /scripts/installation_check.pl -l - - Default + + Standard - Der standard Vorlagensatz von Kivitendo. Wie unter - http://demo.kivitendo.org zu sehen. + Der Standard-Vorlagensatz von Kivitendo. Wie unter http://demo.kivitendo.org zu + sehen. f-tex - Ein Vorlagensatz, der in Wenigen Minuten alle Dokumente zur stellt. + Ein Vorlagensatz, der in wenigen Minuten alle Dokumente zur Verfügung stellt. - f-tex Feature Übersicht + Feature-Übersicht - Keine Retundanz. Es wird ein und die selbe Latex-Vorlage für alle - briefartigen Dokumente verwendet. Also Angebot, Rechnung, - Performarechnung, Lieferschein, aber eben nicht für Paketaufkleber - etc.. - Leichte Anpassung an das Firmen Layout durch verwendung eines Hintergrund-PDF - dieses kann leicht mit dem eigenen Lieblingsprogramm erstellt werden - (Openoffice, Inkscape, Gimp, Adobe*) - - Hintergrundpdf um schaltbar auf "nur erste Seite" (default) oder "alle Seiten" - (option "bgPdfFirstPageOnly" in Datei letter.lco) - - Hintergrundpdf für Ausdruck auf bereits bedrucktem Briefpapier Abschaltbar, - es wird dann nur bei per email versendeten Dokumenten eingebunden. - (Option "bgPdfEmailOnly" in Datei letter.lco) - - Nutzung der Layout-Funktionen von Latex für Seitenumbruch, - wiederholung von Kopfzeilen, Zwischensummen etc. (danke an Kai-Martin für - die Vorarbeit) - - Anzeige des Empfängerlandes im Adressfeld nur, wenn es vom Land des - eigenen Unternehmens abweicht (also die Rechnung das Land verlässt). - - Multisprachfähig leicht um weitere Sprachen zu erweitern, alle - Übersetzungen in der Datei translatinos.tex. - - Auflistung von Bruttopreisen für Endverbraucher. - + Keine Redundanz. Es wird ein- und dieselbe LaTeX-Vorlage für alle briefartigen Dokumente verwendet. Also + Angebot, Rechnung, Performarechnung, Lieferschein, aber eben nicht für Paketaufkleber etc.. + + Leichte Anpassung an das Firmen-Layout durch verwendung eines Hintergrund-PDF. Dieses kann leicht mit dem + eigenen Lieblingsprogramm erstellt werden (Openoffice, Inkscape, Gimp, Adobe*) + + Hintergrund-PDF umschaltbar auf "nur erste Seite" (Standard) oder "alle Seiten" (Option + "" in Datei letter.lco) + + Hintergrund-PDF für Ausdruck auf bereits bedrucktem Briefpapier abschaltbar. Es wird dann nur bei per E-Mail + versendeten Dokumenten eingebunden (Option "" in Datei + letter.lco). + + Nutzung der Layout-Funktionen von LaTeX für Seitenumbruch, Wiederholung von Kopfzeilen, Zwischensummen + etc. (danke an Kai-Martin Knaak für die Vorarbeit) + + Anzeige des Empfängerlandes im Adressfeld nur, wenn es vom Land des eigenen Unternehmens abweicht (also die + Rechnung das Land verlässt). + + Multisprachfähig leicht um weitere Sprachen zu erweitern, alle Übersetzungen in der Datei + translatinos.tex. + + Auflistung von Bruttopreisen für Endverbraucher. - - f-tex Die Installation + + Die Installation - Vorlagenverzeichnis mit Option f-tex anlegen, siehe: - - Das Vorlagensystem funktioniert jetzt schon, hat allerdings noch einen - Beispiel Briefkopf - - - Erstelle eine pdf-Hintergrund Datei und verlinke sie nach - ./letter_head.pdf - - - Editiere den Bereich "settings" in der datei letter.lco - + Vorlagenverzeichnis mit Option f-tex anlegen, siehe: . Das + Vorlagensystem funktioniert jetzt schon, hat allerdings noch einen Beispiel-Briefkopf. + + Erstelle eine pdf-Hintergrund Datei und verlinke sie nach ./letter_head.pdf. + Editiere den Bereich "" in der datei letter.lco. oder etwas Detaillierter: - Es wird eine Datei sample.lco erstellt und diese nach letter.lco verlinkt. - Eigentlich ist dies die Datei die für die Firmenspezifischen Anpassungen - gedacht ist. Da die Einstiegshürde in LaTeX nicht ganz niedrig ist, wird in - dieser Datei auf ein Hintergrundpdf verwiesen. Ich empfehle über dieses pdf - die persönlichen Layoutanpassungen vorzunehmen und sample.lco unverändert zu - lassen. Die die Anpassung über eine *.lco Datei die letztlich auf letter.lco - verlinkt ist ist aber auch möglich. + Es wird eine Datei sample.lco erstellt und diese nach letter.lco verlinkt. Eigentlich + ist dies die Datei die für die Firmenspezifischen Anpassungen gedacht ist. Da die Einstiegshürde in LaTeX nicht ganz niedrig + ist, wird in dieser Datei auf ein Hintergrundpdf verwiesen. Ich empfehle über dieses PDF die persönlichen Layoutanpassungen + vorzunehmen und sample.lco unverändert zu lassen. Die die Anpassung über eine + *.lco-Datei die letztlich auf letter.lco verlinkt ist ist aber auch möglich. + - Es wird eine Datei sample_head.pdf mit ausgeliefert, diese wird nach - letter_head.pdf verlinkt. Damit gibt es schon mal eine Funktionsfähige - Vorlage. Schau Dir nach Abschluss der Installation die Datei sample_haed.pdf - an und erstelle ein entsprechendes pdf passend zum Briefkopf Deiner Firma, - diese dann im Template Verzeichniss ablegen und statt sample_head.pdf nach - letter_head.pdf verlinken. + Es wird eine Datei sample_head.pdf mit ausgeliefert, diese wird nach letter_head.pdf + verlinkt. Damit gibt es schon mal eine Funktionsfähige Vorlage. Schau Dir nach Abschluss der Installation die Datei + sample_haed.pdf an und erstelle ein entsprechendes PDF passend zum Briefkopf Deiner Firma, diese dann im + Template Verzeichniss ablegen und statt sample_head.pdf nach letter_head.pdf + verlinken. + - letzlich muss ./letter_head.pdf auf das passende Hintergrundpdf verweisen, - welches gewünschten Briefkopf enthält. Bei Updates oder nach erneutem + letzlich muss letter_head.pdf auf das passende Hintergrund-PDF verweisen, welches gewünschten Briefkopf + enthält. Bei Updates oder nach erneutem + - Es wird eine Datei mydata.tex.example ausgeliefert die nach mytdata.tex - verlinkt ist. Bei verwendetem Hintergrundpdf wird nur der Eintrag für das - Land verwendet die Datei muss also nicht angefasst werden. Die Anderen Werte - sind für das Modul lp (Label Print in erp - zur Zeit nicht im - öffentlichen Zweig). + Es wird eine Datei mydata.tex.example ausgeliefert, die nach mytdata.tex verlinkt + ist. Bei verwendetem Hintergrund-PDF wird nur der Eintrag für das Land verwendet. Die Datei muss also nicht angefasst + werden. Die Anderen Werte sind für das Modul 'lp' (Label Print in erp - zur Zeit nicht im öffentlichen Zweig). - Alle Anpassungen zum Briefkopf, Fusszeilen, Firmenlogos, etc. - sollten über die Hintergrund pdf datei oder die *.lco Datei erfolgen. + Alle Anpassungen zum Briefkopf, Fusszeilen, Firmenlogos, etc. sollten über die Hintergrund-PDF-Datei oder die + *.lco-Datei erfolgen. + f-tex Funktionsübersicht - Das Konzept von kivitendo sieht vor, für jedes Dokument - (Auftragsbestätigung, Lieferschein, Rechnung, etc.) eine - Latex-Vorlage vorzuhalten, dies ist sehr Wartungsunfreundlich. Auch - das Einlesen einer einheitlichen Quelle für den Briefkopf bringt nur - bedingte Vorteile, da hier leicht die Pflege der Artikel-Tabellen aus - dem Ruder läuft. Bei dem vorliegenden Ansatz wird für alle - Briefartigen Dokumente mit Artikel-Tabellen eine einheitliche - Latexvorlage verwendet, welche über Codeweichen die Besonderheiten - der jeweiligen Dokumente Berücksichtigt + Das Konzept von kivitendo sieht vor, für jedes Dokument (Auftragsbestätigung, Lieferschein, Rechnung, etc.) eine LaTeX-Vorlage + vorzuhalten, dies ist sehr Wartungsunfreundlich. Auch das Einlesen einer einheitlichen Quelle für den Briefkopf bringt nur + bedingte Vorteile, da hier leicht die Pflege der Artikel-Tabellen aus dem Ruder läuft. Bei dem vorliegenden Ansatz wird für alle + briefartigen Dokumente mit Artikel-Tabellen eine einheitliche LaTeX-Vorlage verwendet, welche über Codeweichen die + Besonderheiten der jeweiligen Dokumente Berücksichtigt. + - Tabellen mit oder ohne Preis - - Sprache der Tabellenüberschriften etc. - - Anpassung der Bezugs-Zeile (z.B. Rechnungsnummer versus - Angebotsnummer) - - Darstellung von Brutto oder Netto-Preisen in der Auflistung - (Endverbraucher versus Gewerblicher Kunde) - + Tabellen mit oder ohne Preis + Sprache der Tabellenüberschriften etc. + Anpassung der Bezugs-Zeile (z.B. Rechnungsnummer versus Angebotsnummer) + Darstellung von Brutto oder Netto-Preisen in der Auflistung (Endverbraucher versus Gewerblicher + Kunde) Nachteil: + - Latex hat ohnehin eine sehr steile Lehrnkurve. Die Datei letter.tex - ist sehr komplex und verstärkt damit diesen Effekt noch einmal erheblich. - Wer Latex-Erfahrung hat, oder geübt ist Scriptsparachen nachzuvollziehen kann - natürlich auch innerhalb der Tabellendarstellung gut persönliche Anpassungen - vornehmen. Aber man kann sich hier bei Veränderungen sehr schnell häftig in - den Fuss schiessen. - - Wer nicht so tief in die Materie einsteigen will oder leicht zu - frustrieren ist, sollte sein Hintergrund PDF auf Basis der mitglieferten - Datei sample_head.pdf erstellen, und sich an der Form der dargestellten Tabellen - wie sie ausgeliefert werden, erfreuen. + LaTeX hat ohnehin eine sehr steile Lehrnkurve. Die Datei letter.tex ist sehr komplex und verstärkt damit + diesen Effekt noch einmal erheblich. Wer LaTeX-Erfahrung hat, oder geübt ist Scriptsparachen nachzuvollziehen kann natürlich + auch innerhalb der Tabellendarstellung gut persönliche Anpassungen vornehmen. Aber man kann sich hier bei Veränderungen sehr + schnell häftig in den Fuss schiessen. - Kleiner Tipp: - Nicht zu viel auf einmal wollen, lieber kleine kontinuierliche - Schritte gehen. + + Wer nicht so tief in die Materie einsteigen will oder leicht zu frustrieren ist, sollte sein Hintergrund PDF auf Basis der + mitglieferten Datei sample_head.pdf erstellen, und sich an der Form der dargestellten Tabellen wie sie + ausgeliefert werden, erfreuen. + Kleiner Tipp: Nicht zu viel auf einmal wollen, lieber kleine kontinuierliche Schritte gehen. - Bruttopreise für Endvorbraucher - Der auszuweisende Bruttopreis wird innerhalb der LaTeX - Umgebung berechnet. es gibt zwar ein Feld um bei Aufträgen "alle Preise - Brutto" auszuwählen, aber: + + + + Bruttopreise für Endverbraucher + + Der auszuweisende Bruttopreis wird innerhalb der LaTeX-Umgebung berechnet. Es gibt zwar ein Feld, um bei Aufträgen "alle + Preise Brutto" auszuwählen, aber: - hierfür müssen die Preise auch in Brutto in der Datenbank stehen - (ja - das lässt sich über die Preisgruppen und die Zuordung einer Default-Preisgruppe - handhaben) + hierfür müssen die Preise auch in Brutto in der Datenbank stehen (ja - das lässt sich über die Preisgruppen und die + Zuordung einer Default-Preisgruppe handhaben) - man darf beim Anlegen des Vorgangs nicht vergessen Dieses Häkchen zu setzen. - (das ist in der Praxis wenn man sowohl Endverbraucher- wie Gewerbekunden beliefert - der eigentliche Knackpunkt) + man darf beim Anlegen des Vorgangs nicht vergessen Dieses Häkchen zu setzen. (das ist in der Praxis wenn man sowohl + Endverbraucher- wie Gewerbekunden beliefert der eigentliche Knackpunkt) - Es gibt mit f-tex eine weitere Alternative. Die Information ob Brutto oder - Nettorechnung wird mit den Zahlarten verknüpft. Zahlarten bei denen - Rechnungen, Angebote, etc, in Brutto ausgegeben werden sollen enden mit "_E" - (für Endverbraucher) Falls identische Zahlarten für Gewerbekunden und - Endverbraucher vorhanden sind legt man diese einfach doppelt an (einmal mit - der Namensendung "_E"). Gewinn: - - - die Entscheidung ob Netopreise ausgewiesen werden ist nicht mehr fix - mit einer Preisliste Verbunden. - - - die Default-Zahlart kann im Kundendatensatz hinterlegt werden und man - muss nicht mehr daran denken "alle Preise Netto" auszuwählen. - - - Die Entscheidung ob Netto/Oder Bruttopreise ausgewiesen werden kann direkt - beim Drucken reviediert werden, ohne dass sich der Auftragswert ändert. - - + Es gibt mit f-tex eine weitere Alternative. Die Information ob Brutto oder Nettorechnung wird mit den Zahlarten + verknüpft. Zahlarten bei denen Rechnungen, Angebote, etc, in Brutto ausgegeben werden sollen, enden mit "_E" (für + Endverbraucher). Falls identische Zahlarten für Gewerbekunden und Endverbraucher vorhanden sind, legt man diese einfach doppelt + an (einmal mit der Namensendung "_E"). Gewinn: - Lieferadressen - - in Lieferscheinen kommen shipto* -Variablen im Adressfeld zum Einsatz - - - wenn die shipto*variable leer ist wird die entsprechende - Adressvariable eingesetzt. Wenn Also die Lieferadresse in Strasse, - Hausnummer und Ort abweicht, müssen auch nur diese Felder in der - Lieferadresse ausgefüllt werden. Für den Firmenname wird der Wert der - Hauptadresse angezeigt. - + Die Entscheidung, ob Netopreise ausgewiesen werden, ist nicht mehr fix mit einer Preisliste Verbunden. + Die Default-Zahlart kann im Kundendatensatz hinterlegt werden, und man muss nicht mehr daran denken, "alle Preise + Netto" auszuwählen. + Die Entscheidung, ob Netto- oder Bruttopreise ausgewiesen werden, kann direkt beim Drucken reviediert werden, + ohne dass sich der Auftragswert ändert. + + Lieferadressen + + In Lieferscheinen kommen shipto*-Variablen im Adressfeld zum Einsatz. Wenn die + shipto*-Variable leer ist, wird die entsprechende Adressvariable eingesetzt. Wenn also die Lieferadresse in + Straße, Hausnummer und Ort abweicht, müssen auch nur diese Felder in der Lieferadresse ausgefüllt werden. Für den Firmenname wird + der Wert der Hauptadresse angezeigt. + + - + RB - Vollständiger Dokumentensatz mit alternativen Design + Vollständiger Dokumentensatz mit alternativem Design - + Allgemeine Hinweise zu LaTeX Vorlagen In den allermeisten Installationen sollte drucken jetzt schon funktionieren. Sollte ein Fehler auftreten wirft TeX sehr lange @@ -1575,7 +1537,7 @@ Administration -> Benutzerverwaltung -> [ein Benutzer] Pakete. - ! Package inputenc Error: Unicode char \u8:桜 not set up for + ! 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 @@ -5803,6 +5765,9 @@ filenames Test::Deep (Debian-Paketname: libtest-deep-perl; Fedora Core: perl-Test-Deep; openSuSE: perl-Test-Deep) + Test::Harness 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 CPAN bezogen + werden. diff --git a/doc/html/ch02s05.html b/doc/html/ch02s05.html index de63f2b59..76b1e0f57 100644 --- a/doc/html/ch02s05.html +++ b/doc/html/ch02s05.html @@ -44,7 +44,7 @@ Alias /kivitendo-erp/ /var/www/kiviteno-erp/ mod_fastcgi nicht mehr explizit eingegangen.

Als Perl Backend wird das Modul FCGI.pm verwendet.

[Warnung]Warnung

FCGI-Versionen ab 0.69 und bis zu 0.71 inklusive sind extrem strict in der Behandlung von Unicode, und verweigern bestimmte Eingaben von kivitendo. Falls es Probleme mit Umlauten in Ihrere Installation gibt, muss zwingend Version 0.68 oder - aber Version 0.72 und neuer eingesetzt werden.

Mit CPAN lässt sie sich die Vorgängerversion wie folgt + aber Version 0.72 und neuer eingesetzt werden.

Mit CPAN lässt sie sich die Vorgängerversion wie folgt installieren:

force install M/MS/MSTROUT/FCGI-0.68.tar.gz

2.5.2.4. Konfiguration des Webservers

Bevor Sie versuchen, eine kivitendo Installation unter FCGI laufen zu lassen, empfliehlt es sich die Installation ersteinmal unter CGI aufzusetzen. FCGI macht es nicht einfach Fehler zu diff --git a/doc/html/ch02s06.html b/doc/html/ch02s06.html index 4dd3522b1..8708cfc40 100644 --- a/doc/html/ch02s06.html +++ b/doc/html/ch02s06.html @@ -29,7 +29,7 @@ Links aus einem der Runlevel-Verzeichnisse heraus in den Boot-Prozess einzubinden. Da das bei neueren Linux-Distributionen aber nicht zwangsläufig funktioniert, werden auch Start-Scripte mitgeliefert, die - anstelle eines symbolischen Links verwendet werden können.

2.6.2.1. SystemV-basierende Systeme (z.B. Debian, OpenSuSE, Fedora + anstelle eines symbolischen Links verwendet werden können.

2.6.2.1. SystemV-basierende Systeme (z.B. Debian, OpenSuSE, Fedora Core)

Kopieren Sie die Datei scripts/boot/system-v/kivitendo-server nach /etc/init.d/kivitendo-server. Passen @@ -40,7 +40,7 @@ insserv kivitendo-task-server

  • OpenSuSE und Fedora Core:

    chkconfig --add kivitendo-task-server
  • Danach kann der Task-Server mit dem folgenden Befehl gestartet werden: /etc/init.d/kivitendo-task-server start -

    2.6.2.2. Upstart-basierende Systeme (z.B. Ubuntu)

    Kopieren Sie die Datei +

    2.6.2.2. Upstart-basierende Systeme (z.B. Ubuntu)

    Kopieren Sie die Datei scripts/boot/upstart/kivitendo-task-server.conf nach /etc/init/kivitendo-task-server.conf. Passen Sie in der kopierten Datei den Pfad zum Task-Server an (Zeile diff --git a/doc/html/ch02s10.html b/doc/html/ch02s10.html index d050121df..a83033615 100644 --- a/doc/html/ch02s10.html +++ b/doc/html/ch02s10.html @@ -1,153 +1,84 @@ - 2.10. Drucken mit kivitendo

    2.10. Drucken mit kivitendo

    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 texlive Installation. Unter - Debianoiden Betriebssystemen installiert man die Pakete mit:

    -

    aptitude install \
    -      texlive-base-bin \
    -texlive-latex-recommended \
    -texlive-fonts-recommended \
    -texlive-latex-extra \
    -texlive-lang-german \
    -texlive-generic-extra
    -      

    -

    TODO: rpm Pakete.

    kivitendo bringt 3 alternative Vorlagensätze mit:

    • Standard
    • f-tex
    • RB

    2.10.1. Vorlagenverzeichnis anlegen

    Bei einem neuen Benutzer/Mandanten lässt sich einer dieser Vorlagensätze - als Basis für die zu druckenden Dokumente auswählen:

    -

    unter:
    -Administration -> Benutzerverwaltung -> [ein Benutzer]
    -   Erzeuge Vorlagen, Name: [Name für das neue Vorlagenverzeichnis]
    -   Vorlagen auswählen: [Default, f-tex oder RB]
    -   -> Speichern
    -        

    -

    der gleiche Vorlagensatz kann, wenn er mal angelegt ist, bei mehreren Benutzern verwendet werden.

    Die Abhängigkeiten kann man prüfen mit:

    -

    /scripts/installation_check.pl -l

    -

    2.10.2. Default

    Der standard Vorlagensatz von Kivitendo. Wie unter - http://demo.kivitendo.org zu sehen.

    2.10.3. f-tex

    Ein Vorlagensatz, der in Wenigen Minuten alle Dokumente zur stellt.

    2.10.3.1. f-tex Feature Übersicht

    • Keine Retundanz. Es wird ein und die selbe Latex-Vorlage für alle - briefartigen Dokumente verwendet. Also Angebot, Rechnung, - Performarechnung, Lieferschein, aber eben nicht für Paketaufkleber - etc..
    • Leichte Anpassung an das Firmen Layout durch verwendung eines Hintergrund-PDF - dieses kann leicht mit dem eigenen Lieblingsprogramm erstellt werden - (Openoffice, Inkscape, Gimp, Adobe*) -
    • Hintergrundpdf um schaltbar auf "nur erste Seite" (default) oder "alle Seiten" - (option "bgPdfFirstPageOnly" in Datei letter.lco) -
    • Hintergrundpdf für Ausdruck auf bereits bedrucktem Briefpapier Abschaltbar, - es wird dann nur bei per email versendeten Dokumenten eingebunden. - (Option "bgPdfEmailOnly" in Datei letter.lco) -
    • Nutzung der Layout-Funktionen von Latex für Seitenumbruch, - wiederholung von Kopfzeilen, Zwischensummen etc. (danke an Kai-Martin für - die Vorarbeit) -
    • Anzeige des Empfängerlandes im Adressfeld nur, wenn es vom Land des - eigenen Unternehmens abweicht (also die Rechnung das Land verlässt). -
    • Multisprachfähig leicht um weitere Sprachen zu erweitern, alle - Übersetzungen in der Datei translatinos.tex. -
    • Auflistung von Bruttopreisen für Endverbraucher. -

    2.10.3.2. f-tex Die Installation

    • Vorlagenverzeichnis mit Option f-tex anlegen, siehe: - Vorlagenverzeichnis anlegen - Das Vorlagensystem funktioniert jetzt schon, hat allerdings noch einen - Beispiel Briefkopf -
    • - Erstelle eine pdf-Hintergrund Datei und verlinke sie nach -
      ./letter_head.pdf
    • - Editiere den Bereich "settings" in der datei letter.lco -

    oder etwas Detaillierter:

    - Es wird eine Datei sample.lco erstellt und diese nach letter.lco verlinkt. - Eigentlich ist dies die Datei die für die Firmenspezifischen Anpassungen - gedacht ist. Da die Einstiegshürde in LaTeX nicht ganz niedrig ist, wird in - dieser Datei auf ein Hintergrundpdf verwiesen. Ich empfehle über dieses pdf - die persönlichen Layoutanpassungen vorzunehmen und sample.lco unverändert zu - lassen. Die die Anpassung über eine *.lco Datei die letztlich auf letter.lco - verlinkt ist ist aber auch möglich. + 2.10. Drucken mit kivitendo

    2.10. Drucken mit kivitendo

    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 texlive Installation. Unter Debianoiden Betriebssystemen installiert man + die Pakete mit:

    +

    aptitude install texlive-base-bin texlive-latex-recommended texlive-fonts-recommended \
    +  texlive-latex-extra texlive-lang-german texlive-generic-extra

    +

    TODO: RPM-Pakete.

    kivitendo bringt drei alternative Vorlagensätze mit:

    • Standard

    • f-tex

    • RB

    2.10.1. Vorlagenverzeichnis anlegen

    Im Administrationsbereich lässt sich bei einem Benutzer/Mandanten einer dieser Vorlagensätze als Basis für die zu + druckenden Dokumente auswählen. Rufen Sie dazu die Benutzerverwaltung auf.

    Wählen Sie dort einen Benutzer aus oder legen Sie einen neuen an. In der Benutzerbearbeiten-Maske müssen Sie zwei Dinge + angeben:

    1. + Name: Der Verzeichnisname für den neuen Vorlagensatz. Dieser kann im Rahmen der üblichen + Bedingungen für Verzeichnisnamen frei gewählt werden.

    2. + Vorlagen auswählen: Wählen Sie hier den Vorlagensatz aus, der kopiert werden soll + (Standard, f-tex oder RB.)

    Der gleiche Vorlagensatz kann, wenn er mal angelegt ist, bei mehreren Benutzern verwendet werden.

    Die Abhängigkeiten kann man prüfen mit:

    /scripts/installation_check.pl -l

    2.10.2. Standard

    Der Standard-Vorlagensatz von Kivitendo. Wie unter http://demo.kivitendo.org zu + sehen.

    2.10.3. f-tex

    Ein Vorlagensatz, der in wenigen Minuten alle Dokumente zur Verfügung stellt.

    2.10.3.1. Feature-Übersicht

    • Keine Redundanz. Es wird ein- und dieselbe LaTeX-Vorlage für alle briefartigen Dokumente verwendet. Also + Angebot, Rechnung, Performarechnung, Lieferschein, aber eben nicht für Paketaufkleber etc..

    • Leichte Anpassung an das Firmen-Layout durch verwendung eines Hintergrund-PDF. Dieses kann leicht mit dem + eigenen Lieblingsprogramm erstellt werden (Openoffice, Inkscape, Gimp, Adobe*)

    • Hintergrund-PDF umschaltbar auf "nur erste Seite" (Standard) oder "alle Seiten" (Option + "bgPdfFirstPageOnly" in Datei letter.lco)

    • Hintergrund-PDF für Ausdruck auf bereits bedrucktem Briefpapier abschaltbar. Es wird dann nur bei per E-Mail + versendeten Dokumenten eingebunden (Option "bgPdfEmailOnly" in Datei + letter.lco).

    • Nutzung der Layout-Funktionen von LaTeX für Seitenumbruch, Wiederholung von Kopfzeilen, Zwischensummen + etc. (danke an Kai-Martin Knaak für die Vorarbeit)

    • Anzeige des Empfängerlandes im Adressfeld nur, wenn es vom Land des eigenen Unternehmens abweicht (also die + Rechnung das Land verlässt).

    • Multisprachfähig leicht um weitere Sprachen zu erweitern, alle Übersetzungen in der Datei + translatinos.tex.

    • Auflistung von Bruttopreisen für Endverbraucher.

    2.10.3.2. Die Installation

    • Vorlagenverzeichnis mit Option f-tex anlegen, siehe: Vorlagenverzeichnis anlegen. Das + Vorlagensystem funktioniert jetzt schon, hat allerdings noch einen Beispiel-Briefkopf.

    • Erstelle eine pdf-Hintergrund Datei und verlinke sie nach ./letter_head.pdf.

    • Editiere den Bereich "settings" in der datei letter.lco.

    oder etwas Detaillierter:

    + Es wird eine Datei sample.lco erstellt und diese nach letter.lco verlinkt. Eigentlich + ist dies die Datei die für die Firmenspezifischen Anpassungen gedacht ist. Da die Einstiegshürde in LaTeX nicht ganz niedrig + ist, wird in dieser Datei auf ein Hintergrundpdf verwiesen. Ich empfehle über dieses PDF die persönlichen Layoutanpassungen + vorzunehmen und sample.lco unverändert zu lassen. Die die Anpassung über eine + *.lco-Datei die letztlich auf letter.lco verlinkt ist ist aber auch möglich.

    - Es wird eine Datei sample_head.pdf mit ausgeliefert, diese wird nach - letter_head.pdf verlinkt. Damit gibt es schon mal eine Funktionsfähige - Vorlage. Schau Dir nach Abschluss der Installation die Datei sample_haed.pdf - an und erstelle ein entsprechendes pdf passend zum Briefkopf Deiner Firma, - diese dann im Template Verzeichniss ablegen und statt sample_head.pdf nach - letter_head.pdf verlinken. + Es wird eine Datei sample_head.pdf mit ausgeliefert, diese wird nach letter_head.pdf + verlinkt. Damit gibt es schon mal eine Funktionsfähige Vorlage. Schau Dir nach Abschluss der Installation die Datei + sample_haed.pdf an und erstelle ein entsprechendes PDF passend zum Briefkopf Deiner Firma, diese dann im + Template Verzeichniss ablegen und statt sample_head.pdf nach letter_head.pdf + verlinken.

    - letzlich muss ./letter_head.pdf auf das passende Hintergrundpdf verweisen, - welches gewünschten Briefkopf enthält. Bei Updates oder nach erneutem + letzlich muss letter_head.pdf auf das passende Hintergrund-PDF verweisen, welches gewünschten Briefkopf + enthält. Bei Updates oder nach erneutem

    - Es wird eine Datei mydata.tex.example ausgeliefert die nach mytdata.tex - verlinkt ist. Bei verwendetem Hintergrundpdf wird nur der Eintrag für das - Land verwendet die Datei muss also nicht angefasst werden. Die Anderen Werte - sind für das Modul lp (Label Print in erp - zur Zeit nicht im - öffentlichen Zweig). + Es wird eine Datei mydata.tex.example ausgeliefert, die nach mytdata.tex verlinkt + ist. Bei verwendetem Hintergrund-PDF wird nur der Eintrag für das Land verwendet. Die Datei muss also nicht angefasst + werden. Die Anderen Werte sind für das Modul 'lp' (Label Print in erp - zur Zeit nicht im öffentlichen Zweig).

    - Alle Anpassungen zum Briefkopf, Fusszeilen, Firmenlogos, etc. - sollten über die Hintergrund pdf datei oder die *.lco Datei erfolgen. + Alle Anpassungen zum Briefkopf, Fusszeilen, Firmenlogos, etc. sollten über die Hintergrund-PDF-Datei oder die + *.lco-Datei erfolgen.

    2.10.3.3. f-tex Funktionsübersicht

    - Das Konzept von kivitendo sieht vor, für jedes Dokument - (Auftragsbestätigung, Lieferschein, Rechnung, etc.) eine - Latex-Vorlage vorzuhalten, dies ist sehr Wartungsunfreundlich. Auch - das Einlesen einer einheitlichen Quelle für den Briefkopf bringt nur - bedingte Vorteile, da hier leicht die Pflege der Artikel-Tabellen aus - dem Ruder läuft. Bei dem vorliegenden Ansatz wird für alle - Briefartigen Dokumente mit Artikel-Tabellen eine einheitliche - Latexvorlage verwendet, welche über Codeweichen die Besonderheiten - der jeweiligen Dokumente Berücksichtigt -

    • Tabellen mit oder ohne Preis -
    • Sprache der Tabellenüberschriften etc. -
    • Anpassung der Bezugs-Zeile (z.B. Rechnungsnummer versus - Angebotsnummer) -
    • Darstellung von Brutto oder Netto-Preisen in der Auflistung - (Endverbraucher versus Gewerblicher Kunde) -

    Nachteil:

    - Latex hat ohnehin eine sehr steile Lehrnkurve. Die Datei letter.tex - ist sehr komplex und verstärkt damit diesen Effekt noch einmal erheblich. - Wer Latex-Erfahrung hat, oder geübt ist Scriptsparachen nachzuvollziehen kann - natürlich auch innerhalb der Tabellendarstellung gut persönliche Anpassungen - vornehmen. Aber man kann sich hier bei Veränderungen sehr schnell häftig in - den Fuss schiessen. -

    Wer nicht so tief in die Materie einsteigen will oder leicht zu - frustrieren ist, sollte sein Hintergrund PDF auf Basis der mitglieferten - Datei sample_head.pdf erstellen, und sich an der Form der dargestellten Tabellen - wie sie ausgeliefert werden, erfreuen. -

    Kleiner Tipp: - Nicht zu viel auf einmal wollen, lieber kleine kontinuierliche - Schritte gehen. -

    Bruttopreise für Endvorbraucher

    Der auszuweisende Bruttopreis wird innerhalb der LaTeX - Umgebung berechnet. es gibt zwar ein Feld um bei Aufträgen "alle Preise - Brutto" auszuwählen, aber:

    • - hierfür müssen die Preise auch in Brutto in der Datenbank stehen - (ja - das lässt sich über die Preisgruppen und die Zuordung einer Default-Preisgruppe - handhaben) -
    • - man darf beim Anlegen des Vorgangs nicht vergessen Dieses Häkchen zu setzen. - (das ist in der Praxis wenn man sowohl Endverbraucher- wie Gewerbekunden beliefert - der eigentliche Knackpunkt) -

    - Es gibt mit f-tex eine weitere Alternative. Die Information ob Brutto oder - Nettorechnung wird mit den Zahlarten verknüpft. Zahlarten bei denen - Rechnungen, Angebote, etc, in Brutto ausgegeben werden sollen enden mit "_E" - (für Endverbraucher) Falls identische Zahlarten für Gewerbekunden und - Endverbraucher vorhanden sind legt man diese einfach doppelt an (einmal mit - der Namensendung "_E"). Gewinn:

    • - die Entscheidung ob Netopreise ausgewiesen werden ist nicht mehr fix - mit einer Preisliste Verbunden. -
    • - die Default-Zahlart kann im Kundendatensatz hinterlegt werden und man - muss nicht mehr daran denken "alle Preise Netto" auszuwählen. -
    • - Die Entscheidung ob Netto/Oder Bruttopreise ausgewiesen werden kann direkt - beim Drucken reviediert werden, ohne dass sich der Auftragswert ändert. -

    Lieferadressen

    • - in Lieferscheinen kommen shipto* -Variablen im Adressfeld zum Einsatz -
    • - wenn die shipto*variable leer ist wird die entsprechende - Adressvariable eingesetzt. Wenn Also die Lieferadresse in Strasse, - Hausnummer und Ort abweicht, müssen auch nur diese Felder in der - Lieferadresse ausgefüllt werden. Für den Firmenname wird der Wert der - Hauptadresse angezeigt. -

    2.10.4. RB

    Vollständiger Dokumentensatz mit alternativen Design

    2.10.5. Allgemeine Hinweise zu LaTeX Vorlagen

    In den allermeisten Installationen sollte drucken jetzt schon + Das Konzept von kivitendo sieht vor, für jedes Dokument (Auftragsbestätigung, Lieferschein, Rechnung, etc.) eine LaTeX-Vorlage + vorzuhalten, dies ist sehr Wartungsunfreundlich. Auch das Einlesen einer einheitlichen Quelle für den Briefkopf bringt nur + bedingte Vorteile, da hier leicht die Pflege der Artikel-Tabellen aus dem Ruder läuft. Bei dem vorliegenden Ansatz wird für alle + briefartigen Dokumente mit Artikel-Tabellen eine einheitliche LaTeX-Vorlage verwendet, welche über Codeweichen die + Besonderheiten der jeweiligen Dokumente Berücksichtigt. +

    • Tabellen mit oder ohne Preis

    • Sprache der Tabellenüberschriften etc.

    • Anpassung der Bezugs-Zeile (z.B. Rechnungsnummer versus Angebotsnummer)

    • Darstellung von Brutto oder Netto-Preisen in der Auflistung (Endverbraucher versus Gewerblicher + Kunde)

    Nachteil:

    + LaTeX hat ohnehin eine sehr steile Lehrnkurve. Die Datei letter.tex ist sehr komplex und verstärkt damit + diesen Effekt noch einmal erheblich. Wer LaTeX-Erfahrung hat, oder geübt ist Scriptsparachen nachzuvollziehen kann natürlich + auch innerhalb der Tabellendarstellung gut persönliche Anpassungen vornehmen. Aber man kann sich hier bei Veränderungen sehr + schnell häftig in den Fuss schiessen. +

    Wer nicht so tief in die Materie einsteigen will oder leicht zu frustrieren ist, sollte sein Hintergrund PDF auf Basis der + mitglieferten Datei sample_head.pdf erstellen, und sich an der Form der dargestellten Tabellen wie sie + ausgeliefert werden, erfreuen. +

    Kleiner Tipp: Nicht zu viel auf einmal wollen, lieber kleine kontinuierliche Schritte gehen.

    2.10.3.4. Bruttopreise für Endverbraucher

    Der auszuweisende Bruttopreis wird innerhalb der LaTeX-Umgebung berechnet. Es gibt zwar ein Feld, um bei Aufträgen "alle + Preise Brutto" auszuwählen, aber:

    • hierfür müssen die Preise auch in Brutto in der Datenbank stehen (ja - das lässt sich über die Preisgruppen und die + Zuordung einer Default-Preisgruppe handhaben)

    • man darf beim Anlegen des Vorgangs nicht vergessen Dieses Häkchen zu setzen. (das ist in der Praxis wenn man sowohl + Endverbraucher- wie Gewerbekunden beliefert der eigentliche Knackpunkt)

    + Es gibt mit f-tex eine weitere Alternative. Die Information ob Brutto oder Nettorechnung wird mit den Zahlarten + verknüpft. Zahlarten bei denen Rechnungen, Angebote, etc, in Brutto ausgegeben werden sollen, enden mit "_E" (für + Endverbraucher). Falls identische Zahlarten für Gewerbekunden und Endverbraucher vorhanden sind, legt man diese einfach doppelt + an (einmal mit der Namensendung "_E"). Gewinn:

    • Die Entscheidung, ob Netopreise ausgewiesen werden, ist nicht mehr fix mit einer Preisliste Verbunden.

    • Die Default-Zahlart kann im Kundendatensatz hinterlegt werden, und man muss nicht mehr daran denken, "alle Preise + Netto" auszuwählen.

    • Die Entscheidung, ob Netto- oder Bruttopreise ausgewiesen werden, kann direkt beim Drucken reviediert werden, + ohne dass sich der Auftragswert ändert.

    2.10.3.5. Lieferadressen

    In Lieferscheinen kommen shipto*-Variablen im Adressfeld zum Einsatz. Wenn die + shipto*-Variable leer ist, wird die entsprechende Adressvariable eingesetzt. Wenn also die Lieferadresse in + Straße, Hausnummer und Ort abweicht, müssen auch nur diese Felder in der Lieferadresse ausgefüllt werden. Für den Firmenname wird + der Wert der Hauptadresse angezeigt. +

    2.10.4. RB

    Vollständiger Dokumentensatz mit alternativem Design

    2.10.5. Allgemeine Hinweise zu LaTeX Vorlagen

    In den allermeisten Installationen sollte drucken jetzt schon funktionieren. Sollte ein Fehler auftreten wirft TeX sehr lange Fehlerbeschreibungen, der eigentliche Fehler ist immer die erste Zeite die mit einem Ausrufezeichen anfängt. Häufig auftretende Fehler sind zum Beispiel:

    • ! 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.

    • ! Package inputenc Error: Unicode char \u8:桜 not set up for + Pakete.

    • ! 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 diff --git a/doc/html/ch03s02.html b/doc/html/ch03s02.html index 91679b177..e8b2f81d1 100644 --- a/doc/html/ch03s02.html +++ b/doc/html/ch03s02.html @@ -556,7 +556,7 @@ invdate

      Rechnungsdatum

      invnumber -

      Rechnungsnummer

    3.2.10. Variablen in anderen Vorlagen

    3.2.10.1. Einführung

    Die Variablen in anderen Vorlagen sind ähnlich wie in der +

    Rechnungsnummer

    3.2.10. Variablen in anderen Vorlagen

    3.2.10.1. Einführung

    Die Variablen in anderen Vorlagen sind ähnlich wie in der Rechnung. Allerdings heißen die Variablen, die mit inv beginnen, jetzt anders. Bei den Angeboten fangen sie mit quo für "quotation" an: @@ -660,7 +660,15 @@ ... <%end%>

    Eine normale "if-then"-Bedingung. Die Zeilen zwischen dem "if" und dem "end" werden nur ausgegeben, wenn die Variable - variablenname gesetzt und ungleich 0 ist.

    Die Bedingung kann auch negiert werden, indem das Wort + variablenname gesetzt und ungleich 0 ist.

    Handelt es sich bei der benannten Variable um ein Array, also um einen Variablennamen, über den man mit + <%foreach variablenname%> iteriert, so wird mit diesem Konstrukt darauf getestet, ob das Array Elemente + enthält. Somit würde im folgenden Beispiel nur dann eine Liste von Zahlungseingängen samt ihrer Überschrift "Zahlungseingänge" + ausgegeben, wenn tatsächlich welche getätigt wurden:

    <%if payment%>
    +Zahlungseingänge:
    + <%foreach payment%>
    +   Am <%paymentdate%>: <%payment%> €
    + <%end foreach%>
    +<%end if%>

    Die Bedingung kann auch negiert werden, indem das Wort not nach dem if verwendet wird. Beispiel:

    <%if not cp_greeting%>
     ...
    diff --git a/doc/html/ch04.html b/doc/html/ch04.html
    index fd72356c9..6f4616f0d 100644
    --- a/doc/html/ch04.html
    +++ b/doc/html/ch04.html
    @@ -1,6 +1,6 @@
     
           
    -   Kapitel 4. Entwicklerdokumentation

    Kapitel 4. Entwicklerdokumentation

    4.1. Globale Variablen

    4.1.1. Wie sehen globale Variablen in Perl aus?

    Globale Variablen liegen in einem speziellen namespace namens + Kapitel 4. Entwicklerdokumentation

    Kapitel 4. Entwicklerdokumentation

    4.1. Globale Variablen

    4.1.1. Wie sehen globale Variablen in Perl aus?

    Globale Variablen liegen in einem speziellen namespace namens "main", der von überall erreichbar ist. Darüber hinaus sind bareword globs global und die meisten speziellen Variablen sind... speziell.

    Daraus ergeben sich folgende Formen:

    @@ -25,7 +25,7 @@ $PACKAGE::form.

    local $form

    Alle Änderungen an $form werden am Ende - des scopes zurückgesetzt

    4.1.2. Warum sind globale Variablen ein Problem?

    Das erste Problem ist FCGI™.

    + des scopes zurückgesetzt

    4.1.2. Warum sind globale Variablen ein Problem?

    Das erste Problem ist FCGI™.

    SQL-Ledger™ hat fast alles im globalen namespace abgelegt, und erwartet, dass es da auch wiederzufinden ist. Unter FCGI™ müssen diese Sachen aber wieder @@ -39,7 +39,7 @@ dies hat, seit der Einführung, u.a. schon so manche langwierige Bug-Suche verkürzt. Da globale Variablen aber implizit mit Package angegeben werden, werden die nicht geprüft, und somit kann sich - schnell ein Tippfehler einschleichen.

    4.1.3. Kanonische globale Variablen

    Um dieses Problem im Griff zu halten gibt es einige wenige + schnell ein Tippfehler einschleichen.

    4.1.3. Kanonische globale Variablen

    Um dieses Problem im Griff zu halten gibt es einige wenige globale Variablen, die kanonisch sind, d.h. sie haben bestimmte vorgegebenen Eigenschaften, und alles andere sollte anderweitig umhergereicht werden.

    Diese Variablen sind im Moment die folgenden neun:

    • @@ -62,7 +62,7 @@ $::request

    Damit diese nicht erneut als Müllhalde missbraucht werden, im Folgenden eine kurze Erläuterung der bestimmten vorgegebenen - Eigenschaften (Konventionen):

    4.1.3.1. $::form

    • Ist ein Objekt der Klasse + Eigenschaften (Konventionen):

      4.1.3.1. $::form

      • Ist ein Objekt der Klasse "Form"

      • Wird nach jedem Request gelöscht

      • Muss auch in Tests und Konsolenscripts vorhanden sein.

      • Enthält am Anfang eines Requests die Requestparameter vom User

      • Kann zwar intern über Requestgrenzen ein Datenbankhandle @@ -110,7 +110,7 @@ push @{ $form->{TEMPLATE_ARRAYS}{number} }, $form->{"partnumber_$i"}; push @{ $form->{TEMPLATE_ARRAYS}{description} }, $form->{"description_$i"}; # ... -}

    4.1.3.2. %::myconfig

    • Das einzige Hash unter den globalen Variablen

    • Wird spätestens benötigt wenn auf die Datenbank +}

    4.1.3.2. %::myconfig

    • Das einzige Hash unter den globalen Variablen

    • Wird spätestens benötigt wenn auf die Datenbank zugegriffen wird

    • Wird bei jedem Request neu erstellt.

    • Enthält die Userdaten des aktuellen Logins

    • Sollte nicht ohne Filterung irgendwo gedumpt werden oder extern serialisiert werden, weil da auch der Datenbankzugriff für diesen user drinsteht.

    • Enthält unter anderem Listenbegrenzung vclimit, @@ -122,10 +122,10 @@ überwiegend die Daten, die sich unter Programm -> Einstellungen befinden, bzw. die Informationen über den Benutzer die über die - Administrator-Schnittstelle (admin.pl) eingegeben wurden.

    4.1.3.3. $::locale

    • Objekt der Klasse "Locale"

    • Wird pro Request erstellt

    • Muss auch für Tests und Scripte immer verfügbar + Administrator-Schnittstelle (admin.pl) eingegeben wurden.

    4.1.3.3. $::locale

    • Objekt der Klasse "Locale"

    • Wird pro Request erstellt

    • Muss auch für Tests und Scripte immer verfügbar sein.

    • Cached intern über Requestgrenzen hinweg benutzte Locales

    Lokalisierung für den aktuellen User. Alle Übersetzungen, - Zahlen- und Datumsformatierungen laufen über dieses Objekt.

    4.1.3.4. $::lxdebug

    • Objekt der Klasse "LXDebug"

    • Wird global gecached

    • Muss immer verfügbar sein, in nahezu allen + Zahlen- und Datumsformatierungen laufen über dieses Objekt.

    4.1.3.4. $::lxdebug

    • Objekt der Klasse "LXDebug"

    • Wird global gecached

    • Muss immer verfügbar sein, in nahezu allen Funktionen

    $::lxdebug stellt Debuggingfunktionen bereit, wie "enter_sub" und @@ -135,12 +135,12 @@ "message" und "dump" mit denen man flott Informationen ins Log (tmp/kivitendo-debug.log) packen kann.

    Beispielsweise so:

    $main::lxdebug->message(0, 'Meine Konfig:' . Dumper (%::myconfig));
    -$main::lxdebug->message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form->{vc});

    4.1.3.5. $::auth

    • Objekt der Klasse "SL::Auth"

    • Wird global gecached

    • Hat eine permanente DB Verbindung zur Authdatenbank

    • Wird nach jedem Request resettet.

    +$main::lxdebug->message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form->{vc});

    4.1.3.5. $::auth

    • Objekt der Klasse "SL::Auth"

    • Wird global gecached

    • Hat eine permanente DB Verbindung zur Authdatenbank

    • Wird nach jedem Request resettet.

    $::auth stellt Funktionen bereit um die Rechte des aktuellen Users abzufragen. Obwohl diese Informationen vom aktuellen User abhängen wird das Objekt aus Geschwindigkeitsgründen nur einmal angelegt und dann nach jedem - Request kurz resettet.

    4.1.3.6. $::lx_office_conf

    • Objekt der Klasse + Request kurz resettet.

    4.1.3.6. $::lx_office_conf

    • Objekt der Klasse "SL::LxOfficeConf"

    • Global gecached

    • Repräsentation der config/kivitendo.conf[.default]-Dateien

    Globale Konfiguration. Configdateien werden zum Start gelesen und danach nicht mehr angefasst. Es ist derzeit nicht geplant, dass @@ -150,16 +150,16 @@ $main::lxdebug->message(0, 'Wer bin ich? Kunde oder Lieferant:' . $form->{ file = /tmp/kivitendo-debug.log

    ist der Key file im Programm als $::lx_office_conf->{debug}{file} erreichbar.

    [Warnung]Warnung

    Zugriff auf die Konfiguration erfolgt im Moment über - Hashkeys, sind also nicht gegen Tippfehler abgesichert.

    4.1.3.7. $::instance_conf

    • Objekt der Klasse + Hashkeys, sind also nicht gegen Tippfehler abgesichert.

    4.1.3.7. $::instance_conf

    • Objekt der Klasse "SL::InstanceConfiguration"

    • wird pro Request neu erstellt

    Funktioniert wie $::lx_office_conf, speichert aber Daten die von der Instanz abhängig sind. Eine Instanz ist hier eine Mandantendatenbank. Beispielsweise überprüft

    $::instance_conf->get_inventory_system eq 'perpetual'

    - ob die berüchtigte Bestandsmethode zur Anwendung kommt.

    4.1.3.8. $::dispatcher

    • Objekt der Klasse + ob die berüchtigte Bestandsmethode zur Anwendung kommt.

    4.1.3.8. $::dispatcher

    • Objekt der Klasse "SL::Dispatcher"

    • wird pro Serverprozess erstellt.

    • enthält Informationen über die technische Verbindung zum Server

    Der dritte Punkt ist auch der einzige Grund warum das Objekt global gespeichert wird. Wird vermutlich irgendwann in einem anderen - Objekt untergebracht.

    4.1.3.9. $::request

    • Hashref (evtl später Objekt)

    • Wird pro Request neu initialisiert.

    • Keine Unterstruktur garantiert.

    + Objekt untergebracht.

    4.1.3.9. $::request

    • Hashref (evtl später Objekt)

    • Wird pro Request neu initialisiert.

    • Keine Unterstruktur garantiert.

    $::request ist ein generischer Platz um Daten "für den aktuellen Request" abzulegen. Sollte nicht für action at a distance benutzt werden, sondern um lokales memoizing zu @@ -172,20 +172,20 @@ file = /tmp/kivitendo-debug.log

    ist der Key file$::request

  • Muss ich von anderen Teilen des Programms lesend drauf zugreifen? Dann $::request, aber Zugriff über - Wrappermethode

  • 4.1.4. Ehemalige globale Variablen

    Die folgenden Variablen waren einmal im Programm, und wurden - entfernt.

    4.1.4.1. $::cgi

    • war nötig, weil cookie Methoden nicht als + Wrappermethode

    4.1.4. Ehemalige globale Variablen

    Die folgenden Variablen waren einmal im Programm, und wurden + entfernt.

    4.1.4.1. $::cgi

    • war nötig, weil cookie Methoden nicht als Klassenfunktionen funktionieren

    • Aufruf als Klasse erzeugt Dummyobjekt was im Klassennamespace gehalten wird und über Requestgrenzen leaked

    • liegt jetzt unter $::request->{cgi} -

    4.1.4.2. $::all_units

    • war nötig, weil einige Funktionen in Schleifen zum Teil +

    4.1.4.2. $::all_units

    • war nötig, weil einige Funktionen in Schleifen zum Teil ein paar hundert mal pro Request eine Liste der Einheiten brauchen, und de als Parameter durch einen Riesenstack von Funktionen geschleift werden müssten.

    • Liegt jetzt unter $::request->{cache}{all_units}

    • Wird nur in AM->retrieve_all_units() gesetzt oder - gelesen.

    4.1.4.3. %::called_subs

    • wurde benutzt um callsub deep recursions + gelesen.

    4.1.4.3. %::called_subs

    • wurde benutzt um callsub deep recursions abzufangen.

    • Wurde entfernt, weil callsub nur einen Bruchteil der möglichen Rekursioenen darstellt, und da nie welche auftreten.

    • komplette recursion protection wurde entfernt.

    \ No newline at end of file diff --git a/doc/html/ch04s05.html b/doc/html/ch04s05.html index 87fee7702..638a83576 100644 --- a/doc/html/ch04s05.html +++ b/doc/html/ch04s05.html @@ -3,7 +3,10 @@ 4.5. Die kivitendo-Test-Suite

    4.5. Die kivitendo-Test-Suite

    4.5.1. Einführung

    kivitendo enthält eine Suite für automatisierte Tests. Sie basiert auf dem Standard-Perl-Modul Test::More.

    Die grundlegenden Fakten sind:

    • Alle Tests liegen im Unterverzeichnis t/.

    • Ein Script (bzw. ein Test) in f/ enthält einen oder mehrere Testfälle.

    • Alle Dateinamen von Tests enden auf .t. Es sind selbstständig ausführbare Perl-Scripte.

    • Die Test-Suite besteht aus der Gesamtheit aller Tests, sprich aller Scripte in f/, deren Dateiname auf .t endet.

    4.5.2. Voraussetzungen

    Für die Ausführung werden neben den für kivitendo eh schon benötigten Module noch weitere Perl-Module benötigt. Diese sind:

    • Test::Deep (Debian-Paketname: libtest-deep-perl; Fedora Core: - perl-Test-Deep; openSuSE: perl-Test-Deep)

    4.5.3. + perl-Test-Deep; openSuSE: perl-Test-Deep)

  • + Test::Harness 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 CPAN bezogen + werden.

  • 4.5.3. Existierende Tests ausführen

    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 t/test.sh.

    Will man die komplette Test-Suite ausführen, so muss man einfach nur t/test.sh ohne weitere Parameter aus diff --git a/doc/html/index.html b/doc/html/index.html index f9ac994c3..9b8060127 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -1,9 +1,9 @@ - kivitendo: Installation, Konfiguration, Entwicklung

    kivitendo: Installation, Konfiguration, Entwicklung


    Inhaltsverzeichnis

    1. Aktuelle Hinweise
    2. Installation und Grundkonfiguration
    2.1. Benötigte Software und Pakete
    2.1.1. Betriebssystem
    2.1.2. Pakete
    2.2. Manuelle Installation des Programmpaketes
    2.3. kivitendo-Konfigurationsdatei
    2.3.1. Einführung
    2.3.2. Abschnitte und Parameter
    2.3.3. Versionen vor 2.6.3
    2.4. Anpassung der PostgreSQL-Konfiguration
    2.4.1. Zeichensätze/die Verwendung von UTF-8
    2.4.2. Änderungen an Konfigurationsdateien
    2.4.3. Erweiterung für servergespeicherte Prozeduren
    2.4.4. Datenbankbenutzer anlegen
    2.5. Webserver-Konfiguration
    2.5.1. Grundkonfiguration mittels CGI
    2.5.2. Konfiguration für FastCGI/FCGI
    2.6. Der Task-Server
    2.6.1. Verfügbare und notwendige Konfigurationsoptionen
    2.6.2. Automatisches Starten des Task-Servers beim Booten
    2.6.3. Wie der Task-Server gestartet und beendet wird
    2.6.4. Task-Server mit mehreren Mandanten
    2.7. Benutzerauthentifizierung und Administratorpasswort
    2.7.1. Grundlagen zur Benutzerauthentifizierung
    2.7.2. Administratorpasswort
    2.7.3. Authentifizierungsdatenbank
    2.7.4. Passwortüberprüfung
    2.7.5. Name des Session-Cookies
    2.7.6. Anlegen der Authentifizierungsdatenbank
    2.8. Benutzer- und Gruppenverwaltung
    2.8.1. Zusammenhänge
    2.8.2. Datenbanken anlegen
    2.8.3. Gruppen anlegen
    2.8.4. Benutzer anlegen
    2.8.5. Gruppenmitgliedschaften verwalten
    2.8.6. Migration alter Installationen
    2.9. E-Mail-Versand aus kivitendo heraus
    2.9.1. Versand über lokalen E-Mail-Server
    2.9.2. Versand über einen SMTP-Server
    2.10. Drucken mit kivitendo
    2.10.1. Vorlagenverzeichnis anlegen
    2.10.2. Default
    2.10.3. f-tex
    2.10.4. RB
    2.10.5. Allgemeine Hinweise zu LaTeX Vorlagen
    2.11. OpenDocument-Vorlagen
    2.12. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: + kivitendo: Installation, Konfiguration, Entwicklung

    kivitendo: Installation, Konfiguration, Entwicklung


    Inhaltsverzeichnis

    1. Aktuelle Hinweise
    2. Installation und Grundkonfiguration
    2.1. Benötigte Software und Pakete
    2.1.1. Betriebssystem
    2.1.2. Pakete
    2.2. Manuelle Installation des Programmpaketes
    2.3. kivitendo-Konfigurationsdatei
    2.3.1. Einführung
    2.3.2. Abschnitte und Parameter
    2.3.3. Versionen vor 2.6.3
    2.4. Anpassung der PostgreSQL-Konfiguration
    2.4.1. Zeichensätze/die Verwendung von UTF-8
    2.4.2. Änderungen an Konfigurationsdateien
    2.4.3. Erweiterung für servergespeicherte Prozeduren
    2.4.4. Datenbankbenutzer anlegen
    2.5. Webserver-Konfiguration
    2.5.1. Grundkonfiguration mittels CGI
    2.5.2. Konfiguration für FastCGI/FCGI
    2.6. Der Task-Server
    2.6.1. Verfügbare und notwendige Konfigurationsoptionen
    2.6.2. Automatisches Starten des Task-Servers beim Booten
    2.6.3. Wie der Task-Server gestartet und beendet wird
    2.6.4. Task-Server mit mehreren Mandanten
    2.7. Benutzerauthentifizierung und Administratorpasswort
    2.7.1. Grundlagen zur Benutzerauthentifizierung
    2.7.2. Administratorpasswort
    2.7.3. Authentifizierungsdatenbank
    2.7.4. Passwortüberprüfung
    2.7.5. Name des Session-Cookies
    2.7.6. Anlegen der Authentifizierungsdatenbank
    2.8. Benutzer- und Gruppenverwaltung
    2.8.1. Zusammenhänge
    2.8.2. Datenbanken anlegen
    2.8.3. Gruppen anlegen
    2.8.4. Benutzer anlegen
    2.8.5. Gruppenmitgliedschaften verwalten
    2.8.6. Migration alter Installationen
    2.9. E-Mail-Versand aus kivitendo heraus
    2.9.1. Versand über lokalen E-Mail-Server
    2.9.2. Versand über einen SMTP-Server
    2.10. Drucken mit kivitendo
    2.10.1. Vorlagenverzeichnis anlegen
    2.10.2. Standard
    2.10.3. f-tex
    2.10.4. RB
    2.10.5. Allgemeine Hinweise zu LaTeX Vorlagen
    2.11. OpenDocument-Vorlagen
    2.12. Konfiguration zur Einnahmenüberschussrechnung/Bilanzierung: EUR
    2.12.1. Einführung
    2.12.2. Konfigurationsparameter
    2.12.3. Festlegen der Parameter
    2.12.4. Bemerkungen zu Bestandsmethode
    2.12.5. Bekannte Probleme
    2.13. SKR04 19% Umstellung für innergemeinschaftlichen Erwerb
    2.13.1. Einführung
    2.13.2. Konto 3804 manuell anlegen
    2.14. Einstellungen pro Mandant
    2.15. kivitendo ERP verwenden
    3. Features und Funktionen
    3.1. Wiederkehrende Rechnungen
    3.1.1. Einführung
    3.1.2. Konfiguration
    3.1.3. Auflisten
    3.1.4. Erzeugung der eigentlichen Rechnungen
    3.1.5. Erste Rechnung für aktuellen Monat erstellen
    3.2. Dokumentenvorlagen und verfügbare Variablen
    3.2.1. Einführung
    3.2.2. Variablen ausgeben
    3.2.3. Verwendung in Druckbefehlen
    3.2.4. Anfang und Ende der Tags verändern
    3.2.5. Zuordnung von den Dateinamen zu den Funktionen
    3.2.6. Sprache, Drucker und E-Mail
    3.2.7. Allgemeine Variablen, die in allen Vorlagen vorhanden sind
    3.2.8. Variablen in Rechnungen
    3.2.9. Variablen in Mahnungen und Rechnungen über Mahngebühren
    3.2.10. Variablen in anderen Vorlagen
    3.2.11. Blöcke, bedingte Anweisungen und Schleifen
    3.2.12. Markup-Code zur Textformatierung innerhalb von - Formularen
    3.3. Excel-Vorlagen
    3.3.1. Zusammenfassung
    3.3.2. Bedienung
    3.3.3. Variablensyntax
    3.3.4. Einschränkungen
    4. Entwicklerdokumentation
    4.1. Globale Variablen
    4.1.1. Wie sehen globale Variablen in Perl aus?
    4.1.2. Warum sind globale Variablen ein Problem?
    4.1.3. Kanonische globale Variablen
    4.1.4. Ehemalige globale Variablen
    4.2. Entwicklung unter FastCGI
    4.2.1. Allgemeines
    4.2.2. Programmende und Ausnahmen
    4.2.3. Globale Variablen
    4.2.4. Performance und Statistiken
    4.2.5. Bekannte Probleme
    4.3. SQL-Upgradedateien
    4.3.1. Einführung
    4.3.2. Format der Kontrollinformationen
    4.3.3. Hilfsscript dbupgrade2_tool.pl
    4.4. Translations and languages
    4.4.1. Introduction
    4.4.2. File structure
    4.5. Die kivitendo-Test-Suite
    4.5.1. Einführung
    4.5.2. Voraussetzungen
    4.5.3. + Formularen
    3.3. Excel-Vorlagen
    3.3.1. Zusammenfassung
    3.3.2. Bedienung
    3.3.3. Variablensyntax
    3.3.4. Einschränkungen
    4. Entwicklerdokumentation
    4.1. Globale Variablen
    4.1.1. Wie sehen globale Variablen in Perl aus?
    4.1.2. Warum sind globale Variablen ein Problem?
    4.1.3. Kanonische globale Variablen
    4.1.4. Ehemalige globale Variablen
    4.2. Entwicklung unter FastCGI
    4.2.1. Allgemeines
    4.2.2. Programmende und Ausnahmen
    4.2.3. Globale Variablen
    4.2.4. Performance und Statistiken
    4.2.5. Bekannte Probleme
    4.3. SQL-Upgradedateien
    4.3.1. Einführung
    4.3.2. Format der Kontrollinformationen
    4.3.3. Hilfsscript dbupgrade2_tool.pl
    4.4. Translations and languages
    4.4.1. Introduction
    4.4.2. File structure
    4.5. Die kivitendo-Test-Suite
    4.5.1. Einführung
    4.5.2. Voraussetzungen
    4.5.3. Existierende Tests ausführen
    4.5.4. Bedeutung der verschiedenen Test-Scripte diff --git a/doc/kivitendo-Dokumentation.pdf b/doc/kivitendo-Dokumentation.pdf index a62317368..f945716e2 100644 Binary files a/doc/kivitendo-Dokumentation.pdf and b/doc/kivitendo-Dokumentation.pdf differ