Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
[kivitendo-erp.git] / doc / html / ch04s02.html
index e8b7b7b..2e0b197 100644 (file)
@@ -1,42 +1,42 @@
 <html><head>
 <html><head>
-      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-   <title>4.2. Entwicklung unter FastCGI</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="Lx-Office: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"><link rel="prev" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"><link rel="next" href="ch04s03.html" title="4.3. SQL-Upgradedateien"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.2. Entwicklung unter FastCGI</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 4. Entwicklerdokumentation</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch04s03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="4.2. Entwicklung unter FastCGI"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="devel.fcgi"></a>4.2. Entwicklung unter FastCGI</h2></div></div></div><div class="sect2" title="4.2.1. Allgemeines"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.general"></a>4.2.1. Allgemeines</h3></div></div></div><p>Wenn Änderungen in der Konfiguration von Lx-Office gemacht
-        werden, muss der Webserver neu gestartet werden.</p><p>Bei der Entwicklung für FastCGI ist auf ein paar Fallstricke zu
-        achten. Dadurch, dass das Programm in einer Endlosschleife läuft,
-        müssen folgende Aspekte beachtet werden.</p></div><div class="sect2" title="4.2.2. Programmende und Ausnahmen"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.exiting"></a>4.2.2. Programmende und Ausnahmen</h3></div></div></div><p>Betrifft die Funktionen <code class="function">warn</code>,
+      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+   <title>4.2. Entwicklung unter FastCGI</title><link rel="stylesheet" type="text/css" href="style.css"><meta name="generator" content="DocBook XSL Stylesheets V1.76.1-RC2"><link rel="home" href="index.html" title="kivitendo: Installation, Konfiguration, Entwicklung"><link rel="up" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"><link rel="prev" href="ch04.html" title="Kapitel 4. Entwicklerdokumentation"><link rel="next" href="ch04s03.html" title="4.3. SQL-Upgradedateien"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.2. Entwicklung unter FastCGI</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04.html">Zurück</a>&nbsp;</td><th width="60%" align="center">Kapitel 4. Entwicklerdokumentation</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch04s03.html">Weiter</a></td></tr></table><hr></div><div class="sect1" title="4.2. Entwicklung unter FastCGI"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="devel.fcgi"></a>4.2. Entwicklung unter FastCGI</h2></div></div></div><div class="sect2" title="4.2.1. Allgemeines"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.general"></a>4.2.1. Allgemeines</h3></div></div></div><p>Wenn Änderungen in der Konfiguration von kivitendo gemacht
+        werden, muss der Webserver neu gestartet werden.</p><p>Bei der Entwicklung für FastCGI ist auf ein paar Fallstricke zu
+        achten. Dadurch, dass das Programm in einer Endlosschleife läuft,
+        müssen folgende Aspekte beachtet werden.</p></div><div class="sect2" title="4.2.2. Programmende und Ausnahmen"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.exiting"></a>4.2.2. Programmende und Ausnahmen</h3></div></div></div><p>Betrifft die Funktionen <code class="function">warn</code>,
         <code class="function">die</code>, <code class="function">exit</code>,
         <code class="function">carp</code> und <code class="function">confess</code>.</p><p>Fehler, die dass Programm normalerweise sofort beenden (fatale
         Fehler), werden mit dem FastCGI Dispatcher abgefangen, um das Programm
         am Laufen zu halten. Man kann mit <code class="function">die</code>,
         <code class="function">confess</code> oder <code class="function">carp</code> Fehler
         <code class="function">die</code>, <code class="function">exit</code>,
         <code class="function">carp</code> und <code class="function">confess</code>.</p><p>Fehler, die dass Programm normalerweise sofort beenden (fatale
         Fehler), werden mit dem FastCGI Dispatcher abgefangen, um das Programm
         am Laufen zu halten. Man kann mit <code class="function">die</code>,
         <code class="function">confess</code> oder <code class="function">carp</code> Fehler
