Startseite   Impressum   Kontakt   

Easy Publisher Perl Version (OLD)

1.Die Easy Publisher Komponenten

Der Easy Publisher ist in verschiedene Module unterteilt um eine möglichst hohe Arbeitsgeschwindigkeit zu erreichen.

1.1 op-parsertype

Die parsenden Komponenten sind immer auf Ihren spezifischen Einsatz optimiert und bieten jeweils die optimale Schnittstelle zur Datenquelle.

Zur Verfügung stehen:

  • op-txt.pl = Datenquelle ist eine Textdatei
  • op-msql.pl = Datenquelle ist eine Mini-SQL Datenbank
  • opsyb.pl = Datenquelle ist eine Sybase Datenbank
  • opodbc.pl = Datenquelle ist eine ODBC Datenbank (MSQL, Access, Oracle)

1.2 op.cfg

Der Schlüssel für den erfolgreichen Einsatz des Easy Publisher stellt die op.cfg Datei dar. Dieser teilt dem eigentlichen Parser mit, wie er mit den Daten umgehen soll und in welcher Form er diese Daten aus der Datenquelle lesen kann. Zu diesem Zweck ist eine einfache, aber effektive Sprache entwickelt worden. Wobei hier das Wort Sprache nicht allzu ernst genommen werden darf, es geht hier nicht darum, die X-te Programmiersprache zu lernen oder eine ausgeklügelte Programmiersprache zur Verfügung zu stellen. Ziel dieser Sprache war es, eine von der Datenquelle unabhängige Komponente einzubauen, die jederzeit auch auf eine andere Datenquelle zugreifen kann. Somit ist der Begriff Config-Sprache sicherlich näher an der Realität.

1.3 Perl

Da diese Version des Easy Publisher in der Programmiersprache Perl geschrieben ist, wird dieses Programm auf Ihrem Rechner benötigt. Perl gehört nicht direkt zu den Komponenten des Easy Publisher, aber ohne diesen Compiler kann der Easy Publisher nicht arbeiten.

1.4 Die TMP- oder TEMP-Files

Diese Files stellt die HTML Seite dar, die sie den op-parsetype zur Verfühgung stellen.

Es gibt drei TEMP-File Typen.

  • HEAD = Kopf der HTML-Seite
  • BODY = dynamischer Teil der HTML-Seite
  • FOOT = Abschluß der HTML Seite

1.5 Datenquelle

Die Datenquelle wird ebenfalls von Ihnen zur Verfühgung gestellt und kann eine Datenbank oder eine Textdatei sein. In dieser Datenquelle stehen die dynamischen Informationen die in den Body-TEMP eingebaut werden.

2. Systemvoraussetzungen

2.1 Offline Betrieb

Zum Betreiben des Easy Publishers benötigen sie ein Betriebssystem für den der Perl Interpreter existiert. Weiter benötigen Sie je nach Datenquelle die verschiedenen Perl - Bibliotheken um ggf. die Datenbank anzusprechen. Diese werden mit der Perl Sprache für Ihr Betriebssystem mitgeliefert und befinden sich auf der CD. Ansonsten können Sie die Bibliotheken und den Perl Interpreter auch unter http://www.perl.com downloaden.

2.2 Online Betrieb

Soll der Easy Publisher als CGI fungieren, so sind auch die notwendigen Systemteile vorauszusetzen. Sie benötigen also einen Web-Server von dem aus Perl Programme als CGI ausführbar sind. Sollten hierzu noch Fragen offen sein, so wenden sie sich bitte an Ihren Provider, dieser hat bestimmt Erfahrung in der Installation solcher Systeme.

3. Funktionsweise

Wenn man die Funktionsweise des Easy Publisher kennt, hilft einem dieses bei der Installation und ggf. auch bei der Fehlerbehebung, sowie bei der nachträglichen Pflege des Easy Publisher oder der Internet-Präsentationen die mit dem Easy Publisher realisiert wurden. Die Grundidee des Easy Publisher ist es, immer wiederkehrende Teile einer HTML-Seite mit dynamischen Inhalten zu füllen. Dieses bietet sich natürlich bei immer wieder zu erneuernden Inhalten an, ist aber nicht auf dieses Einsatzgebiet beschränkt. Wenn das Einsatzgebiet so weit gefächert ist und auch die einzelnen Systembestandteile nicht bekannt sind, muß man auf eine streng MODULAR aufgebaute Lösung setzten "und genau so funktioniert auch der Easy Publisher, streng MODULAR". Die einzelnen Bestandteile haben wir ja schon im Komponentenkapitel kennengelernt und nun soll dessen Zusammenspiel etwas erläutert werden. Das aufzurufende Programm ist immer das op-parsetype.pl Programm. In einem Fall für eine Textdateilösung wäre es also op-txt.pl, daß ausgeführt werden muß.

