|
|||||||||||||||||||||||||||||||||||||||||||||
| Startseite Impressum Kontakt | |||||||||||||||||||||||||||||||||||||||||||||
Easy Publisher Perl Version (OLD) |
|||||||||||||||||||||||||||||||||||||||||||||
1.Die Easy Publisher KomponentenDer Easy Publisher ist in verschiedene Module unterteilt um eine möglichst hohe Arbeitsgeschwindigkeit zu erreichen. 1.1 op-parsertypeDie parsenden Komponenten sind immer auf Ihren spezifischen Einsatz optimiert und bieten jeweils die optimale Schnittstelle zur Datenquelle.
Zur Verfügung stehen:
1.2 op.cfgDer 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 PerlDa 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-FilesDiese Files stellt die HTML Seite dar, die sie den op-parsetype zur Verfühgung stellen. Es gibt drei TEMP-File Typen.
1.5 DatenquelleDie 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. Systemvoraussetzungen2.1 Offline BetriebZum 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 BetriebSoll 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. FunktionsweiseWenn 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!!! 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. InstallationDie 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: 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:
Je nach Datenquelle sind folgende Programme notwendig:
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:
WICHTIG!!!
Schritt 4: 5. Erstellung der TEMP-FileDie 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 FilesDie 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.
5.2 Der KopfIm 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> 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> 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: 5.4.1 Die Body SyntaxDer 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> 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ückEine 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 File6.1 AllgemeinesDas "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 Syntax7.1 AllgemeinesEine 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: 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.
8. Sprachgruppen8.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.
1.Beispiel: 8.2 Datenquelle anzapfenAls 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.
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:
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
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:
8.3 TEMP Files einbindenIn 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:
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.
8.4.2 Einfache Inhaltsnutzung
Nehmen wir an, wir haben folgende Datenquelle
So geben wir einfach in unser "op.cfg" File folgendes ein.
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.
8.4.4 Vor- und zurück FunktionDer 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:
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 GrafikenFü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"
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 LoopNun 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
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.
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
|
|||||||||||||||||||||||||||||||||||||||||||||
| Startseite Impressum Kontakt Top | |||||||||||||||||||||||||||||||||||||||||||||