-        ausgeben, die dann vom Dispatcher angezeigt werden. Die Lx-Office
+        ausgeben, die dann vom Dispatcher angezeigt werden. Die kivitendo
         eigene <code class="function">$::form-</code>error()&gt; tut im Prinzip das
         Gleiche, mit ein paar Extraoptionen. <code class="function">warn</code> und
         <code class="function">exit</code> hingegen werden nicht abgefangen.
         <code class="function">warn</code> wird direkt nach STDERR, also in Server Log
         eine Nachricht schreiben (sofern in der Konfiguration nicht die
         eigene <code class="function">$::form-</code>error()&gt; tut im Prinzip das
         Gleiche, mit ein paar Extraoptionen. <code class="function">warn</code> und
         <code class="function">exit</code> hingegen werden nicht abgefangen.
         <code class="function">warn</code> wird direkt nach STDERR, also in Server Log
         eine Nachricht schreiben (sofern in der Konfiguration nicht die
-        Warnungen in das Lx-Office Log umgeleitet wurden), und
-        <code class="function">exit</code> wird die Ausführung beenden.</p><p>Prinzipiell ist es kein Beinbruch, wenn sich der Prozess
+        Warnungen in das kivitendo Log umgeleitet wurden), und
+        <code class="function">exit</code> wird die Ausführung beenden.</p><p>Prinzipiell ist es kein Beinbruch, wenn sich der Prozess
         beendet, fcgi wird ihn sofort neu starten. Allerdings sollte das die
         Ausnahme sein. Quintessenz: Bitte kein <code class="function">exit</code>
         benutzen, alle anderen Exceptionmechanismen sind ok.</p></div><div class="sect2" title="4.2.3. Globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.globals"></a>4.2.3. Globale Variablen</h3></div></div></div><p>Um zu vermeiden, dass Informationen von einem Request in einen
         beendet, fcgi wird ihn sofort neu starten. Allerdings sollte das die
         Ausnahme sein. Quintessenz: Bitte kein <code class="function">exit</code>
         benutzen, alle anderen Exceptionmechanismen sind ok.</p></div><div class="sect2" title="4.2.3. Globale Variablen"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.globals"></a>4.2.3. Globale Variablen</h3></div></div></div><p>Um zu vermeiden, dass Informationen von einem Request in einen
-        anderen gelangen, müssen alle globalen Variablen vor einem Request
+        anderen gelangen, müssen alle globalen Variablen vor einem Request
         sauber initialisiert werden. Das ist besonders wichtig im
         <code class="varname">$::cgi</code> und <code class="varname">$::auth</code> Objekt, weil
         sauber initialisiert werden. Das ist besonders wichtig im
         <code class="varname">$::cgi</code> und <code class="varname">$::auth</code> Objekt, weil
-        diese nicht gelöscht werden pro Instanz, sondern persistent gehalten
+        diese nicht gelöscht werden pro Instanz, sondern persistent gehalten
         werden.</p><p>In <code class="classname">SL::Dispatcher</code> gibt es einen sauber
         abgetrennten Block, der alle kanonischen globalen Variablen listet und
         werden.</p><p>In <code class="classname">SL::Dispatcher</code> gibt es einen sauber
         abgetrennten Block, der alle kanonischen globalen Variablen listet und
-        erklärt. Bitte keine anderen einführen ohne das sauber zu
+        erklärt. Bitte keine anderen einführen ohne das sauber zu
         dokumentieren.</p><p>Datenbankverbindungen wird noch ein Guide verfasst werden, wie
         man sicher geht, dass man die richtige erwischt.</p></div><div class="sect2" title="4.2.4. Performance und Statistiken"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.performance"></a>4.2.4. Performance und Statistiken</h3></div></div></div><p>Die kritischen Pfade des Programms sind die Belegmasken, und
         unter diesen ganz besonders die Verkaufsrechnungsmaske. Ein Aufruf der
         dokumentieren.</p><p>Datenbankverbindungen wird noch ein Guide verfasst werden, wie
         man sicher geht, dass man die richtige erwischt.</p></div><div class="sect2" title="4.2.4. Performance und Statistiken"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.performance"></a>4.2.4. Performance und Statistiken</h3></div></div></div><p>Die kritischen Pfade des Programms sind die Belegmasken, und
         unter diesen ganz besonders die Verkaufsrechnungsmaske. Ein Aufruf der