WICHTIG!!!
Denken Sie daran, es handelt sich um eine Perl Lösung. Das heißt, daß Programm muß mit dem Perl Interpreter aufgerufen werden (z.B. C:\DEV\PERL\PERL:EXE D:\OP\OP-TXT.PL)

Dieses Programm sucht im gleichen Verzeichnis nach der op.cfg Datei. In dieser Datei stehen alle Informationen die das op-parsetype.pl Programm benötigt. Danach werden die Temp-Dateien, die im op.cfg beschrieben werden, eingeladen.

Jetzt wird ein Connect zu den dynamischen Datenquellen aufgebaut. Im Falle einer Datenbanklösung wird also jetzt die Datenbank geöffnet und ein "Select" losgeschickt. Sollte es sich um eine Textdateilösung handeln, wird das Text-File geöffnet und gelesen.

Die einzelnen Informationsfelder werden dem dynamischen Temp-Files anhand der Datenfelder zugeordnet. Danach werden die Head- sowie der Footteil der Temp-Files mit dem dynamischen Teil verbunden und an die im op.cfg File angegebene Stelle geschrieben.

Den genauen Arbeitsablauf zu erklären ist nicht nötig, es genügt ein einfacher Überblick um die meisten Probleme zu lösen und um ein effektives System zu installieren.

4. Installation

Die Installation erfolgt in 5 Schritten und kann mit geringen Kenntnissen über das Betriebssystem vorgenommen werden. Wir werden hier auf die generellen Schritte eingehen, die Sie dann einfach auf Ihr System übertragen. Eine Ausnahme bildet hier der Online Betrieb, da hier größere Kenntnisse über das bestehende System vorliegen müssen und sich auch die Serverlösungen zu stark von einander unterscheiden. Zum Online-Betrieb ist nur der Hinweis nötig, daß Perl als Sprache installiert sein muß und auch im Path liegen sollte, da der Easy Publisher als normales CGI in den Web - Auftritt integriert wird, dürfte es für den System Administrator keine großen Schwierigkeiten geben den Easy Publisher zu installieren. Wir gehen deshalb auf die lokale Installation ein.

Schritt 1:
Kopieren Sie den Perl Ordner auf Ihre Festplatte (bei Windows Systemen z.B. nach C:\Perl). Oder starten Sie den Installer im Perl Ordner auf der CD.

WICHTIG!!! Bei den meisten UNIX Systemen (also auch Linux) ist Perl schon installiert. Schauen Sie bitte auf Ihrem System nach und stellen Sie den Path fest unter dem Perl installiert ist.

Schritt 2:
Kopieren Sie die benötigten Easy Publisher Dateien in einen Ordner Ihrer Wahl (z.B. C:\OnlineParser).

Je nach Datenquelle sind folgende Programme notwendig:

  • op.txt.pl bei einer Text Datei als Datenquelle
  • op.sql.pl bei einer MiniSql Datenbank als Datenquelle
  • op.syb.pl bei einer Sybase Datenbank als Datenquelle
  • op-odbc.pl bei einer ODBC Datenbank als Datenquelle

Bei einer Datenbanklösung ist noch die Datei op-db.cfg zu kopieren. Weiter brauchen Sie die op.cfg Datei und die op-start.bat Datei.

Schritt 3:
Tragen Sie in die op-start.bat den Path zu den Perl-Compiler ein (z.B. C:\PERL\BIN\PERL.EXE) und als zweites aufzurufendes Programm den Easy Publisher (z.B. C:\Easy Publisher\op.txt.pl)

WICHTIG!!!
Bei UNIX Systemen muß diese Datei ausführbar gemacht werden (z.B. chmod 755).

