|
Ein vollwertiges CityDesk-Website-Template
Von Uwe Holz
Letzte Änderung:
Sonntag, 14. September, 2003
Mehr zu CityDesk, Dokumentation, Download und vieles mehr finden Sie unter www.fogcreek.com
sowie den nachfolgenden Seiten: CityDesk Forum
CityDesk Pool Room
CityDesk Templates
CityDesk News
Knowledge Base
Telepark
TK's City Desk
Viele wertvolle Hinweise zu CityDesk in deutscher Sprache sind auf der Website von Telepark finden.
Alle Informationen zum WebSeller sind auf folgender Website verfügbar: www.webseller.de.
MySQL-Downloads und alles weitere rund um dieses Open-Source-Projekt sind auf der Website
www.mysql.com zu finden.
Eine voll ausgestattete Website inkl. Shop-Bereich, Diskussionsforum und Suche kann schon eine anspruchsvolle Aufgabe darstellen, besonders wenn alles auch noch mit einem Content-Management zu kombinieren ist. Doch jetzt bin ich mir ziemlich sicher, die richtige Lösung
gefunden zu haben:
-
CityDesk als Content-Manager,
-
WebSeller zur Implementierung eines Forums als serverseitige Komponente und
- SqlDBU zur Pflege der Datenbanken auf dem Server.
Da der WebSeller selbst eigentlich ein beliebig erweiterbarer Shop-Baukasten ist, haben wir damit automatisch noch zwei weitere Komponenten einer Web-Komplettlösung geerbt:
- Einen Online-Shop und
- Serverseitige Suchfunktionen.
CityDesk bildet das Fundament. Dieser clientbasierte Content-Manager bietet einen sehr effektiven Weg an, Webseiten zu erstellen, sie in der gewünschten Struktur zu verwalten und automatisch auf den jeweiligen Server zu publizieren. Das ganze basiert auf Templates, so dass Änderungen im Layout sehr einfach und effizient erfolgen. Diese Einfachheit der Handhabung ist eines der beeindruckendsten Kennzeichen dieser Software.
SqlDBU dient zur Anzeige und Pflege der verwendeten MySQL-Tabellen und Relationen. Tabellenauswahl, Ansichten und Eingabeformulare können beliebig auf Tabellen- und Spaltenebene angepaßt und verändert werden. Weitere Informationen zu SqlDBU finden Sie hier.
WebSeller ist ein universell einsetzbares MySQL basiertes CGI-Skript, das für alle gängigen Plattformen verfügbar ist. Die Beiträge Forumware und Site-Suche zeigen Beispiele zur Benutzung des Skripts.
WebSeller benutzt HTML-Templates zur Darstellung der HTTP-Request-Ergebnisse und kann dadurch an jedes beliebige Layout angepasst werden. Kernstück des CGI-Skript aber ist die Konfigurationsdatei. Über die Sektion SCRIPTS kann mit einem Eintrag jede beliebige Funktion definiert werden. Jeder Eintrag muss folgende Parameter besitzen:
-
Response - Html-Template, das zur Generierung der Antwortseite dient.
-
Action - Webseller-Basisfunktion, die aufgerufen werden soll (Link, TableUpdate, Login, SetLanguage ...).
-
Select - SQL-Anweisung, deren Ergebnismenge zur Generierung der Antwortseite auf der Basis des vorgegebenen Templates benutzt wird.
-
Id - Tracking-ID zur Identifizierung der aktuellen Sitzung bzw. des Benuters.
Alle Server-Komponenten, die binären Skripte, die Konfigurationsdatei und alle HTML-Templates sind Bestandteil der CityDesk-Projekt-Datei (siehe Ordner cgi-bin und cgi-htm).
Das gesamte Template beruht auf bestimmten Voraussetzungen, die nachfolgend beschrieben sind. Erwarten Sie also bitte nicht, dass sie es nur mit CityDesk öffnen brauchen und dann sofort die CityDesk-Vorschau benutzen können. Nehmen Sie sich ein paar Minuten Zeit und lesen Sie weiter, um zu sehen, wie das ganze funktioniert.
Voraussetzungen
Um die mit CityDesk erstellte WebSite mit dem WebSeller zu kombinieren, sind einige Voraussetzungen zu schaffen. Auf dem Server muss MySQL installiert und die entsprechenden Zugangsdaten bekannt sein. Prüfen sie das bitte ggf. mit Ihrem Internet-Service-Provider (ISP) ab und fragen Sie nach folgenden Daten:
- MySQL-Host-Name
- MySQL-Datenbankname
- MySQL-Benutzername
- MySQL-Passwort
Falls Sie das ganze erst einmal auf Ihrer Maschine testen wollen, so muss neben einem WebServer auch ein MySQL-Server auf Ihrem PC installiert sein. Ich möchte an dieser Stelle noch einmal wiederholen, dass Shop- und Forumfunktionen in der CityDesk-Vorschau nicht funktionieren können, sie werden durch das serverbasierte Skript realisiert und müssen folglich auf dem Server laufen.
Ich will nicht näher auf die Installation von MySQL eingehen, dazu gibt es eine Unmenge an Publikationen, unter anderem auf der MySQL -Website. Dort finden Sie auch stets die neueste Version. Die Installation ist ohnehin ziemlich einfach, dabei kann man sowieso nicht viel falsch machen.
Skriptverzeichnis
Wenn Sie die Website auf der lokalen Maschine ausprobieren wollen, müssen Sie zunächst sicherstellen, daß das Skriptverzeichnis cgi-bin (WebSeller-Root-Verzeichnis) die notwendigen ausführbaren Rechte besitzt. Falls Sie mit dem Internet Information Server (IIS) oder einem Pendant wie Personal Web Server (PWS) arbeiten, können Sie diese Rechte im Verwaltungstool (Systemsteuerung, Verwaltung, Internetdienste) setzen: Öffnen Sie dazu den Eigenschaften-Dialog für das Veryeichnis cgi-bin (rechte Maustaste) und setzen die Rechte wie folgt:

Wenn Sie allerdings mit dem den Apache-Web-Server arbeiten, so müssen Sie die notwendigen Einstellungen in der Konfigurationsdatei http.conf vornehmen, beispielsweise so:
# UH: Original out of the box setting
# DocumentRoot "C:/inetpub/Apache/htdocs"
DocumentRoot "C:/inetpub/wwwroot"
# UH: Original out of the box setting
# ScriptAlias /cgi-bin/ "C:/inetpub/Apache/cgi-bin/"
ScriptAlias /cgi-bin/ "C:/inetpub/wwwroot/cgi-bin/"
# UH: Original out of the box setting
# <Directory "C:/inetpub/Apache/cgi-bin">
<Directory "C:/inetpub/wwwroot/cgi-bin">
AllowOverride None
Options ExecCGI FollowSymLinks Indexes MultiViews
Order allow,deny
Allow from all
</Directory>
Die verwendeten Einträge der Datei Http.conf sind so gewählt, dass sie mit den Standardwerten des IIS übereinstimmen. Damit haben Sie die Möglichkeit, Ihre Website auf beiden Servern zu testen (vorausgesetzt beide sind installiert). Sie müssen dann lediglich einen der beiden Dienste anhalten und den jeweils anderen starten.
Hinweis: Falls Ihre Website bei einem Provider läuft, sind die Rechte normalerweise gesetzt. Auf einem Linux/Unix-System benötigt das Verzeichnis cgi-bin normalerweise die Rechte 777. Nach der ersten Installation Ihrer Webseite mittels CityDesk-Publishing-Service müssen die Rechte des binären Skripts, webseller.cgi, auf den Wert 755 angepasst werden. Das erfolgt leider nicht automatisch, muss aber nur ein einziges Mal gemacht werden, da die Rechte bei späteren Updates mittels CityDesk erhalten bleiben.
Template-Installation
- Als erstes erfolgt der Download des hier beschriebenen CityDesk-Templates: cityd-ws.zip
- Danach entpacken Sie bitte das Archive cityd-ws.zip, um die Datei ws.cty zu extrahieren.
- Schliesslich öffnen Sie einfach das Template ws.cty mit CityDesk und passen alle notwendigen Einstellungen (CityDesk-Variablen) an.
Einstellungen zum Binärskript
Das Skript ist eine plattformabhängige ausführbare Datei, deshalb muss die richtige Version installiert werden. Dafür ist eine spezielle Variable WSScriptUrl vorgesehen, die mit CityDesk über View > Variables an die Plattform Ihres Servers angepaßt werden muss:
- Linux: /cgi-bin/webseller.cgi
- Solaris: /cgi-bin/webseller.bin
- Windows: /cgi-bin/webseller.exe
Hinweis: Löschen Sie einfach alle nicht benötigten Binärdateien aus Ihrem CityDesk-Ordner cgi-bin., z.B. die Dateien webseller.bin and webseller.cgi, wenn Ihr Server eine Windows-Maschine ist.
MySQL Settings
Da wir gerade bei den CityDesk-Variablen sind, können wir uns auch gleich um die MySQL-Zugangsdaten kümmern, die Sie normalerweise von Ihrem ISP erhalten haben. Es sei denn, sie richten Ihr lokales MySQL ein, dann bestimmen Sie diese Daten natürlich selbst. Öffnen Sie also den CityDesk-Dialog Variables (klicken Sie View > Variables) um folgende Werte zu setzen:
- WSMysqlUser - MySQL-Benutzer für den Zugriff auf die Datenbank.
-
WSMysqlDatabase - Name der Datenbank.
- WSMySQLPassword - MySQL-Password.
-
WSMysqlHost - Name der Maschine, auf der MySQL installiert ist, oftmals localhost, es sei denn, Ihr ISP definiert einen anderen Wert.
Weitere Einstellungen
Nun sind Sie fast fertig. Die letzten Variablen beziehen sich auf den Mailversand und anderes. E-Mails sind eine wichtige Funktion von Shop-Lösungen und Diskussionsforen, um beispielsweise dem Administrator Hinweise darüber zu geben,
- dass sich ein neuer Benutzer für den Shop registriert hat,
- ein Benutzer eine Bestellung ausgelöst hat oder
- eine neue Nachricht in das Forum gepostet wurde und vieles mehr.
Um diese Funktion zu aktivieren, werden u.a. folgende Werte benötigt:
-
WSMailServer - Domain-Name oder IP für den zu verwendenden E-Mail-Server.
-
WSAdminEmail - E-Mail des Shop- bzw. Forum-Administrators.
Abschliessend sind diese Variablen zu setzen oder deren Standardwerte zu prüfen:
-
WSRelPathToDocRoot - Relativer Pfad vom Skript-Ordner zum Document-Root (Standard ist "..").
-
WSDomainUrl - Vollständige Domain-URL
-
WSCurrency - Standard-Währungs-Kürzel.
Nach der Publizierung der gesamten Seite auf den Ziel-Server sollten alle Komponenten der Seite, statische Seiten, Forum und Shop funktionieren. Hinweise und Dokumentation zur Publizierung finden Sie in der CityDesk-Hilfe bzw. der Produktdokumentation.
Initialisierung der Datenbank
Alle notwendigen Datentabellen werden beim ersten erfolgreichen Start vom WebSeller-Skript automatisch vorgenommen. Falls dieser aus irgendwelchen Gründen fehlschlug, so können Sie dies manuell nachholen. Falls Ihre Seite auf die URL http://www.mydomain.com, hochgeladen wurde, so können Sie die Tabellen wie folgt initialisieren:
http://www.mydomain.com/cgi-bin/webseller.cgi?action=import&batch=ws.sql.
Falls Sie dabei eine Fehlermeldung erhalten oder sich überhaupt nichts tut, so gehen Sie wie folgt vor:
- Prüfen Sie die Datei webseller.log in Ihrem Script-Root cgi-bin. Falls sie nicht existiert, sind Sie höchstwahrscheinlich in ein Zugriffsrecht-Problem gelaufen. Der WebSeller konnte entweder gar nicht starten oder die Logdatei nicht anlegen. Klären Sie in diesem Fall das Problem ggf. mit Ihrem ISP. Falls Sie die Logdatei finden, sollte sich in ihrem Inhalt ein Hinweis auf die Ursache des Problems finden.
- Lässt der Inhalt der Logdatei auf ein MySQL-Zugriffs-Problem schliessen, klären Sie es ggf. mit Ihrem ISP.
- Falls die aufgeführten Schritte nicht zur Lösung führen, so senden Sie uns einfach eine E-Mail und fügen die Logdatei webseller.log
mit an.
Sie können das Template cityd-ws.zip gern als Basis für eigene Erweiterungen benutzen um ein Forum, einen Shop oder alles zusammen mit Ihrer Web-Präsentation zu implementieren. Schicken Sie uns dann einfach eine E-Mail, so dass wir Ihre Lösung auch bewundern können. Darüber würden wir uns echt freuen.
|