-        Rechnungsmaske in Lx-Office 2.4.3 stable dauert auf einem Core2duo mit
+        Rechnungsmaske in kivitendo 2.4.3 stable dauert auf einem Core2duo mit
         4GB Arbeitsspeicher und Ubuntu 9.10 eine halbe Sekunde. In der 2.6.0
         sind es je nach Menge der definierten Variablen 1-2s. Ab der
         Moose/Rose::DB Version sind es 5-6s.</p><p>Mit FastCGI ist die neuste Version auf 0,26 Sekunden selbst in
         4GB Arbeitsspeicher und Ubuntu 9.10 eine halbe Sekunde. In der 2.6.0
         sind es je nach Menge der definierten Variablen 1-2s. Ab der
         Moose/Rose::DB Version sind es 5-6s.</p><p>Mit FastCGI ist die neuste Version auf 0,26 Sekunden selbst in
-        den kritischen Pfaden, unter 0,15 sonst.</p></div><div class="sect2" title="4.2.5. Bekannte Probleme"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.known-issues"></a>4.2.5. Bekannte Probleme</h3></div></div></div><div class="sect3" title="4.2.5.1. Encoding Awareness"><div class="titlepage"><div><div><h4 class="title"><a name="devel.fcgi.known-issues.encoding"></a>4.2.5.1. Encoding Awareness</h4></div></div></div><p>UTF-8 kodierte Installationen sind sehr anfällig gegen
+        den kritischen Pfaden, unter 0,15 sonst.</p></div><div class="sect2" title="4.2.5. Bekannte Probleme"><div class="titlepage"><div><div><h3 class="title"><a name="devel.fcgi.known-issues"></a>4.2.5. Bekannte Probleme</h3></div></div></div><div class="sect3" title="4.2.5.1. Encoding Awareness"><div class="titlepage"><div><div><h4 class="title"><a name="devel.fcgi.known-issues.encoding"></a>4.2.5.1. Encoding Awareness</h4></div></div></div><p>UTF-8 kodierte Installationen sind sehr anfällig gegen
           fehlerhfate Encodings unter FCGI. latin9 Installationen behandeln
           falsch kodierte Zeichen eher unwissend, und geben sie einfach
           weiter. UTF-8 verweigert bei fehlerhaften Programmpfaden kurzerhand
           das Ausliefern. Es wird noch daran gearbeitet, alle Fehler da zu
           fehlerhfate Encodings unter FCGI. latin9 Installationen behandeln
           falsch kodierte Zeichen eher unwissend, und geben sie einfach
           weiter. UTF-8 verweigert bei fehlerhaften Programmpfaden kurzerhand
           das Ausliefern. Es wird noch daran gearbeitet, alle Fehler da zu
-          beseitigen.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch04.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch04s03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 4. Entwicklerdokumentation&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;4.3. SQL-Upgradedateien</td></tr></table></div></body></html>
\ No newline at end of file
+          beseitigen.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04.html">Zurück</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch04.html">Nach oben</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch04s03.html">Weiter</a></td></tr><tr><td width="40%" align="left" valign="top">Kapitel 4. Entwicklerdokumentation&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Zum Anfang</a></td><td width="40%" align="right" valign="top">&nbsp;4.3. SQL-Upgradedateien</td></tr></table></div></body></html>
\ No newline at end of file