Les scripts ASP du forum de discussion tels qu'utilisés dans The Code Project. Il s'agit d'un projet open source pour la communauté Code Project.
Il s'agit du premier des « projets » qui ont inspiré le concept original du Code Project. Nous avons fourni ces scripts pour aider les développeurs, et nous espérons que des développeurs comme vous nous aideront en retour en testant, en soumettant des rapports de bugs, en suggérant des améliorations et en soumettant des extensions.
Nous vous invitons à utiliser ces scripts dans vos propres sites, mais nous vous demandons de conserver le logo "powered by CodeProject" dans le coin supérieur gauche. Nous demandons également, par avance, votre patience et votre compréhension. Ces scripts vont sans aucun doute beaucoup changer, nous vous suggérons donc de revenir régulièrement pour voir les derniers développements, ou de vous abonner à la Newsletter pour recevoir des notifications de mises à jour.
Depuis le 5 juillet 2000, nous fournissons le code source au contrôle ActiveX qui gère le travail principal d'organisation des messages dans un semblant d'ordre. Nous aurions aimé commenter le code en détail, et même expliquer étape par étape son fonctionnement, mais nous n'avons tout simplement pas eu le temps et avons décidé qu'il était préférable de publier tel quel que de ne pas publier du tout. Si vous trouvez des bugs ou apportez des améliorations, veuillez les envoyer.
Prudence
La version ActiveX du code utilise un contrôle ActiveX pour réaliser cet ordre en chargeant tous les messages dans un forum, puis en les ordonnant correctement. Cela entraîne évidemment de mauvaises performances une fois qu'un forum commence à se développer. La version pure ASP Les versions ultérieures incluent un champ "SortOrder" pour chaque message, ce qui signifie que les messages sont triés au moment de la requête de la base de données, et une pagination/un filtrage peuvent être inclus pour réduire considérablement la taille et la charge des jeux d'enregistrements. Il n'est pas recommandé d'utiliser la version ActiveX de ce code .
26 août 2001 - Philip Andrew a fourni une version PHP des forums.
Le forum de discussion utilisé chez CodeProject a été écrit par Uwe Keim et comprend un contrôle ActiveX (écrit en Visual C++) et un ensemble de scripts ASP. Le contrôle ActiveX fournit un accès de bas niveau à la base de données des messages du forum et fournit des fonctionnalités permettant de faciliter la transmission des paramètres d'une page à une autre. Le contrôle ActiveX n'est actuellement publié que sous forme de DLL, en partie parce que nous n'avons pas encore fini de l'écrire, et en partie parce que nous avons à peine commencé à le documenter :)
Nouveau : Une nouvelle version des cartes a été écrite par Uwe et est uniquement ASP, donc plus besoin de jouer avec les contrôles ActiveX. Les forums ont une mise en œuvre minimale, mais vous donneront tout ce dont vous avez besoin pour mettre en place et faire fonctionner un ensemble de forums de discussion. Ils sont en accès uniquement pour le moment, mais passer à SQLServer est un simple exercice laissé au lecteur. Voir la section de téléchargement en haut de cette page pour les fichiers.
Alors, passons aux scripts. À partir de maintenant, toutes les discussions se concentreront uniquement sur la version ActiveX. La version non-activeX est suffisamment similaire, bien que les structures de répertoires et l'imbrication des fichiers soient un peu différentes.
Ceux-ci sont répartis en plusieurs catégories :
Il y a aussi :
Il est supposé que vous exécutez NT4 Server ou supérieur avec IIS4 ou supérieur, ou Win9X avec PWS. Le forum est stocké dans une base de données Access et utilise le Jet Engine pour y accéder.
OK, vous avez donc les fichiers et vous souhaitez commencer à jouer au lieu de lire le reste de cet article. Je ne vous en veux pas. Voici ce que vous faites alors :
/CodeProject/forum/bin
/CodeProject/common/config.asp
en fonction de votre site./CodeProject/forum/includes/config.asp
en fonction de vos forums de discussion./CodeProject/forum/data/forum.mdb
./CodeProject/common/email.inc
en conséquence. Maintenant, pointez simplement votre navigateur sur /CodeProject/forum/index.asp
et vous êtes absent
Les scripts sont constitués d'un ensemble de scripts d'interface utilisateur principaux (dans le répertoire racine) qui utilisent des scripts de travail (dans le répertoire /forum/app
) pour effectuer réellement le travail. Ceux-ci redirigent à leur tour le navigateur vers les scripts de l’interface utilisateur.
Les entrailles du système se trouvent dans /forum/includes/forum.inc
. Ce fichier contient la définition de la classe forum et constitue un wrapper pour le contrôle ActiveX du forum principal. Cette classe est le principal point de communication qui contient toutes les fonctionnalités liées au forum. Vous ne communiquez jamais directement avec le contrôle ActiveX du forum, mais toujours indirectement via cette classe.
La classe contient non seulement des méthodes qui effectuent le travail, mais également des fonctions permettant de renvoyer des URL aux différents scripts d'application. En faisant cela, nous sommes en mesure de définir les noms des différents scripts dans le fichier /forum/includes/config.asp
, ce qui rend extrêmement simple la modification de la structure des répertoires.
Chaque message possède un mot de passe défini par l'auteur de ce message qui permet à l'auteur de modifier ou de supprimer un message. De plus, vous pouvez modifier ou supprimer des messages en utilisant le mot de passe global. Ceci est défini dans /forum/includes/config.asp
et est utilisé en ajoutant simplement un " &ad=
" à la fin de l'URL que vous consultez actuellement.
Par exemple, si vous consultez l'index du forum avec l'ID 1 et que votre URL est http://www.myserver.com/codeproject/forum/index.asp?forumid=1
alors pour passer en mode administrateur, modifiez simplement le URL vers :
http: // www.myserver.com/codeproject/forum/index.asp?forumid=1&ad=12345
où "12345" est le mot de passe (défini dans /forum/includes/config.asp
comme ADMIN_PW
. Cela vous donne ensuite des options pour administrer le forum (définir le nom et la description du forum, ainsi que l'adresse e-mail à envoyer lorsque de nouveaux messages ou les messages de réponse sont publiés).
Pour ajouter ou supprimer des forums eux-mêmes, vous devez modifier physiquement la base de données. C'est juste une de ces choses que nous n'avons pas encore faites...
En mode administrateur, vous avez également la possibilité de modifier ou de supprimer des messages. De plus, une fois en mode administrateur, vous continuerez à être en mode administrateur à mesure que vous vous déplacerez dans les scripts du forum. Supprimez simplement le " &ad=
" pour sortir du mode administrateur.
La dernière version des scripts dispose d'une interface utilisateur améliorée, ainsi que de quelques modifications internes conçues pour résoudre quelques problèmes avec la première version. En résumé :
Trop. Ceci n'est qu'un aperçu des forums et ne décrit même pas ce que fait chaque fichier, ni comment nous prévoyons d'étendre les scripts. Nous travaillerons constamment à l'amélioration de ces scripts et toutes les extensions et modifications apportées aux principaux forums CodeProject seront incluses dans ces fichiers téléchargeables.
Considérez cela comme un travail en cours !