eBook-Project by AboutWebDesign.de [LOGO]

7.5 Redaktionssystem

URL: http://www.webdesign-referenz.de/technikII_au.html

Inhaltsverzeichnis "Redaktionssystem"
7.5.1 Einleitende Worte
7.5.2 Installation
7.5.2.1 Download
7.5.2.2 Einstellungen
7.5.2.3 Den Server vorbereiten
7.5.2.4 Das Script hochladen
7.5.2.5 Installation ausführen
7.5.3 Überblick
7.5.4 Admin-Interface
7.5.5 Zugriff auf die Daten
7.5.6 Datenabruf
7.5.6.1 Templates
7.5.6.2 Abfragen spezifizieren
7.5.6.3 Sonstige Argumente
7.5.7 Tipps


7.5.1 Einleitende Worte

Viele Seiten könnten von einem Redaktionssystem profitieren: Solche Systeme erlauben es, Inhalte mehr oder minder komfortabel zu verwalten. Daher stellen wir Ihnen nun ein solches System vor: ActiveUpdate 5, eine unserer Eigenentwicklungen. Unser System ist zwar nicht sehr komfortabel, dafür aber schnörkellos und recht schnell. Die Installation ist zudem ziemlich einfach.

Das System basiert auf Perl und MySQL, wobei auch der Einsatz anderer Datenbank-Server möglich sein sollte. Es könnte jedoch sein, dass dann bestimmte Teile des Scripts angepasst werden müssen. Nach oben

7.5.2 Installation

7.5.2.1 Download

Laden Sie sich das Script herunter. Die URL dazu lautet http://www.aboutwebdesign.de/acup5/acup5.zip. Entpacken Sie die Dateien dann in ein Verzeichnis. Wie fast immer, wenn Scripts installiert werden sollen, müssen zunächst einige Einstellungen gesetzt werden.

7.5.2.2 Einstellungen

Wenn Ihr Perl-Pfad ein anderer als #!/usr/bin/perl ist, müssen Sie die fünf .pl-Dateien im Hauptverzeichnis des Scripts anpassen, indem Sie die erste Zeile der entsprechenden Dateien korrigieren.

Öffnen Sie anschließend die Datei module/einstellungen.pl (immer ausgehend vom Script-Basisverzeichnis). Interessant sind dort vor allem die ersten vier Variablen, die bis auf die zweite wohl von Ihnen geändert werden müssen.

Wenn Sie übrigens einen anderen Server als den localhost konnektieren wollen, müssen Sie diese Angabe im Feld für die Datenbank machen. Das könnte so aussehen:

$settings::dbname = "database=db40961817;host=db70.puretec.de";

     


Weiterhin müssen Sie den Namen der Standard-Tabelle angeben. Wir empfehlen, standard zu verwenden.

7.5.2.3 Den Server vorbereiten

In der settings.pl werden ein Datenbankname und eine Standard-Tabelle angegeben. Logisch, dass diese Angaben auch zutreffend sein müssen. Sie müssen also die Datenbank auf dem Server entsprechend konfigurieren. Sie sollten eine eigene Datenbank für ActiveUpdate5 anlegen.

Tipp: Jede Ihrer Tabellen sollte einen Primärschlüssel namens id enthalten. Zusätzlich dazu sollte in den Tabellen, die Inhalte speichern sollen, ein Feld namens author_id vorhanden sein. Typ sollte smallint sein.

Das System benötigt für die Benutzerverwaltung weiterhin eine Tabelle users.

Der Einfachheit halber führen wir die SQL-Codes zum Anlegen der beiden Tabellen (Standard-Tabelle und Benutzer-Tabelle) hier auf:


        CREATE TABLE users (id INTEGER UNSIGNED PRIMARY KEY AUTO_INCREMENT, login VARCHAR(255), pw VARCHAR(255), nickname VARCHAR(255), contact VARCHAR(255), dbcount INTEGER, dbsaetze INTEGER, status SMALLINT);

        CREATE TABLE standard (id INTEGER UNSIGNED PRIMARY KEY AUTO_INCREMENT, feld1 VARCHAR(255), feld2 VARCHAR(255), author_id SMALLINT)
        

     


Natürlich kann unser System beliebig viele Tabellen verwalten. Die Anlege-Prozedur verläuft dabei genauso wie bei der Standard-Tabelle. Datenfelder können beliebig gewählt werden, nur sollten id und author_id grundsätzlich verwendet werden.

7.5.2.4 Das Script hochladen

Laden Sie nun alle Dateien und Ordner auf Ihren Server. Wenden Sie nun chmod 777 auf alle hochgeladenen Objekte an. Das schließt Ordner, Dateien und Dateien in den Ordnern ein.

7.5.2.5 Installation ausführen

Rufen Sie nun das Script install.pl aus dem Script-Basisverzeichnis in Ihrem Browser auf.

Lesen Sie sich die Meldungen des Scripts aufmerksam durch - wenn hier kein Fehler gemeldet wird, ist ActiveUpdate5 prinzipiell ansprechbar.

Es fehlt noch die Aktivierung der Templates. Rufen Sie dazu die ctemplates.pl auf.

Wir werden im Folgenden einige Aspekte des Systems besprechen. Eine umfassende Erläuterung würde den Rahmen dieser Anleitung sprengen. Nach oben

7.5.3 Überblick

Unser System besteht aus einigen wesentlichen Dateien:

Wir werden diese Teile nun der Reihe nach besprechen, wobei wir mit dem Admin-Interface beginnen. Nach oben

7.5.4 Admin-Interface

Sie gelangen zum Interface, wenn Sie ActiveUpdate5.pl?ExecSQL=0&Template=admin aufrufen. Dort können Sie Benutzername und Passwort angeben, um Benutzer, Sicherheitseinstellungen und bestimmte Elemente des Interfaces zu beeinflussen.