In der op-start.bat stellt sich das so dar.

C:\PERL\BIN\PERL.EXE C:\Easy Publisher\op.txt.pl

Wenn sie die Datei op-db.cfg mit Kopiert haben, also eine Datenbanklösung installieren möchten, so tragen Sie Bitte noch den Path zu den Perl Libs ein.

Der Path würde bei einer Perl Installation nach

C:\PERL

folgendermaßen aussehen:

C:\PERL\LIBS\

Schritt 4:
Als letzter Schritt ist nun die op.cfg Datei zu konfigurieren. Da dieses etwas umfangreicher ist, lesen Sie hierzu Bitte die Kapitel "Die op.cfg Komponenten" und "Konfiguration" genau durch. Wenn Sie alle Schritte befolgt haben, so können Sie den Easy Publisher mit der op-start.bat starten.

5. Erstellung der TEMP-File

Die Temp-Files stellen zusammen mit der Datenquelle die Basis für die Ausgabe des Easy Publisher. Stehen bei der Datenquelle die Kontrolle, die Inhalte und Funktionen der Datenbehandlung im Vordergrund, so ist bei den Temp-Files die gestalterische Freiheit und Unabhängigkeit von zukünftigen Entwicklungen im Vordergrund. Diese Freiheit wurde durch Lösung von eigenen Sprachelementen oder Befehlen erreicht, gleichzeitig wurde aber auch auf die schnelle Umsetzung oder Umstellung geachtet. Somit haben wir eine einfache aber effektive und zukunftsichere Lösung gefunden um Ihre Daten in die Sprache des Netzes zu integrieren.

5.1 Die drei TEMP Files

Die drei benötigten Fiel-Typen wurden ja schon einmal kurz vorgestellt. Hier soll nun anhand eines praktischen Beispiels dessen Entstehung und Inhalt gezeigt werden.

Wir gehen zunächst davon aus, daß wir eine Seite mit dynamischen Inhalten füllen wollen. Diese Inhalte stehen in einer Datenbank oder einer Textdatei. Schauen wir uns die Felder der Datenbank einmal an.

Die Datenbankfelder:
ID Voname Nachname


Der Inhalt der Datenbank hat für die Erstellung der Temp-Files erst einmal keine Bedeutung.

5.2 Der Kopf

Im Kopf steht immer der Anfang der HTML-Seite. Dieser wird nur einmal geschrieben und zwar zu Beginn. Dieser Teil wird vom Easy Publisher nicht mit den Datenquellen in Verbindung gebracht.

Unser Kopf sieht Folgendermaßen aus:

<HTML>
<HEAD>
<TITLE>Mitarbeiter</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">


<TABLE>
<TR>
<TD><B>Unsere Mitarbeiter</B></TD>
<TR>

Wenn sie sich etwas mit HTML auskennen dürfte ihnen dieser Teil keine Probleme bereiten. Nur kurz zum Verständnis: es wird eine HTML Seite mit dem Titel "Mitarbeiter" eröffnet. Die Hintergrundfarbe ist weiß und es wird eine Tabelle eröffnet und nicht wieder geschlossen. Daran dürfen sie sich erst einmal nicht zu stören, denn bis dahin alles normales HTML. Wir speichern das Ganze einfach als head.tmp in das Verzeichnis c:\Projekte

5.3 Der Fuß

Nun wollen wir uns den Abschluß der HTML Seite Anschauen. Dieser ist genauso unspektakulär wie der Beginn der Seite.

</TABLE>
</BODY>
</HTML>

Zu unserem Beispiel ist zu beachten, daß hier die Tabelle geschlossen wird die wir im Kopf eröffnet haben. Diese Datei speichern wir ebenfalls nach C:\Projekte und geben Ihr den Namen "foot.tmp".

WICHTIG!!! Kopf- und Fußseite "müssen" eine absolut korrekte HTML Seite ergeben.

5.4 Der Body

Nun gehen wir ans Eingemachte:
Im Body-Teil stehen nun alle Daten die der Easy Publisher verarbeitet und ersetzt. Hierbei gilt eine sehr einfache Regel: wird ein Teil in dem Body-Temp gefunden der dem Easy Publisher bekannt ist wird dieser Teil durch den Inhalt aus der Datenquelle ersetzt. Aber woher weis der Easy Publisher was er ersetzen soll? Hierfür ist eine einfache Regelung getroffen worden die HTML-Komform ist.

