Überblick Was ist GTChat? Bei GTChat handelt es sich um einen schnellen und komfortablen Chat, der primär mit der Server-Push-Technik arbeitet. Der Ressourcenverbrauch des Chats ist sehr niedrig, was sich aber in keinster Weise auf die Leistung auswirkt. Für die Benutzer, die (meistens wegen einem schlecht konfigurierten Proxy-Server) Server-Push nicht verwenden können, wird ein alternatives Client-Pull-Modus bereitgestellt. Was kostet GTChat? GTChat ist Freeware, er darf auf nicht-kommerziellen Seiten kostenlos eingesetzt werden. Änderungen am Programmtext (ausgenommen JavaScript) sind jedoch nicht gestattet. Mehr dazu steht in license.txt. Wie installiert man GTChat? Wenn Sie diese Anleitung lesen, dann haben Sie wahrscheinlich bereits das Archiv mit den Programm-Dateien bereits dekomprimiert. Sie müssen:
|
Systemvoraussetzungen Anforderungen an den Server:
|
Erstinstallation des Programms Erstellen Sie dann in Ihrem normalen HTML-Verzeichnis ein Unterverzeichnis gtchat. Kopieren Sie dorthin mit Ihrem FTP-Programm den Inhalt des Verzeichnisses www. Erstellen Sie dann in Ihrem CGI-Verzeichnis auch ein Unterverzeichnis gtchat und kopieren Sie den Inhalt des cgi-bin-Verzeichnisses des Programms dorthin. Setzen Sie die Zugriffsrechte von install.pl auf ausführbar und starten Sie das Programm über Ihren Browser. Das Programm setzt dann die Verzeichniseinstellungen und die Zugriffsrechte. Allerdings kann es vorkommen, daß die Servereinstellungen die Änderung der Zugriffsrechte nicht erlauben, folgen Sie dann den Anweisungen des Programms. |
Update von einer älteren Version Es empfiehlt sich, vor dem Update das Chat-Verzeichnis zu sichern. Folgende Dateien müssen kopiert/ersetzt werden:
|
Weiterleitungsadresse einstellen Erstmals, warum überhaupt Weiterleitung? Ich empfehle, bei Verweisen auf den Chat stets die Datei index.html in Ihrem GTChat-Verzeichnis anzugeben. Von dort aus wird der Benutzer sofort per JavaScript an die eigentliche Adresse weitergeleitet. Damit wird sichergestellt, daß JavaScript aktiviert ist. Denn falls nicht, bleibt der Benutzer bei index.html und liest die Mitteilung dort. Die Weiterleitung soll auf chat.pl im CGI-Verzeichnis erfolgen. Passen Sie die entsprechende Adresse im JavaScript und in der Mitteilung an. |
Farben, Schriftarten und -größen anpassen GTChat ist so programmiert worden, daß alle Anpassungen der Farben und Schriften einfach in der Datei style.css vorgenommen werden können, ohne die Templates zu bearbeiten. Hier folgt die Liste der CSS-Klassen und ihrer Funktionen: |
A A:active A:hover |
Das sind die Definitionen für die Links, die sich innerhalb von Tabellen befinden (active - aktiver Link, hover - Link, der unter dem Mauszeiger liegt). Nicht angegebene Attribute werden vom Kontext übernommen. Man könnte auch A:visited festlegen, jedoch macht eine unterschiedliche Darstellung besuchter Links bei einem Chat keinen Sinn. | |
#stdlink A#stdlink:active A#stdlink:hover |
Diese Definitionen gelten für die Links, die sich
außerhalb von Tabellen befinden (active - aktiver
Link, hover - Link, der unter dem Mauszeiger liegt).
Wenn Sie die Templates ändern und einen Link außerhalb
einer Tabelle anbringen, sollte immer id=stdlink dabeistehen: <a href="file.html" id=stdlink> Falls sich diese nicht von den anderen Links unterscheiden sollen, können diese Klassen gelöscht werden. Nicht angegebene Attribute werden vom Kontext übernommen. |
|
TD #normaltext |
Das sind die Standardeinstellungen für den Text innerhalb von Tabellen. #normaltext sollte dasselbe wie TD sein, es wird dazu benutzt, diese Formatierung zu erzwingen, falls das nicht automatisch passiert. | |
#smalltext | Verkleinerte Version von TD, wird z.B. für die Anzeige des Datums in der Liste der IP-Sperren benutzt. Alle nicht angegebenen Attribute werden von TD übernommen. | |
TH | Definiert den Text und Hintergrundfarbe von Tabellenüberschriften. | |
#table1 | Definiert die Hintergrundfarbe von Tabellenzeilen, die besonders hervorgehoben werden sollen, wie z.B. die Raum-Namen auf der Login-Seite des Chats. | |
#table2 | Standard-Hintergrundfarbe von Tabellenzeilen. | |
#lines | Linienfarbe für Tabellen. Bitte beachten: das Attribut, das gesetzt werden muß, ist nicht color, sondern background-color! | |
#body | Hier werden die Standardwerte für Schriftart und Farben festgelegt. Z.B. werden alle Chat-Meldungen in der Standardfarbe angezeigt. Die Hintergrundfarbe gilt für den kompletten Chat. Damit das funktioniert, muß in sämtlichen HTML-Dateien der Text id=body beim BODY-Tag bleiben. | |
#headertext | Standardformatierung des Textes außerhalb von Tabellen. Falls Sie die Templates ändern sollten und Text außerhalb von Tabellen anbringen, sollten Sie diesen mit <div id=headertext> </div> umschließen. | |
#bigheadertext | Vergrößerte Version von headertext, wird z.B. in der Chat-Hilfe benutzt. |
Templates bearbeiten Die Chat-Templates sind normale HTML-Dateien, die aber bestimmte Marken enthalten, die der Chat durch die eigenen Daten ersetzt. Vier der Marken sind universell, können also in jedem Template vorkommen: |
{CHATNAME} | Wird durch den Wert von $chatname aus Settings.dat ersetzt, wird normalerweise für die Überschrift der HTML-Datei verwendet. | |
{CGI} |
Wird durch die URL von chat.pl ersetzt, wobei der Parameter
id bereits enthalten ist. Wenn also zusätzliche Parameter
angehängt werden sollen, schreibt man das z.B. so: {CGI}&action=allusers | |
{HTMLURL} |
Wird durch $htmlurl aus Settings.dat ersetzt. Diese Marke
wird in fast allen Templates in folgender Form verwendet: <base href="{HTMLURL}"> Damit braucht man dann für die Dateien im HTML-Verzeichnis des Chats keinen Pfad mehr anzugeben. | |
{PULLMODE} | Wird durch 1 ersetzt, wenn der Client-Pull-Modus benutzt wird bzw. durch 0, wenn der Benutzer den Server-Push-Modus gewählt hat. |
Alle anderen Marken sind nur in bestimmten Templates definiert. Zu beachten: alle außer den universellen Marken müssen in einer eigenen Zeile stehen, ohne führende und nachfolgende Leerzeichen. Wenn man den Chat installiert, sollte man die Templates login.html und register.html anpassen (Logo, Begrüssungstext usw.). Falls man in chat.html die Frames umordnet, sollte man auf jeden Fall die Namen der Frames beibehalten. Eine detailierte Beschreibung der Templates und der verwendeten Marken soll bald verfügbar sein, für aktuelle Informationen schauen Sie auf http://www.gtchat.de. |
JavaScript-Einstellungen Am Anfang von chat.js können folgende Variablen gesetzt werden: |
roomlistdelay Voreinstellung: 10000 |
Zeitliche Verzögerung (in Millisekunden), mit der die Raumliste erscheinen soll. Die Standardvorlagen von GTChat zeigen an der Stelle der Raumliste zuerst das Logo an. Falls Sie das Logo nicht anzeigen wollen oder es in ein anderes Frame plaziert haben, können Sie hier 0 einstellen. | |
scrolldelay Voreinstellung: 150 |
Zeitlicher Abstand (in Millisekunden), in dem das Textfenster runtergescrollt wird (falls nicht vom Benutzer deaktiviert). | |
aliveinterval Voreinstellung: 50000 |
Nur relevant für den Server-Push-Modus. Zeitlicher Abstand (in Millisekunden), in dem der Chat einen /alive-Befehl an den Server senden soll, um anzuzeigen, daß der Benutzer noch da ist. Der Server prüft seinerseits in Abständen, die in Settings.dat durch $alive_test_rate festgelegt sind, ob seit der letzten Überprüfung ein solcher Befehl eingegangen ist. Ich empfehle, aliveinterval auf etwas unter der Hälfte des Wertes von $alivetestrate zu setzen - sicher ist sicher. | |
refreshdelay Voreinstellung: 6000 |
Nur relevant für den Client-Pull-Modus. Legt den
zeitlicher Abstand (in Millisekunden) fest, in dem
der Chat neue Nachrichten vom Server anfordern soll.
Wenn der Server eine gewisse Zeit keine Anforderungen
empfängt (festgelegt durch $alive_test_rate_pull),
wird ein Verbindungsabbruch angenommen und der Benutzer
entfernt. Bemerkung: Neue Nachrichten werden auch immer dann angefordert, wenn der Benutzer einen Text sendet. | |
logoutpage Voreinstellung: "" |
Fall angegeben, wird beim Logout nicht die Login-Seite des Chats, sondern die Seite unter dieser URL angezeigt. | |
autokick Voreinstellung: 0 |
Fall von Null verschieden, wird ein Benutzer, der länger als diese Anzahl von Sekunden nichts geschrieben hat, automatisch aus dem Chat geschmissen. | |
send_blocking_timeout Voreinstellung: 15000 |
Damit beim Senden nichts verloren geht, wird nach dem Abschicken eines Textes eine Sendesperre verhängt bis die Übertragung erfolgt ist (alle neuen Texte werden in einen Puffer geschrieben). Manchmal wird die Sendesperre aufgrund eines Browser-Fehlers nicht aufgehoben, dann geschieht das nach dieser Anzahl von Millisekunden trotzdem. | |
flooding_*** Voreinstellung: ..._maxnum: 5 ..._interval: 5000 ..._warnings: 1 ..._expireinterval: 600000 |
Der Anti-Flooding-Mechanismus: immer wenn der Benutzer flooding_maxnum Texte innerhalb von flooding_interval Millisekunden abgeschickt hat, erhält er eine Warnung. Nach flooding_warnings Warnungen wird er rausgeschmissen. Nach der Zeit flooding_expireinterval wird die Zahl der abgegebenen Warnungen auf 0 zurückgesetzt. flooding_maxnum=0 oder flooding_interval=0 deaktiviert den Flooding-Schutz, flooding_expireinterval=0 deaktiviert die Zurücksetzung der Zahl der Warnungen. |
Die korrekte Funktion des Chats ist wesentlich abhängig von einem korrekt
funktionierenden JavaScript. Deswegen sollten Sie nur dann Änderungen
an den JavaScript-Funktionen vornehmen, wenn Sie genau wissen, was Sie
tun. Bei Problemen, die aus solchen Änderungen resultieren, werde ich
wahrscheinlich keine Hilfe bieten können. Eine detailierte Beschreibung
der JavaScript-Funktionen soll bald verfügbar sein, für aktuelle
Informationen schauen Sie auf http://www.gtchat.de. |