Die Benutzer-Verwaltung ist selbsterklärend, die anderen Teile dagegen sind etwas komplizierter. Zu jeder Tabelle können Sicherheits-, GUI-(Graphical User Interface) und Wert-Einstellungen festgelegt werden. Ersterer und letzterer Modus sind noch nicht ausgereift. Die GUI-Einstellungen sind aber dann sehr wichtig, wenn Usern beispielsweise ein großes Textfeld zur Eingabe angezeigt werden soll. Was genau dort eingetragen werden kann, ist ebenfalls online recht gut erklärt. Nach oben

7.5.5 Zugriff auf die Daten

Um Daten hinzuzufügen, zu löschen oder zu ändern, rufen Sie erneut das Admin-Interface auf und authentifizieren Sie sich über das unterste Formular. Wenn Sie mehr als eine Tabelles verwenden, müssen Sie die Templates changenew und one_entry entsprechend anpassen, denn die werden verwendet, um das Interface zu generieren. Wie das geht, steht weiter unten. Nach oben

7.5.6 Datenabruf

Um Daten abzurufen, können Sie entweder ActiveUpdate direkt aufrufen oder via SSI einbinden:

<!--#include virtual="ActiveUpdate5.pl?Template=xyz"-->

     


Wenn Daten ausgegeben werden, passiert Folgendes: zunächst werden passende Datensätze herausgesucht, diese werden dann mit Hilfe der Templates in HTML ausgegeben. "Passend" heißt, dass Sie angeben können, welche Datensätze abgerufen werden sollen.

7.5.6.1 Templates

Zunächst aber etwas zu Templates: Templates liegen in ihrer HTML-Form im html-Verzeichnis. Um sie aber auch konkret verwenden zu können, muss vorher die ctemplates.pl aufgerufen worden sein. Innerhalb von Templates können Sie beliebiges HTML und ActiveUpdate-Statements verwenden. Diese werden beim Datenabruf durch dynamische Daten ersetzt.

Sehen Sie sich folgendes Beispiel an: Es erzeugt die Übersichtsseite der Datenverwaltung.

        !EXEC(authorization, moderate)!
        <html>
        <head>
        <title>Daten verändern/hinzufügen</title>
        </head>
        <body bgcolor="#000040" text="#EEEEEE" link="#FFFF00" vlink="#FFFF00" alink="#FFFF00">
        <font face="Tahoma, Verdana, Arial, sans serif">
        <b>Daten verändern, hinzufügen</b><br><br>
        Bitte klicken Sie <a href="changeit.pl?Modus=table_new&table=standard&Template=standard&username=!AU5CGI(username)!&pw=!AU5CGI(pw)!">hier</a>, um einen neuen Datensatz zur Tabelle Standard hinzuzufügen.<br><br>
        Nachfolgend alle Einträge der Tabelle standard. Angezeigt werden die id und feld1. Verwenden Sie nebenstehende Links.<br><br>
        !QUERY('SELECT * FROM standard', standard, one_entry)!
        </font>
        </body>
        </html>
        

     


Und dieser Code steht in der Datei one_entry:


        !FIELD(id)! - !FIELD(feld1)! - <a href="changeit.pl?Modus=table_change&table=standard&Template=standard&username=!AU5CGI(username)!&pw=!AU5CGI(pw)!&id=!FIELD(id)!">Verändern </a> - <a href="changeit.pl?Modus=del&table=standard&Template=standard&username=!AU5CGI(username)!&AU_pw=!AU5CGI(pw)!&id=!FIELD(id)!">Löschen</a><br>         
        

     


Der Mechanismus funktioniert so: Es wird eine wenig Drumherum in der ersten Datei ausgegeben. Der QUERY-Befehl ruft dann ActiveUpdate rekursiv auf - soll heißen, es wird eine Abfrage ausgeführt, und die Ergebnisse werden in der ersten Datei eingefügt.

Es gibt folgende Statements, die Sie in Templates verwenden können:


7.5.6.2 Abfragen spezifizieren

Wenn Sie auszugebende Datensätze näher eingrenzen wollen, können Sie das so tun:

ActiveUpdate5.pl?Arguments=SPECIFIC|||Wert|||Datenfeld

     


Wenn Sie also ActiveUpdate wie folgt aufrufen, werden nur die Datensätze ausgegeben, bei denen das Datenfeld feld1 den Wert abc hat.

ActiveUpdate5.pl?Arguments=Specific|||abc|||Feld1

Anstelle von Specific können Sie auch Smaller und Bigger verwenden. Die Wirkung ist analog.

7.5.6.3 Sonstige Argumente

Es gibt neben Arguments noch weitere CGI-Parameter, die die Ausgabe beeinflussen können:


Folgendes Beispiel zeigt alle diese Parameter im Einsatz:

ActiveUpdate5.pl?Arguments=Specific|||1|||Online&Table=standard2&Template=template1&Limit=5&Sort=Priority Nach oben

7.5.7 Tipps

Sie wissen nun alles Wichtige, um ActiveUpddate produktiv einsetzen zu können. Wenn Sie mehr über Templates wissen wollen, sehen Sie sich die mitgelieferten Templates an. Wie Sie vielleicht merken werden, sind praktisch die gesamten ActiveUpdate-Interfaces mit Templates realisiert.

Besonders die QUERY-Funktion ist eine mächtige Möglichkeit, vielschichtige Templates zu realisieren.

Wenn Sie sich für tiefergehendes Wissen interessieren, könnten Ihnen die Textdateien im Hauptverzeichnis nützlich sein. Ansonsten können Sie auch direkt in die Quellcodes einsteigen, denn die sind recht einfach zu verstehen. Nach oben