5.4.1 Die Body Syntax

Der Easy Publisher sucht immer nach folgender Syntax:

<!--OP:DATENFELD-->

Dieses ist ein HTML-Kommentar und wird selbst wenn er nicht ersetzt wird nicht von einem HTML Browser berücksichtigt.

Kommen wir auf unser Beispiel zurück und schauen uns an wie der Body-Teil aussieht.

<TR>
<TD><!--OP:ID--></TD>
<TD><!--OP:Vorname--></TD>
<TD><!--OP:Nachname--></TD>
</TR>

Mehr ist es auch hier nicht. Dieses speichern wir ebenfalls nach "C:\Projekte" unter dem Namen "body.tmp" ab. Der Easy Publisher erkennt nun die von uns eingetragene Teile und wird sie durch die entsprechenden Inhalte ersetzen. Für weiter Informationen der Bekanntmachung von Datenfeldern lesen sie bitte Kapitel 7 und 8.

5.4.2 Vor und zurück

Eine kleine Sonderstellung nehmen die Anweisungen "<!--OPNEXT-->" und "<!--OPBACK-->" ein, die für das Vor- oder zurück blättern zuständig sein können. Siehe hierzu auch 8.4.4 Vor- und Zurückfunktion.

6. Erstellung von einem op.cfg File

6.1 Allgemeines

Das "op.cfg" File kann mit jedem Standart Editor oder mit einer Textverarbeitung erstellt werden. Es basiert auf einem reinen ASCII-File und benötigt keinerlei Kompilierung oder Konvertierung. Sollten Sie das "op.cfg" File mit einer Textverarbeitung erstellen, so ist darauf zu achten, daß es im ASCII Format abgespeichert wird.

6.2 Zeilenorientiert

"op.cfg" ist absolut zeilenorientiert, daß heißt, eine Kommandozeile endet immer mit der nächsten Zeile und nicht wie es oft gemacht wird mit Sonderzeichen.

WICHTIG!!! Da der Easy Publisher als Abschluß eines Kommandos immer den Zeilenumbruch nimmt, ist besonders auf das Dokumentenformat zu achten. Hier gibt es von Mac über UNIX und Windows große Unterschiede und das "op.cfg" File muß in der richtigen ASCII Konvertierung gespeichert werden.

7. Op.cfg Syntax

7.1 Allgemeines

Eine Kommandozeile enthält immer (außer bei Kommentaren) den Befehl und eine Befehlszuordnung, ggf. kommt noch eine Inhaltsangabe dazu. Der Befehl ist von der Zuordnung mit einem Gleichheitszeichen ("=") getrennt und die Inhaltsangabe wird mit einem ">" Zeichen zugeordnet.

7.2 Beispielhaft

Beispiel ohne Inhaltsangabe:
body_temp=D:\PROJEKTE\Easy Publisher\BODY.TMP


Befehl: body_temp
Zuordnung: D:\PROJEKTE\Easy Publisher\BODY.TMP


Beispiel mit Inhaltsangabe:
html_file=D:\PROJEKTE\Easy Publisher\DISKETTEN.HTML>DISKETTEN

Befehl: html_file
Zuordnung: D:\PROJEKTE\Easy Publisher\DISKETTEN.HTML
Inhaltsangabe: DISKETTEN

7.3 Sprachgruppen

Es gibt 5 Sprachgruppen die jeweils einen Aufgabenbereich abdecken. Mit diesen 5 Sprachgruppen wird der komplette Datenaustausch zwischen der Datenquelle, den Temp Files und der zu erstellenden HTML-Seiten geregelt.

Diese sind:

  • Kommentar = für einfügung von Hinweisen
  • TEMP-Files = regelt die TEMP-File
  • Datenquelle = Umgang mit der Datenquelle
  • Datenausgabe = regelt die ausgegebenen HTML-Seiten
  • Feld Behandlung = Sonderfunktionen für Datentypenbehandlung

8. Sprachgruppen

8.1 Kommentare

