Die ASP-Skripte des Diskussionsforums, wie sie im Code-Projekt verwendet werden. Dies ist ein Open-Source-Projekt für die Code Project-Community.
Dies ist das erste der „Projekte“, die das ursprüngliche Konzept des Code-Projekts inspirierten. Wir haben diese Skripte bereitgestellt, um Entwicklern zu helfen, und wir hoffen, dass Entwickler wie Sie uns im Gegenzug helfen, indem sie testen, Fehlerberichte einreichen, Verbesserungen vorschlagen und Erweiterungen einreichen.
Wir laden Sie ein, diese Skripte auf Ihren eigenen Websites zu verwenden, bitten Sie jedoch, das „powered by CodeProject“-Logo in der oberen linken Ecke beizubehalten. Wir bitten auch im Vorfeld um Geduld und Verständnis. An diesen Skripten wird sich zweifellos viel ändern. Wir empfehlen Ihnen daher, regelmäßig vorbeizuschauen, um sich über die neuesten Entwicklungen zu informieren, oder den Newsletter zu abonnieren, um Benachrichtigungen über Aktualisierungen zu erhalten.
Seit dem 5. Juli 2000 stellen wir den Quellcode für das ActiveX-Steuerelement bereit, das die Hauptaufgabe übernimmt, die Nachrichten in eine gewisse Ordnung zu bringen. Wir hätten den Code gerne ausführlich kommentiert und sogar Schritt für Schritt erklärt, wie der Code funktioniert, aber wir hatten einfach keine Zeit und sind zu dem Schluss gekommen, dass es besser ist, so wie es ist zu posten, als gar nichts zu posten. Wenn Sie Fehler finden oder Verbesserungen vornehmen, senden Sie diese bitte ein.
Vorsicht
Die ActiveX-Version des Codes verwendet ein ActiveX-Steuerelement, um diese Reihenfolge zu erreichen, indem alle Nachrichten in einem Forum geladen und dann korrekt sortiert werden. Dies führt offensichtlich zu einer schlechten Leistung, sobald ein Forum zu wachsen beginnt. Die reine ASP-Version. Nachfolgende Versionen enthalten ein „SortOrder“-Feld für jede Nachricht, was bedeutet, dass die Nachrichten zum Zeitpunkt der DB-Abfrage sortiert werden, und Paging/Filterung kann integriert werden, um die Größe und Belastung von Recordsets drastisch zu reduzieren. Es wird nicht empfohlen, die ActiveX-Version dieses Codes zu verwenden .
26. August 2001 – Philip Andrew hat eine PHP-Version des Forums bereitgestellt.
Das bei CodeProject verwendete Diskussionsforum wurde von Uwe Keim geschrieben und besteht aus einem ActiveX-Steuerelement (geschrieben mit Visual C++) und einer Reihe von ASP-Skripten. Das ActiveX-Steuerelement bietet einfachen Zugriff auf die Nachrichtendatenbank des Forums und stellt Funktionen bereit, die die Übergabe von Parametern von einer Seite an eine andere erleichtern. Das ActiveX-Steuerelement wird derzeit nur in DLL-Form veröffentlicht, teils, weil wir es noch nicht fertig geschrieben haben, und teils, weil wir gerade erst mit der Dokumentation begonnen haben :)
Neu : Uwe hat eine neue Version der Boards geschrieben, die nur ASP sind, sodass Sie nicht mehr mit ActiveX-Steuerelementen herumspielen müssen. Die Implementierung der Boards ist minimal, sie bieten Ihnen aber alles, was Sie brauchen, um eine Reihe von Diskussionsforen einzurichten und in Betrieb zu nehmen. Im Moment sind sie nur für den Zugriff zugänglich, aber der Wechsel zu SQLServer ist eine einfache Übung, die dem Leser überlassen bleibt. Die Dateien finden Sie im Download-Bereich oben auf dieser Seite.
Also – weiter zu den Drehbüchern. Von hier an konzentrieren sich alle Diskussionen nur noch auf die ActiveX-Version. Die Nicht-ActiveX-Version ist ausreichend ähnlich, obwohl die Verzeichnisstrukturen und die Dateiverschachtelung etwas anders sind.
Diese sind in mehrere Kategorien unterteilt:
Es gibt auch:
Es wird davon ausgegangen, dass Sie NT4 Server oder höher mit IIS4 oder höher oder Win9X mit PWS ausführen. Das Forum ist in einer Access-Datenbank gespeichert und nutzt für den Zugriff die Jet Engine.
OK, Sie haben also die Dateien und möchten mit dem Spielen beginnen, anstatt den Rest dieses Artikels zu lesen. Ich gebe dir keine Vorwürfe. Folgendes tun Sie dann:
/CodeProject/forum/bin
/CodeProject/common/config.asp
entsprechend Ihrer Site./CodeProject/forum/includes/config.asp
entsprechend Ihren Diskussionsforen./CodeProject/forum/data/forum.mdb
haben./CodeProject/common/email.inc
entsprechend. Jetzt richten Sie Ihren Browser einfach auf /CodeProject/forum/index.asp
und schon kann es losgehen
Die Skripte bestehen aus einer Reihe von Hauptskripten für die Benutzeroberfläche (im Stammverzeichnis), die Arbeitsskripte (im Verzeichnis /forum/app
) verwenden, um die eigentliche Arbeit zu erledigen. Diese wiederum leiten den Browser zurück zu den Skripten der Benutzeroberfläche.
Der Kern des Systems befindet sich in /forum/includes/forum.inc
. Diese Datei enthält die Definition der Forum-Klasse und ist ein Wrapper für das Haupt-Forum-ActiveX-Steuerelement. Diese Klasse ist der Hauptkommunikationspunkt, der alle forumbezogenen Funktionen enthält. Sie kommunizieren mit dem Forum-ActiveX-Steuerelement nie direkt, sondern immer indirekt über diese Klasse.
Die Klasse enthält nicht nur Methoden, die die Arbeit ausführen, sondern auch Funktionen zum Zurückgeben von URLs an die verschiedenen Anwendungsskripte. Auf diese Weise können wir die Namen der verschiedenen Skripte in der Datei /forum/includes/config.asp
festlegen, was das Ändern der Verzeichnisstruktur äußerst einfach macht.
Jede Nachricht verfügt über ein vom Autor dieser Nachricht festgelegtes Passwort, das es dem Autor ermöglicht, eine Nachricht zu ändern oder zu löschen. Darüber hinaus können Sie mit dem globalen Passwort Nachrichten ändern oder löschen. Dies ist in /forum/includes/config.asp
definiert und wird verwendet, indem einfach „ &ad=
“ an das Ende der URL angehängt wird, die Sie gerade anzeigen.
Wenn Sie beispielsweise den Index des Forums mit der ID 1 anzeigen und Ihre URL http://www.myserver.com/codeproject/forum/index.asp?forumid=1
lautet, ändern Sie einfach die URL, um in den Administratormodus zu wechseln URL zu:
http: // www.myserver.com/codeproject/forum/index.asp?forumid=1&ad=12345
Dabei ist „12345“ das Passwort (definiert in /forum/includes/config.asp
als ADMIN_PW
). Dies gibt Ihnen dann Optionen zum Verwalten des Forums (Festlegen des Namens und der Beschreibung des Forums sowie der E-Mail-Adresse, die per E-Mail gesendet werden soll, wenn neue Nachrichten eingehen). Antwortnachrichten werden gepostet).
Um Foren selbst hinzuzufügen oder zu löschen, müssen Sie die Datenbank physisch ändern. Das ist nur eines der Dinge, die wir noch nicht getan haben ...
Im Admin-Modus haben Sie außerdem die Möglichkeit, Nachrichten zu ändern oder zu löschen. Sobald Sie sich im Administratormodus befinden, bleiben Sie auch weiterhin im Administratormodus, während Sie sich durch die Forenskripte bewegen. Entfernen Sie einfach „ &ad=
“, um den Administratormodus zu verlassen.
Die neueste Version der Skripte verfügt über eine verbesserte Benutzeroberfläche sowie einige interne Änderungen, die einige Probleme mit der ersten Version beheben sollen. Kurzgesagt:
Zu viel. Dies ist lediglich eine Skizze der Foren und beschreibt nicht einmal, was die einzelnen Dateien bewirken oder wie wir die Skripte erweitern wollen. Wir werden ständig an der Verbesserung dieser Skripte arbeiten und alle Erweiterungen und Änderungen, die an den Hauptforen von CodeProject vorgenommen werden, werden in diesen herunterladbaren Dateien enthalten sein.
Betrachten Sie dies als laufende Arbeit!