X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=doc%2Fdokumentation.xml;h=76a569c76d3d778ace755aac9a861cf308843b99;hb=4486e3bc8eb00c37cf8029e663eb94b4b9c5346a;hp=a2359876936512ce5ea6809c3292bbec4a0d86b6;hpb=55036afce77af5cdd81713edd0f027b6a3bd76d2;p=kivitendo-erp.git
diff --git a/doc/dokumentation.xml b/doc/dokumentation.xml
index a23598769..76a569c76 100644
--- a/doc/dokumentation.xml
+++ b/doc/dokumentation.xml
@@ -14,17 +14,50 @@
im kivitendo-Forum: https://forum.kivitendo.org/
-
-
- im alten Lx-Office-Wiki unter Dokumentation (http://wiki.lx-office.org/index.php?title=Installation_Lx-Office_ERP)
- Installation und Grundkonfiguration
+
+ Ãbersicht
+
+
+ Die Installation von kivitendo umfasst mehrere Schritte. Die folgende Liste kann sowohl für Neulinge als auch für alte Hasen als
+ Ãbersicht und Stichpunktliste zum Abhaken dienen, um eine Version mit minimalen Features möglichst schnell zum Laufen zu kriegen.
+
+
+
+ Voraussetzungen überprüfen: kivitendo benötigt gewisse Ressourcen und benutzt weitere
+ Programme. Das Kapitel "" erläutert diese. Auch die Liste der benötigten Perl-Module
+ befindet sich hier.
+
+ Installation von kivitendo: Diese umfasst die "" sowie grundlegende Einstellungen, die der "" erläutert.
+
+ Konfiguration externer Programme: hierzu gehören die Datenbank ("") und der Webserver ("").
+
+ Benutzerinformationen speichern können: man benötigt mindestens eine Datenbank, in der
+ Informationen zur Authentifizierung sowie die Nutzdaten gespeichert werden. Wie man das als Administrator macht, verrät "".
+
+ Benutzer, Gruppen und Datenbanken anlegen: wie dies alles zusammenspielt erläutert "".
+
+ Los geht's: alles soweit erledigt? Dann kann es losgehen: ""
+
+
+
+ Alle weiteren Unterkapitel in diesem Kapitel sind ebenfalls wichtig und dienen sollten vor einer ernsthaften Inbetriebnahme gelesen
+ werden.
+
+
+
Benötigte Software und Pakete
@@ -42,12 +75,21 @@
dass kivitendo auf ihnen läuft:
+
- Ubuntu 10.04 LTS Lucid Lynx bis 12.04 Precise Pangolin
+ Debian
+
+
+ 6.0 Squeeze (hier muss allerdings das Modul FCGI in der Version >= 0.72 compiled werden)
+
+
+ 7.0 Wheezy
+
+
- Debian 5.0 Lenny und 6.0 Squeeze
+ Ubuntu 10.04 LTS Lucid Lynx bis 12.10 Oneiric Ocelot
@@ -75,87 +117,58 @@
nicht Bestandteil einer Standard-Perl-Installation sind:
-
- parent
-
+ parent (nur bei Perl vor 5.10.1)
-
- Archive::Zip
-
+ Archive::Zip
-
- Config::Std
-
+ Config::Std
-
- DateTime
-
+ DateTime
-
- DBI
-
+ DBI
-
- DBD::Pg
-
+ DBD::Pg
-
- Email::Address
-
+ Email::Address
-
- JSON
-
+ Email::MIME
-
- List::MoreUtils
-
+ JSON
-
- Params::Validate
-
+ List::MoreUtils
-
- PDF::API2
-
+ Net::SMTP::SSL (optional, bei E-Mail-Versand über SSL; siehe Abschnitt "")
-
- Rose::Object
-
+ Net::SSLGlue (optional, bei E-Mail-Versand über TLS; siehe Abschnitt "")
-
- Rose::DB
-
+ Params::Validate
-
- Rose::DB::Object
-
+ PDF::API2
-
- Template
-
+ Rose::Object
-
- Text::CSV_XS
-
+ Rose::DB
-
- Text::Iconv
-
+ Rose::DB::Object
-
- URI
-
+ Template
-
- XML::Writer
-
+ Text::CSV_XS
-
- YAML
-
+ Text::Iconv
+
+ URI
+
+ XML::Writer
+
+ YAML
+ Seit v2.7.0 sind die folgenden Pakete hinzugekommen: Email::MIME, Net::SMTP::SSL,
+ Net::SSLGlue.
+
Gegenüber Version 2.6.0 sind zu dieser Liste 2 Pakete
hinzugekommen, URI und
XML::Writer sind notwendig. Ohne startet kivitendo
@@ -182,33 +195,29 @@
Für Debian oder Ubuntu benötigen Sie diese Pakete:
- apt-get install apache2 postgresql libparent-perl libarchive-zip-perl \
+ apt-get install apache2 postgresql libarchive-zip-perl \
libdatetime-perl libdbi-perl libdbd-pg-perl libpg-perl \
- libemail-address-perl liblist-moreutils-perl libpdf-api2-perl \
+ libemail-address-perl libemail-mime-perl liblist-moreutils-perl libpdf-api2-perl \
librose-object-perl librose-db-perl librose-db-object-perl \
libtemplate-perl libtext-csv-xs-perl libtext-iconv-perl liburi-perl \
libxml-writer-perl libyaml-perl libconfig-std-perl \
- libparams-validate-perl libjson-perl libclass-accessor-perl
+ libparams-validate-perl libjson-perl libclass-accessor-perl \
+ libnet-sslglue-perl libnet-smtp-ssl-perlFür Fedora Core benötigen Sie diese Pakete:yum install httpd postgresql-server perl-parent perl-DateTime \
- perl-DBI perl-DBD-Pg perl-Email-Address perl-List-MoreUtils \
+ perl-DBI perl-DBD-Pg perl-Email-Address perl-Email-MIME perl-List-MoreUtils \
perl-PDF-API2 perl-Rose-Object perl-Rose-DB perl-Rose-DB-Object \
perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv perl-URI \
- perl-XML-Writer perl-YAML
+ perl-XML-Writer perl-YAML perl-Net-SSLGlue perl-Net-SMTP-SSL
Für OpenSuSE benötigen Sie diese Pakete:zypper install apache2 postgresql-server perl-Archive-Zip \
- perl-DateTime perl-DBI perl-DBD-Pg perl-MailTools perl-List-MoreUtils \
+ perl-DateTime perl-DBI perl-DBD-Pg perl-Email-MIME perl-MailTools perl-List-MoreUtils \
perl-PDF-API2 perl-Template-Toolkit perl-Text-CSV_XS perl-Text-Iconv \
- perl-URI perl-XML-Writer perl-YAML
-
- Bei openSuSE 11 ist parent bereits enthalten,
- und braucht nicht nachinstalliert werden. Die
- Rose::* Pakete sind derzeit nicht für SuSE gepackt,
- und müssen anderweitig nachinstalliert werden.
+ perl-URI perl-XML-Writer perl-YAML perl-Net-SSLGlue perl-Net-SMTP-SSL
kivitendo enthält ein Script, mit dem überprüft werden kann, ob
alle benötigten Perl-Module installiert sind. Der Aufruf lautet wie
@@ -303,57 +312,34 @@ tar xvzf kivitendo-erp-2.6.3.tgz
entsprechend kommentiert sind:
-
- authentication
-
+ authentication (siehe Abschnitt "" in diesem Kapitel)
-
- authentication/database
-
+ authentication/database
-
- authentication/ldap
-
+ authentication/ldap
-
- system
-
+ system
-
- features
-
+ features (siehe Kapitel "")
-
- paths
-
+ paths
-
- applications
-
+ applications
-
- environment
-
+ environment
-
- print_templates
-
+ mail_delivery (siehe Abschnitt ")
-
- task_server
-
+ print_templates
-
- periodic_invoices
-
+ task_server
-
- console
-
+ periodic_invoices
-
- debug
-
+ console
+
+ debugDie üblicherweise wichtigsten Parameter, die am Anfang
@@ -415,14 +401,17 @@ dbcharset = UTF-8
Zeichensätze/die Verwendung von UTF-8
- kivitendo kann komplett mit UTF-8 als Zeichensatz verwendet
- werden. Dabei gibt es zwei Punkte zu beachten: PostgreSQL muss in
- Version 8.2 oder neuer benutzt werden, und der
- PostgreSQL-Datenbankcluster muss ebenfalls mit UTF-8 als Locale
- angelegt worden sein.
+ Bei aktuellen Serverinstallationen braucht man hier meist nicht
+ eingreifen
+
+ Dieses kann überprüft werden: ist das Encoding der Datenbank
+ âtemplate1â âUTF8â, so braucht man nichts weiteres diesbezüglich
+ unternehmen. Zum Testen:
+
+ su postgres
+echo '\l' | psql
+exit
- Dieses ist kann überprüft werden: ist das Encoding der Datenbank
- âtemplate1â âUTF8â, so kann auch kivitendo mit UTF-8 betrieben werden.
Andernfalls ist es notwendig, einen neuen Datenbankcluster mit
UTF-8-Encoding anzulegen und diesen zu verwenden. Unter Debian und
Ubuntu kann dies z.B. für PostgreSQL 8.2 mit dem folgenden Befehl
@@ -460,14 +449,9 @@ dbcharset = UTF-8
In der Datei pg_hba.conf, die im gleichen
Verzeichnis wie die postgresql.conf zu finden
sein sollte, müssen die Berichtigungen für den Zugriff geändert
- werden. Hier gibt es mehrere Möglichkeiten. Eine besteht darin, lokale
- Verbindungen immer zuzulassen:
-
- local all all trust
-host all all 127.0.0.1 255.0.0.0 trust
-
- Besser ist es, für eine bestimmte Datenbank Zugriff nur per
- Passwort zuzulassen. Beispielsweise:
+ werden. Hier gibt es mehrere Möglichkeiten. sinnvoll ist es nur die
+ nögiten Verbindungen immer zuzulassen, für eine lokal laufenden
+ Datenbank zum Beispiel:local all kivitendo password
host all kivitendo 127.0.0.1 255.255.255.255 password
@@ -478,10 +462,14 @@ host all kivitendo 127.0.0.1 255.255.255.255 password
In der Datenbank template1 muss die
Unterstützung für servergespeicherte Prozeduren eingerichet werden.
- Melden Sie sich dafür als Benutzer âpostgresâ an der Datenbank an, und
+ Melden Sie sich dafür als Benutzer âpostgresâ an der Datenbank an:
+ su - postgres
+psql template1
+
führen Sie die folgenden Kommandos aus:
- create language 'plpgsql';
+ create language 'plpgsql';
+\q
@@ -492,7 +480,12 @@ host all kivitendo 127.0.0.1 255.255.255.255 password
anlegen. Ein Beispiel, wie Sie einen neuen Benutzer anlegen
können:
- su - postgres createuser -d -P kivitendo
+ Die Frage, ob der neue User Superuser sein soll, können Sie mit nein
+ beantworten, genauso ist die Berechtigung neue User (Roles) zu
+ generieren nicht nötig.
+ su - postgres
+createuser -d -P kivitendo
+exitWenn Sie später einen Datenbankzugriff konfigurieren, verändern
Sie den evtl. voreingestellten Benutzer âpostgresâ auf âkivitendoâ bzw.
@@ -606,12 +599,11 @@ Alias /kivitendo-erp/ /var/www/kiviteno-erp/
verwendet.
- FCGI 0.69 und höher ist extrem strict in der Behandlung von
- Unicode, und verweigert bestimmte Eingaben von kivitendo. Falls es
- Probleme mit Umlauten in Ihrere Installation gibt, muss auf die
- Vorgängerversion FCGI 0.68 ausgewichen werden.
+ 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
+ Mit CPAN lässt sie sich die Vorgängerversion wie folgt
installieren:force install M/MS/MSTROUT/FCGI-0.68.tar.gz
@@ -1270,52 +1262,367 @@ insserv kivitendo-task-server
+
+ E-Mail-Versand aus kivitendo heraus
+
+ kivitendo kann direkt aus dem Programm heraus E-Mails versenden, z.B. um ein Angebot direkt an einen Kunden zu
+ verschicken. Damit dies funktioniert, muss eingestellt werden, über welchen Server die E-Mails verschickt werden sollen. kivitendo
+ unterstützt dabei zwei Mechanismen: Versand über einen lokalen E-Mail-Server (z.B. mit Postfix oder
+ Exim, was auch die standardmäÃig aktive Methode ist) sowie Versand über einen SMTP-Server (z.B. der des
+ eigenen Internet-Providers).
+
+ Welche Methode und welcher Server verwendet werden, wird über die Konfigurationsdatei config/kivitendo.conf
+ festgelegt. Dort befinden sich alle Einstellungen zu diesem Thema im Abschnitt '[mail_delivery]'.
+
+
+ Versand über lokalen E-Mail-Server
+
+ Diese Methode bietet sich an, wenn auf dem Server, auf dem kivitendo läuft, bereits ein funktionsfähiger E-Mail-Server wie
+ z.B. Postfix, Exim oder Sendmail läuft.
+
+ Um diese Methode auszuwählen, muss der Konfigurationsparameter 'method = sendmail' gesetzt sein. Dies ist
+ gleichzeitig der Standardwert, falls er nicht verändert wird.
+
+ Um zu kontrollieren, wie das Programm zum Einliefern gestartet wird, dient der Parameter 'sendmail =
+ ...'. Der Standardwert verweist auf das Programm /usr/bin/sendmail, das bei allen oben genannten
+ E-Mail-Serverprodukten für diesen Zweck funktionieren sollte.
+
+ Die Konfiguration des E-Mail-Servers selber würde den Rahmen dieses sprengen. Hierfür sei auf die Dokumentation des
+ E-Mail-Servers verwiesen.
+
+
+
+ Versand über einen SMTP-Server
+
+ Diese Methode bietet sich an, wenn kein lokaler E-Mail-Server vorhanden oder zwar einer vorhanden, dieser aber nicht
+ konfiguriert ist.
+
+ Um diese Methode auszuwählen, muss der Konfigurationsparameter 'method = smtp' gesetzt sein. Die folgenden
+ Parameter dienen dabei der weiteren Konfiguration:
+
+
+
+ hostname
+
+ Name oder IP-Adresse des SMTP-Servers. Standardwert: 'localhost'
+
+
+
+ port
+
+ Portnummer. Der Standardwert hängt von der verwendeten Verschlüsselungsmethode ab. Gilt 'security =
+ none' oder 'security = tls', so ist 25 die Standardportnummer. Für 'security =
+ ssl' ist 465 die Portnummer. Muss normalerweise nicht geändert werden.
+
+
+
+ security
+
+ Wahl der zu verwendenden Verschlüsselung der Verbindung mit dem Server. Standardwert ist
+ 'none', wodurch keine Verschlüsselung verwendet wird. Mit 'tls' wird TLS-Verschlüsselung
+ eingeschaltet, und mit 'ssl' wird Verschlüsselung via SSL eingeschaltet. Achtung: Für
+ 'tls' und 'ssl' werden zusätzliche Perl-Module benötigt (siehe unten).
+
+
+
+ login und password
+
+ Falls der E-Mail-Server eine Authentifizierung verlangt, so können mit diesen zwei Parametern der Benutzername
+ und das Passwort angegeben werden. Wird Authentifizierung verwendet, so sollte aus Sicherheitsgründen auch eine Form von
+ Verschlüsselung aktiviert werden.
+
+
+
+ Wird Verschlüsselung über TLS oder SSL aktiviert, so werden zusätzliche Perl-Module benötigt. Diese sind:
+
+
+ TLS-Verschlüsselung: Modul Net::SSLGlue (Debian-Paketname
+ libnet-sslglue-perl, Fedora Core: perl-Net-SSLGlue, openSuSE:
+ perl-Net-SSLGlue
+
+ SSL-Verschlüsselung: Modul Net::SMTP::SSL (Debian-Paketname
+ libnet-smtp-ssl-perl, Fedora Core: perl-Net-SMTP-SSL, openSuSE:
+ perl-Net-SMTP-SSL
+
+
+
+
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 sind das die Pakete:
+ 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:
- texlive-latex-base texlive-latex-extra
- texlive-fonts-recommended
+ aptitude install texlive-base-bin texlive-latex-recommended texlive-fonts-recommended \
+ texlive-latex-extra texlive-lang-german texlive-generic-extra
- Diese hinteren beiden enthalten Bibliotheken und Schriftarten die
- von den Standardvorlagen verwendet werden.
+ TODO: RPM-Pakete.
- TODO: rpm Pakete.
+ kivitendo bringt drei alternative Vorlagensätze mit:
+
+ Standard
+ f-tex
+ RB
+
- 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:
+
+ 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.
-
-
- ! 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.
-
+ Wählen Sie dort einen Benutzer aus oder legen Sie einen neuen an. In der Benutzerbearbeiten-Maske müssen Sie zwei Dinge
+ angeben:
-
- ! Package inputenc Error: Unicode char \u8:æ¡ not set up for
- use with LaTeX. Dieser Fehler tritt auf, wenn sie versuchen mit
- einer Standardinstallation exotische utf8 Zeichen zu drucken.
- TeXLive unterstützt von Haus nur romanische Schriften und muss mit
- diversen Tricks dazu gebracht werden andere Zeichen zu akzeptieren.
- Adere TeX Systeme wie XeTeX schaffen hier Abhilfe.
-
-
+
+ : 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.)
+
+
+ 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
- Wird garkein Fehler angezeigt sondern nur der Name des Templates,
- heiÃt das normalerweise, dass das LaTeX Binary nicht gefunden wurde.
- Prüfen Sie den Namen in der Konfiguration (Standard:
- pdflatex), und stellen Sie sicher, dass pdflatex
- (oder das von Ihnen verwendete System) vom Webserver ausgeführt werden
- darf.
+
+
+ Standard
+
+ Der Standard-Vorlagensatz von Kivitendo. Wie unter http://demo.kivitendo.org zu
+ sehen.
+
+
+
+
+ f-tex
+
+ Ein Vorlagensatz, der in wenigen Minuten alle Dokumente zur Verfügung stellt.
+
+
+ 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
+ "" 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.
+
+
+
+
+ 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 "" 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.
+
+
+
+ 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 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.
+
+
+
+
+ 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 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.
+
+
+
+
+ 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.
+
+
+
+
+ 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 alternativem Design
+
+
+
+
+ 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:... set up for
+ use with LaTeX. Dieser Fehler tritt auf, wenn sie versuchen mit
+ einer Standardinstallation exotische utf8 Zeichen zu drucken.
+ TeXLive unterstützt von Haus nur romanische Schriften und muss mit
+ diversen Tricks dazu gebracht werden andere Zeichen zu akzeptieren.
+ Adere TeX Systeme wie XeTeX schaffen hier Abhilfe.
+
+
+
+ Wird garkein Fehler angezeigt sondern nur der Name des Templates,
+ heiÃt das normalerweise, dass das LaTeX Binary nicht gefunden wurde.
+ Prüfen Sie den Namen in der Konfiguration (Standard:
+ pdflatex), und stellen Sie sicher, dass pdflatex
+ (oder das von Ihnen verwendete System) vom Webserver ausgeführt werden
+ darf.
+
+ Wenn sich das Problem nicht auf Grund der ausgabe im Webbrowser verifizieren lässt:
+
+
+ editiere [kivitendo-home]/config/kivitendo.conf und ändere "keep_tmp_files" auf 1
+ keep_temp_files = 1;
+
+
+ bei fastcgi oder mod_perl den Webserver neu Starten
+
+
+ Nochmal einen Druckversuch im Webfrontend auslösen
+
+
+ wechsele in das users Verzeichnis von kivitendo
+ cd [kivitendo-home]/users
+
+
+ LaTeX Suchpfad anpassen:
+ export TEXINPUTS=".:[kivitendo-home]/templates/[aktuelles_template_verzeichniss]:"
+
+
+ Finde herraus welche Datei kivitendo beim letzten Durchlauf erstellt hat
+ ls -lahtr ./1*.tex
+ Es sollte die letzte Datei ganz unten sein
+
+
+ für besseren Hinweis auf Fehler texdatei nochmals übersetzen
+ pdflatex ./1*.tex
+ in der *.tex datei nach dem Fehler suchen.
+
+
+
@@ -1401,11 +1708,9 @@ insserv kivitendo-task-server
xreflabel="Einführung in die Konfiguration zur EUR">
Einführung
- kivitendo besaà bis inklusive Version 2.6.3 einen
- Konfigurationsparameter namens eur, der sich in der
- Konfigurationsdatei config/lx_office.conf
- befand. Somit galt er für alle Mandanten, die in dieser Installation
- benutzt wurden.
+ kivitendo besaà bis inklusive Version 2.6.3 einen Konfigurationsparameter namens eur, der sich in der
+ Konfigurationsdatei config/kivitendo.conf (damals noch config/lx_office.conf)
+ befand. Somit galt er für alle Mandanten, die in dieser Installation benutzt wurden.Mit der nachfolgenden Version wurde der Parameter zum Einen in
die Mandantendatenbank verschoben und dabei auch gleich in drei
@@ -1482,11 +1787,15 @@ insserv kivitendo-task-server
ändert.Die aktuelle Konfiguration wird unter Nummernkreise und
- Standardkonten unter dem neuen Punkt "Einstellungen" angezeigt
- (read-only). Eine spätere Ãnderung ist für einen bestehenden Mandanten
- nicht mehr möglich. Dies war auch vorher nicht möglich, bzw.
- vorhandene Daten wurden so belassen und haben damit die Ergebnisse
- verfälscht.
+ Standardkonten unter dem neuen Punkt "Einstellungen" (read-only)
+ angezeigt. Unter System
+ -> Mandantenkonfiguration können
+ die Einstellungen auch geändert werden. Dabei ist zu beachten,
+ dass eine Ãnderung vorhandene Daten so belässt und damit
+ evtl. die Ergebnisse verfälscht. Dies gilt vor Allem für die
+ Warenbuchungsmethode (siehe auch
+
+ Bemerkungen zu Bestandsmethode).
@@ -1630,6 +1939,33 @@ insserv kivitendo-task-server
+
+ Einstellungen pro Mandant
+
+ Einige Einstellungen können von einem Benutzer mit dem
+ Recht "Administration
+ (Für die Verwaltung der aktuellen Instanz aus einem Userlogin heraus)"
+ gemacht werden. Diese Einstellungen sind dann für die aktuellen
+ Mandanten-Datenbank gültig. Die Einstellungen sind
+ unter System
+ -> Mandantenkonfiguration erreichbar.
+
+ Bitte beachten Sie die Hinweise zu den einzelnen
+ Einstellungen. Einige Einstellungen sollten nicht ohne Weiteres
+ im laufenden Betrieb geändert werden (siehe
+ auch Bemerkungen zu
+ Bestandsmethode).
+
+ Die Einstellungen show_bestbefore
+ und payments_changeable aus dem
+ Abschnitt features und die Einstellungen im
+ Abschnitt datev_check (sofern schon vorhanden)
+ der kivitendo-Konfigurationsdatei
+ werden bei einem Datenbankupdate einer älteren Version automatisch
+ übernommen. Diese Einträge können danach aus der Konfigurationsdatei
+ entfernt werden.
+
+
kivitendo ERP verwenden
@@ -2209,6 +2545,14 @@ insserv kivitendo-task-server
dem Kürzel das im Dateinamen verwendetet wird.
+
+
+ template_meta.tmpfile
+
+
+ Datei-Prefix für temporäre Dateien.
+
+
@@ -4068,6 +4412,18 @@ insserv kivitendo-task-server
und dem "end" werden nur ausgegeben, wenn die Variable
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:
@@ -5417,6 +5773,151 @@ filenames
+
+ Die kivitendo-Test-Suite
+
+
+ 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.
+
+
+
+
+ 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)
+ 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.
+
+
+
+
+
+ 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
+ dem kivitendo-Basisverzeichnis heraus ausführen.
+
+ Um einzelne Test-Scripte auszuführen, übergibt man deren Namen an t/test.sh. Beispielsweise:
+
+ t/test.sh t/form/format_amount.t t/background_job/known_jobs.t
+
+
+
+
+
+ Bedeutung der verschiedenen Test-Scripte
+
+
+ Die Test-Suite umfasst Tests sowohl für Funktionen als auch für Programmierstil. Einige besonders zu erwähnende, weil auch
+ während der Entwicklung nützliche Tests sind:
+
+
+ t/001compile.t -- compiliert alle Quelldateien und bricht bei Fehlern sofort ab
+ t/002goodperl.t -- überprüft alle Perl-Dateien auf Anwesenheit von 'use strict'-Anweisungen
+ t/003safesys.t -- überprüft Aufrufe von system() und exec() auf Gültigkeit
+ t/005no_tabs.t -- überprüft, ob Dateien Tab-Zeichen enthalten
+ t/006spelling.t -- sucht nach häufigen Rechtschreibfehlern
+ t/011pod.t -- überprüft die Syntax von Dokumentation im POD-Format auf Gültigkeit
+
+
+ Weitere Test-Scripte überprüfen primär die Funktionsweise einzelner Funktionen und Module.
+
+
+
+
+ Neue Test-Scripte erstellen
+
+
+ Es wird sehr gern gesehen, wenn neue Funktionalität auch gleich mit einem Test-Script abgesichert wird. Auch bestehende
+ Funktion darf und soll ausdrücklich nachträglich mit Test-Scripten abgesichert werden.
+
+
+
+ Ideen für neue Test-Scripte, die keine konkreten Funktionen testen
+
+
+ Ideen, die abgesehen von Funktions noch nicht umgesetzt wurden:
+
+
+ Ãberprüfung auf fehlende symbolische Links
+ Suche nach Nicht-ASCII-Zeichen in Perl-Code-Dateien (mit gewissen Einschränkungen wie das Erlauben von deutschen Umlauten)
+ Test auf DOS-Zeilenenden (\r\n anstelle von nur \n)
+ Ãberprüfung auf Leerzeichen am Ende von Zeilen
+ Test, ob alle zu übersetzenden Strings in locale/de/all vorhanden sind
+ Test, ob alle Webseiten-Templates in templates/webpages mit vom Perl-Modul Template compiliert werden können
+
+
+
+
+
+ Konvention für Verzeichnis- und Dateinamen
+
+
+ Es gibt momentan eine wenige Richtlinien, wie Test-Scripte zu benennen sind. Bitte die folgenden Punkte als Richtlinie betrachten und ihnen soweit es geht folgen:
+
+
+ Die Dateiendung muss .t lauten.
+
+ Namen sind englisch, komplett klein geschrieben und einzelne Wörter mit Unterstrichten getrennt (beispielsweise
+ bad_function_params.t).
+
+ Unterverzeichnisse sollten grob nach dem Themenbereich benannt sind, mit dem sich die Scripte darin befassen
+ (beispielsweise background_jobs für Tests rund um Hintergrund-Jobs).
+
+ Test-Scripte sollten einen überschaubaren Bereich von Funktionalität testen, der logisch zusammenhängend ist
+ (z.B. nur Tests für eine einzelne Funktion in einem Modul). Lieber mehrere Test-Scripte schreiben.
+
+
+
+
+
+ Minimales Skelett für eigene Scripte
+
+
+ Der folgenden Programmcode enthält das kleinstmögliche Testscript und kann als Ausgangspunkt für eigene Tests verwendet werden:
+
+ use Test::More tests => 0;
+
+use lib 't';
+
+use Support::TestSetup;
+
+Support::TestSetup::login();
+
+ Wird eine vollständig initialisierte kivitendo-Umgebung benötigt (Stichwort: alle globalen Variablen wie
+ $::auth, $::form oder $::lxdebug), so muss in der Konfigurationsdatei
+ config/kivitendo.conf im Abschnitt testing.login ein gültiger Login-Name eingetragen
+ sein. Dieser wird für die Datenbankverbindung benötigt.
+
+ Wir keine vollständig initialisierte Umgebung benötigt, so kann die letzte Zeile Support::TestSetup::login();
+ weggelassen werden, was die Ausführungszeit des Scripts leicht verringert.
+
+
+
+
Stil-Richtlinien