Einer der einfachsten Sprachgruppen ist die Kommentar Sprachgruppe. Sie ist aber auch eine der nützlichsten wenn es darum geht, daß op.cfg übersichtlich zu halten. Es erlaubt Ihnen eine Zeile zu schreiben die vom Parser ignoriert wird und Ihnen Platz für wichtige Kommentare gibt.

Syntax:
// Kommentar


Befehl:
// kann angegeben werden


Erläuterung:
Mit dem "//" wird der Kommentar eingeleitet. Steht ein solcher Doppelslash zu Beginn einer Zeile, so wird Sie ignoriert. Anders als in anderen Sprachen ist der Doppelslash nur zu Beginn einer Zeile zulässig.

1.Beispiel:

// Path des Body Temp
body_temp=D:\PROJEKTE\Easy Publisher\BODY.TMP


2.Beispiel:

body_temp=D:\PROJEKTE\Easy Publisher\BODY.TMP // Path des Body Temp


Beispiel 1 ist zulässig während Beispiel 2 zu einem Fehler führt, da 2 Befehle in einer Zeile stehen.

8.2 Datenquelle anzapfen

Als Datenquelle wird die Datei oder Datenbank bezeichnet, in denen die dynamischen Informationen für die fertigzustellenden HTML-Seiten gespeichert sind. Es gibt also Befehle für den Datenbankzugriff und für den Textzugriff. Weiter gibt es noch Befehle die für das Dateninhalt Handling zuständig sind.

8.2.1 Textdateien

Zuerst gehen wir davon aus, daß die Datenquelle eine Textdatei ist. In dieser Textdatei sind Vorname und Nachname einzelner Mitarbeiter gespeichert. Weiter gehört zu jedem Mitarbeiter eine ID die, diesem eindeutig zugeordnet ist.

Sehen wir uns den Aufbau dieser Tabelle einmal an:
ID Voname Nachname
1 Michael Mustermann
2 Chantal Musterfrau
3 Anthony Burgess

Nehmen wir weiter an, der Name der Textdatei sei "mitarbeiter.txt", der Pfad sei "c:\quellen" und die Daten währen durch Kommas getrennt. Der Inhalt der Textdatei "mitarbeiter.txt" sehe demnach Folgendermaßen aus:

1,Michael,Mustermann
2,Chantal,Musterfrau
3,Anthony,Burgess


Die Anweisungen in der "op.cfg" sehen für diese Datei folgendermaßen aus:

txt_file= c:\quellen\mitarbeiter.txt
txt_breaker=,


database_field=ID
database_field=vorname
database_field=nachname


Diese fünf Zeilen sind alles was in der "op.cfg" zu den Datenquellen stehen muß. Bei den "database_field " Befehlen ist bei Textdateien als Datenquelle einiges zu beachten. Die Namen (ID,vorname,nachname) können frei gewählt werden. Sie müssen nur in der gleichen Reihenfolge wie in der Textdatei stehen. In unserem Fall dürfte das Feld "ID" nicht am Schluß stehen.

8.2.2 Datenbanken

Etwas aufwendiger ist der Zugriff auf eine Datenbank, denn hier müssen natürlich auch mehr Informationen vorhanden sein. Die Optionen und die Flexibilität steigern sich aber mit einer Datenbank als Quelle. Wir bleiben bei unserem Beispiel und sagen, wir haben eine Datenbank namens "MUSTER_FIRMA" in der es eine Tabelle "MITARBEITER" gibt. Die Tabelle hat 3 Datenfelder

ID voname nachname

die mit den bekannten Inhalten gefüllt sind.

1 Michael Mustermann
2 Chantal Musterfrau
3 Anthony Burgess


Der dazugehörige "op.cfg" Teil sieht folgendermaßen aus:

database_name=MUSTER_FIRMA
dartabase_table=MITARBEITER


database_field=ID
database_field=vorname
database_field=nachname


Bei den "database_field" gibt es nun keine Anordnungspflicht mehr. Das "ID" Feld kann durchaus hinter dem "vorname" Feld stehen.

Wir sehen auch sofort den Vorteil des Easy Publisher, was die Flexibilität angeht. Mit nur 2 Änderungen in dem "op.cfg" File wird aus einer Textdatei Lösung eine Datenbank Lösung und umgekehrt.

