FileBase 2 Web Success Story

AMBROSIA60-Portal  Fidonet Hauptseite



Einführung

Nach anfänglichem Versuch schnell eine HTTP-BBS aufzubauen, habe ich mich dann darauf beschränkt, ein allgemeines für den Einstieg aufzubauen.

Nachdem die Versuche fuer eine HTTP-BBS mit EleBBS und Volker Imre's Webinterface gescheitert waren, durchsuchte ich das Web und unzählige Filebases nach Tools zur Webunterstützung.
Einige Websites, die bereits eine BBS 2 Web Umsetzung hinter sich haben, habe ich zwar gefunden, wie zum Beispiel nachfolgende Links zeigen: Aber alle Sites liefern keine Hinweise oder Sources um selbst eine HTTP-BBS zu gestalten (stimmt nicht ganz - zu Volker Imre's Webinterface habe ich die Sources, aber die lassen sich unter VC98 nicht sonderlich einfach auf WinNT Plattform überführen ...; FidoTel läuft vermutlich unter WildCat!, was ein altbekanntes professionelles BBS-System darstellt, aber wohl nicht sonderlich billig ist)

Nun denn - alles was ich finden konnte, war ein Tool BBS2WEB (die Homepage des Autors ist nicht mehr erreichbar ;-( ...), das von einer Maximus FileBase HTML-Seiten erzeugt.
Dieses Tool ist aber nach meinen bisherigen Recherchen nur unter OS/2 lauffähig.
- ein Glück, das ich noch eine OS/2 Maschine am Laufen habe ... ;-)
Damit kann ich zwar HTML Seiten von der FileBase erzeugen, das mitgelieferte MAXFIND.EXE Tool aber versagt den Dienst unter WinNT, da es ein natives OS/2 Tool ist ... ;-(
Also kann ich BBS2WEB nur ohne Search-Funktion laufen lassen .... ;-(

Dank eines Links auf der FidoTel WebSite, wo Shannon Talley die Einbindung von Perlscripts unter Wildcat! beschreibt, befinden sich auch einige Links zu Beispiel Perlscripts. U.a. ein simples SEARCH Perlscript System von Sergej Tarasov. Nach Anpassung der BBS2WEB ini Files (speziell für einen Search Button war dies SCHEME#.INI) war nun auch eine Search Funktion implementiert.

Update 2013-11-17:
Zwischenzeitlich setze ich PHPDIG Sitesearch ein. Siehe auch Success Story: SiteSearch das auch in BBS2WEB eingebunden ist.


BBS2WEB Troubleshooting und Workarounds


  • Globale Funktionen in allen BBS2WEB Ini Blöcken
    Da BBS2WEB 2x täglich auf dem OS/2 Rechner ausgeführt wird, aber eine Synchronisation zum NT Rechner schwierig wird - habe ich auf dem NT Rechner zwei Scheduler Tasks, die etwas später als die BBS2WEB Maintenance zur Ausführung kommen aktiviert, in denen das Perlscript-Indexing der BBS2WEB Seiten durchgeführt wird.
    Da die Editierung der BBS2WEB Ini Datei SCHEME#.INI in mehrere Blöcke unterteilt ist muss z.Bsp. fü die Implemtierung eines Search-Buttons auf allen Seiten dies in ALLEN Blöcken durchgeführt werden. Damit aber noch nicht genug Schwierigkeiten.
  • Footer - Pagecounters auf allen Seiten
    Ich habe im Footer einen Pagecounter (Perlscript) eintragen lassen, der aufgrund des Namens der Seite ein Counter-File erstellt. Nachdem BBS2WEB alle HTML Seiten erstellt hatte, stimmte der Name des Counter-Files in allen HTML Seiten, bis auf die Hauptseite INDEX.HTML! Hier tauchte der Seitenname der letzten FileArea auf. ?-/
    Was war geschehen? Zur Ermittlung des Seitennamens bediene ich mich der BBS2WEB Variablen PAGENAME, der als Zusatzparameter für den Perlscript Aufruf herangezogen wird.
    Da BBS2WEB FileArea für FileArea abarbeitet und sich somit jedesmal der Inhalt der Variablen PAGENAME ändert, wird beim Eintragen des Footers in die INDEX.HTML der zuletzt verwendete Areaname eingetragen.
    Mittels der Variablen IFPAGEIMAGEMAST und IFNOTPAGEIMAGEMAST kann aber für die Laufzeitausführung eine Auswahl getroffen werden, wenn die Seite INDEX.HTML erstellt wird einen Festen Namen vorzugeben, während in allen anderen Fällen die Seite aus dem Areanamen (PAGENAME) gebildet werden kann ....
  • 8.3 / Long Filenames Problem
    Und noch eine Schwierigkeit: Da ich das Mailboxsystem noch auf einem Novellserver ohne LongFilename Unterstützung am laufen habe, die Webseiten aber auf diesem 8.3 Filename System abgelegt werden, meckerte mir BBS2WEB bei den ersten Läufen, dass er eine ganze Reihe von Seiten nicht erstellen könne ...
    Letztendlich identifizierte ich das Problem in der Maximus FileBase Definition:
    Jeder FileArea Name darf, um bei BBS2WEB nicht für Probleme zu sorgen maximal 8 Zeichen lang sein.
  • Filearea Namen mit max. 6 Zeichen
    Nun war die Liste der erstellten Webseiten schon grösser, aber immer noch gab es Seiten, obwohl der FileArea Name kleiner 8 Zeichen betrug, die nicht erstellt werden konnten.
    Des Rätsels Lösung: Einige FileAreas enthielten soviele Files, dass die HTML Seiten Erstellung auf mehrere Seiten verteilt generiert wurde (Bsp. INFO01.HTML, INFO02.HTML, INFO03.HTML).
    Da die fortlaufende Seitennummerierung 2-stellig war, ergibt sich hieraus, dass der Name der FileArea für solche Areas nicht länger als 6 Zeichen betragen durfte.
    Nachdem nun die Maximus FileBase Namensgebung angepasst war, lief auch BBS2WEB ohne Fehlermeldungen durch.
  • Leere Fileareas
    Ein weiteres Problem das im Betrieb dieser Web-FileBase auftrat wurde sichtbar, nachdem ich die ersten Test-Search-Requests gestellt hatte und manche Suchanfragen in Verzeichnissen der FileBase auftauchten, die eigentlich _Leer_ waren, also keine Files enthielten ...
    BBS2WEB produziert scheinbar Webseiten, mit Inhalten aus vorangegangenen FileAreas, wenn die nächste FileArea keine Files enthält ...
    Lösung: Erstellung einer Datei DUMMY.TXT mit dem Inhalt "leere FileArea", so dass mindestens 1 Datei in jeder FileArea gefunden wird ...
  • Anzahl Dateien != Vorhandene Dateien, Listung von Dateien aus anderen Fileareas
    [17.11.2013] Nach langer Laufzeit tauchten in einer Filearea auf einmal Dateien auf, die nicht in diese Filearea gehörten. Die BBS2WEB Filearea Auflistung zeigte in der Summe 62 statt 54 Dateien an. In der Liste tauchten eine Serie von Dateien auf, die in Fileareas enthalten sind, die in der Gesamtliste vor der fehlerhaften Filearea enthalten sind. Nun, was war geschehen?

    Bei der Analyse habe ich auf Unverträglichkeiten von Sonderzeichen geprüft; versucht Sonderzeichen in den FILES.BBS Dateien zu suchen. Aber alles half nichts. Der Maximus Indexer (silt max -2a und fb -a -r) lieferten für die besagte Filearea immer wieder 62 statt der tatsächlich vorhandenen 54 Dateien.
    Da ich für die FTN Anbindung ein weiteres Filelister Tool im Einsatz habe (Xlist) schaute ich mir dort das Resultat an und stellte fest, das dort bei 8 Dateien ein Vermerk "Nicht Vorhanden" erschien. Bei einer entsprechend grossen Anzahl von Dateien in einer Filearea fällt es schon mal nicht auf, wenn zwar eine Beschreibung für eine Datei in der FILES.BBS steht, aber die betreffende Datei in der Filearea nicht (mehr) vorhanden ist.

    Des Rätsels Lösung sind nun diese "N/A" nicht mehr vorhandenen Dateien, zu denen es aber immer noch eine Beschreibung in der FILES.BBS gibt. Der Maximus Indexer versucht die Beschreibungen in den Index FILES.DAT (Dateiliste), FILES.DMP (Dateibeschreibungen) und FILES.IDX (Datei Index) zu übertragen. Hierbei überträgt der Maximus Indexer nun sämtliche Dateibeschreibungen ohne zu prüfen, ob die jeweilige Datei überhaupt vorhanden ist.

    Auf diesen Index greift nun BBS2WEB zu und kommt bei den Dateien ins Stolpern zu denen die Dateien fehlen, überträgt "irgendwas" aus dem Hauptspeicher und erzeugt somit eine Fehlerhafte Dateiauflistung anstatt die Dateien als "Nicht vorhanden" zu markieren.

    Es ist davon auszugehen das, sobald Dateien in einer Filearea auftauchen, die dort nichts verloren haben, das in dieser Filearea die FILES.BBS Beschreibung noch Beschreibungen zu Dateien enthält, zu denen die Dateien fehlen, bzw. nicht mehr in der Filearea vorhanden sind. In dem Fall hilft nur, jede einzelne Beschreibung und den dazugehörigen Dateinamen auf physikalisches Vorhandensein zu prüfen.

    Der "Fehler" ist eine Kombination aus fehlerhaftem Maximus Indexer und einem fehlerhaftem BBS2WEB die keine Prüfung auf das Vorhandensein einer Datei der in der FILES.BBS angelegten Dateibeschreibungen durchführen, zu erkennen, ob eine Datei nun tatsächlich vorhanden ist oder nicht, um ggf. zu vermerken: "Datei nicht vorhanden".



Eingesetzte Software:

FileBase System im FILES.BBS Format auf einem Novellserver
Maximus FileBase (DOS), Background Maintenance auf einem DOS-PC
BBS2WEB (OS/2), Background Maintenance auf einem OS/2-Rechner, auf dem auch die Mailerlines laufen
WinNT4-Server mit Novell-Netware-Gateway
Apache 2.0.45 und Perl 5.008 (NT4)
RiSearch-Perlscript

Ulrich Schroeter, Mai 2003

© 2003-2024 by Ulrich Schroeter   02325