Aber was ist wenn ich die Daten sortiert zurück bekommen möchte? Kein Problem mit dem Befehl "database_order" können wir das Feld für die Sortierung bestimmen. Nehmen wir an, wir möchten die Ausgabe nach dem Nachnamen sortiert zurück haben, so würden wir einfach unsere "op.cfg" File um folgende Zeile erweitern:

database_order=nachname


Einen Überblick über alle Datenbankbefehle mit der entsprechenden Erklärung finden sie im Anhang A.

8.3 TEMP Files einbinden

In den TEMP-Files liegen die HTML-Informationen für den Easy Publisher. Da diese irgendwo auf dem Computer gespeichert sein können müssen wir im "op.cfg" die Lage der drei TEMP-Files bekannt geben.

Nehmen wir an, wir haben einen "HEAD.temp" im "C:\Projekt" Verzeichnis liegen und wollen dieses als TEMP-File einbinden, dann sieht das in der "op.cfg" so aus:

head_temp=C:\Projekt\HEAD.temp

Die Namen der Temp-Files sind frei wählbar, genauso wie die Lage auf dem Rechner. Der Easy Publisher benötigt nur Leserechte auf die Files. Netzangaben wie HTTP://199.123.20.90 oder HTTP://www.server.de sind nicht zulässig.

Für weiter Informationen sehen sie bitte im Kapitel TEMP-File oder im Anhang A nach.

8.4 Wohin damit? (HTML-Seite schreiben)

Die Sprachgruppe Datenausgabe regelt das Schreiben der HTML-Seiten auf die Festplatte. Trotz einfacher und klarer Befehle sind sehr unterschiedliche Ergebnisse zu erzielen, so daß diese Befehle eine sehr wichtige Rolle spielen.

8.4.1 Ein einfaches Beispiel

Gehen wir von einem einfachen Beispiel aus. Unsere Daten sollen in einer HTML-Seite wiedergegeben werden. Diese HTML Seite soll den Namen "mitarbeiter.html" haben.

In unserem "op.cfg" Datei steht nur:
html_file=mitarbeiter.html


Nun soll die Datei aber in den "C:\Projekte" Pfad gelegt werden
html_file=C:\Projekte\mitarbeiter.html

8.4.2 Einfache Inhaltsnutzung

Nehmen wir an, wir haben folgende Datenquelle
ID vorname nachname art


Mit diesen Inhalten

1 Michael Mustermann Vertrieb
2 Chantal Musterfrau Technik
3 Anthony Burgess Vertrieb
4 Albert Einstein Technik


und wir möchten gerne für den Bereich "Vertrieb" und den Bereich "Technik" eine eigene Seite anlegen.

So geben wir einfach in unser "op.cfg" File folgendes ein.

html_field=art
html_file=C:\Projekte\technik.html>Technik
html_file=C:\Projekte\vertrieb.html>Vertrieb

Mit diesen einfachen drei Zeilen haben wir die jeweilige Datei dem entsprechenden Inhalt zugewiesen. Zu beachten ist der "html_field" Befehl, hier wird das Datenbank Feld für die Auswahl bekannt gegeben.

8.4.3 Inhalte für die Ausgabe Nutzen

Aber nehmen wir an, wir möchten für jeden Mitarbeiter eine eigene Seite erzeugen. Für dieses Problem ist der "html_dynamic" Befehl eingeführt worden. Die Lösung ist etwas schwerer zu verstehen, deshalb zuerst das Beispiel.

html_dynamic=nachname
html_field=C:\Projekte\mitarbeiter_nachname.html


Im "C:\Projekte" Verzeichnis werden nun folgende Dateien stehen.

C:\Projekte\mitarbeiter_Mustermann.html
C:\Projekte\mitarbeiter_Musterfrau.html
C:\Projekte\mitarbeiter_Burgess.html
C:\Projekte\mitarbeiter_Einstein.html


Was ist nun zu beachten? Der Befehl "html_dynamic" hat zwei Aufgaben. Zum Ersten gibt er dem Easy Publisher bekannt welches Datenbankfeld für die Ausgabe relevant ist und zum Zweiten veranlaßt er das ersetzen des "nachname" Textes im "html_field". Zu beachten ist, daß im "html_field" Befehl nun das relevante Datenbankfeld stehen muß, dieses aber nicht im Namen des HTML Pfades erscheinen darf. Folgendes Beispiel würde zu einem Fehler führen:

html_dynamic=nachname
html_field=C:\Projekte\nachname\mitarbeiter_nachname.html



Hier würde der Easy Publisher nicht mehr erkennen welche "nachname" ersetzt werden muß und es würde zu einem Fehler kommen.

8.4.4 Vor- und zurück Funktion

Der Easy Publisher bietet die Möglichkeit, Datenfelder von zurückliegenden und vorhergehenden Datensätzen zu nutzen. Gehen wir von unserem bisherigem Beispiel aus und sagen einfach, wir möchten gerne einen Link auf die Mitarbeiter Seite machen, der zum nächsten Mitarbeiter geht oder zu dem vorherigen Mitarbeiter.

Unser "op.cfg" File würde also folgendermaßen aussehen:

html_dynamic=nachname
html_field=C:\Projekte\nachname\mitarbeiter_nachname.html


html_more_field=nachname

Die Befehle "html_dynamic" und "html_field" kennen wir aus dem vorherigen Beispiel. Der "html_more_field" Befehl ist neu und gibt dem Easy Publisher bekannt welches Datenbankfeld für die vor- und zurück Funktionen benutzt werden soll. Die Funktion ist so angelegt, daß der letzte Datensatz auf den ersten Datensatz verweist und umgekehrt. Somit ist ein unendliches Durchblättern möglich.

Wichtig hierfür ist der Abschnitt 5. Erstellen der TEMP Files, da hier auf die einzelnen Befehle in dem TEMP File eingegangen wird.

8.5 Zauberfelder (Feldbehandlung)

In dieser Sprachgruppe werden die Ausnahmen für die Datenfelder festgelegt. Das heißt, sollte ein Datenfeld nicht einfach nur eins zu eins dargestellt werden, kann man dieses dem Online Publisher mit dieser Sprachgruppe mitteilen.

8.5.1 Behandeln von Grafiken

Für die Kontrolle aus dem "op.cfg" File heraus wurde der Befehl "img_path" eingeführt. Dieser ist zwar auch mit einem guten TEMP-File zu realisieren, aber dadurch wurde die Übersichtlichkeit verbessert. Dieser Befehl macht aus einem Datenfeld einen kompletten Image Aufruf.

Nehmen wir wieder unsere Beispieldatenbank mit einem neuen Datenbankfeld "passbild"

ID vorname nachname art passbild

mit diesen Inhalten

1 Michael Mustermann Vertrieb mm.jpg
2 Chantal Musterfrau Technik cm.jpg
3 Anthony Burgess Vertrieb ab.jpg
4 Albert Einstein Technik ae.jpg


Das Beispiel zu diesem Befehl

img_path=c:\image\>passbild


Dem Befehl "img_path" wird ein Pfad mitgegeben und ein Datenbankfeld. In diesem Datenbankfeld muß der reale Name des Images stehen. Der Easy Publisher macht daraus folgende Zeilen in der HTML Seite

<IMG SRC="c:\image\mm.jpg" alt=mm.jpg">
<IMG SRC="c:\image\mm.jpg" alt=cm.jpg">
<IMG SRC="c:\image\mm.jpg" alt=ab.jpg">
<IMG SRC="c:\image\mm.jpg" alt=ae.jpg">


Zulässig ist eine Doppelangabe. Nehmen wir an, es gibt noch ein weiteres Feld in der Datenbank

ID vorname nachname art passbild arbeitsplatz

mit diesen Inhalten


1 Michael Mustermann Vertrieb mm.jpg amm.jpg
2 Chantal Musterfrau Technik cm.jpg acm.jpg
usw.

dann kann man in das "op.cfg" File folgendes schreiben:

img_path=c:\image\pass\>passbild
img_path=c:\image\arbeit\>arbeitsplatz

Wie schon zu Beginn gesagt, kann man diese Funktion auch nicht benutzen, sondern es mit dem Temp-Files abfangen. Der übersichtlichkeits- und vollständigkeitshalber ist dieser Befehl jedoch eingeführt worden.

8.5.2 Schleifen oder der Loop

Nun kommen wir zu etwas komplexeren und abstrackteren Funktionen des Easy Publishers. Aber auch wenn diese auf den ersten Blick etwas umständlich und überflüssig erscheint, so hilft sie doch bei der optischen Gestaltung ihrer Seite und so manche HTML-Verrenkung kann man sich mit dieser Funktion sparen.

Die Loop Funktion benötigt zwei Befehle, den "loop" und den "loop_field" Befehl. Zweck ist es, diese Funktion zu benutzen um Schleifen zu erstellen. Bleiben wir bei unserem Beispiel und wir haben folgende Datenbank

v ID vorname nachname art


mit bekannten Inhalten

1 Michael Mustermann Vertrieb
2 Chantal Musterfrau Technik
3 Anthony Burgess Vertrieb
4 Albert Einstein Technik


Wir möchten diese Daten in einer Tabelle darstellen die immer abwechselnd einen grauen und einen weißen Hintergrund hat. Dieses Problem läßt sich nun mit der Loop Funktion darstellen.

Der entsprechende Eintrag in das "op.cfg" File würde nun folgendermaßen aussehen.

loop_field=ID

loop=#888888
loop=#FFFFFF


Die Anweisung "loop_field" sagt nun dem Easy Publisher, daß er das Datenfeld ID im Temp-File nicht durch den Wert 1,2,3 usw. ersetzen soll, sondern immer abwechselnd mit den Werten die im Befehl "loop" stehen. Der Befehl "loop" kann dabei so oft angegeben werden wie man will.

8.5.2 Schleifen mit add_database_field

Nun möchten wir natürlich nicht ein Datenbankfeld für unsere "Loop" Funktion opfern. Für diese und ähnliche Probleme ist der "add_database_field" Befehl eingeführt worden. Er erzeugt ein Datenbankfeld das nicht in der Datenbank steht aber das vom Easy Publisher genauso behandelt wird als sei es eines. Gehen wir von unserem Beispiel aus und schauen uns die entsprechenden Teile im "op.cfg" File an.

Die Datenbank:
ID vorname nachname art

Das "op.cfg" File:

database_name=MUSTER_FIRMA
dartabase_table=MITARBEITER


database_field=ID
database_field=vorname
database_field=nachname


add_database_field=LOOP_FIELD

loop_field=LOOP_FIELD

loop=#888888
loop=#FFFFFF

Nun was haben wir gemacht? Wir haben als erstes den Datenbanknamen bekannt gegeben und danach die Tabelle aus der wir die Daten beziehen. Danach haben wir alle Datenbankfelder eingetragen und mit dem Befehl "add_database_field" ein weiteres Feld bekannt gemacht, daß nicht in der Datenbank steht. Danach haben wir dem "loop_field" genau dieses fiktive Feld zugewiesen. Wenn nun im Temp-File dieses fiktive Feld entsprechend vorkommt, so wird der Easy Publisher es durch die im "loop" Befehl angegeben Werte ersetzen.

Anhang A

// Kommentar Einleitung
add_database_field fügt ein Datenfeld hinzu, daß es in der Datenquelle nicht gibt
database_name Name der Datenbank
database_pswd Passwort der Datenbank
database_ip IP Adresse der Datenbank, dieses kann auch ein Name sein
database_owner wird bei manchen Datenbanken verlangt
database_user Benutzername zum Passwort
database_tabel Tabelle der Datenbank aus der gelesen werden soll
database_order sortiert die Daten nach dem angegebenen Datenfeld
database_field ein Datenbankfeld oder ein Feld in der Textdatei
txt_file Textdatei die als Datenquelle dient
txt_breaker Trennzeichen in der Textdatei
head_temp der Kopf der zu erstellenden HTML-Seite
foot_temp Abschluß der zu erstellenden HTML-Seite
body_temp dieser Teil wird vom Web-Publisher bearbeitet, hier stehen die Mittelteile der HTML-Seite
html_file die Ausgabeseite des Easy Publisher
html_field enthält das Feld für die Unterschiedliche Ausgabeseiten
html_dynamic enthält den zu ersetzenden Text in der "html_file"
html_more_field das Datenbankfeld für die Moreanweisung.
img_path enthält Pfad und Datenbankfeld für ein Image Feld
loop die Ersatzwerte für die Datenbank
loop_field das Feld das durch "loop" Werte ersetzt werden soll
Startseite   Impressum   Kontakt   Top