Los scripts ASP del foro de discusión tal como se utilizan en The Code Project. Este es un proyecto de código abierto para la comunidad de Code Project.
Este es el primero de los "proyectos" que inspiraron el concepto original del Proyecto Código. Hemos proporcionado estos scripts para ayudar a los desarrolladores y esperamos que desarrolladores como usted nos ayuden a cambio probando, enviando informes de errores, sugiriendo mejoras y enviando extensiones.
Le invitamos a utilizar estos scripts en sus propios sitios, pero le pedimos que mantenga el logotipo "Desarrollado por CodeProject" en la esquina superior izquierda. También os pedimos, de antemano, paciencia y comprensión. Sin duda, estos scripts cambiarán mucho , por lo que le sugerimos que los revise periódicamente para ver las últimas novedades o que se suscriba al boletín para recibir notificaciones de actualizaciones.
A partir del 5 de julio de 2000 proporcionamos el código fuente del control ActiveX que maneja el trabajo principal de organizar los mensajes en una apariencia de orden. Nos hubiera encantado comentar mucho el código e incluso proporcionar un paso a paso sobre cómo funciona, pero simplemente no tuvimos tiempo y decidimos que publicar tal cual es mejor que no publicar nada. Si encuentra errores o realiza mejoras, envíelos.
Precaución
La versión ActiveX del código utiliza un control ActiveX para lograr este orden cargando todos los mensajes en un foro y luego ordenándolos correctamente. Obviamente, esto da como resultado un rendimiento deficiente una vez que un foro comienza a crecer. La versión ASP pura Las versiones posteriores incluyen un campo "SortOrder" para cada mensaje, lo que significa que los mensajes se ordenan en el momento de la consulta de la base de datos y se puede incluir paginación/filtrado para reducir drásticamente el tamaño y la carga del conjunto de registros. No se recomienda utilizar la versión ActiveX de este código .
26 de agosto de 2001: Philip Andrew proporcionó una versión PHP de los foros.
El foro de discusión utilizado en CodeProject fue escrito por Uwe Keim y comprende un control ActiveX (escrito con Visual C++) y un conjunto de scripts ASP. El control ActiveX proporciona acceso de bajo nivel a la base de datos de mensajes del foro y proporciona funcionalidad para facilitar la forma en que los parámetros se pasan de una página a otra. El control ActiveX sólo se publica en formato DLL por el momento, en parte porque todavía no hemos terminado de escribirlo y en parte porque apenas hemos empezado a documentarlo :)
Nuevo : Uwe ha escrito una nueva versión de las placas que son sólo ASP, por lo que no más problemas con los controles ActiveX. Los foros tienen una implementación mínima, pero le brindarán todo lo que necesita para poner en funcionamiento un conjunto de foros de discusión. Por el momento son de acceso exclusivo, pero pasar a SQLServer es un simple ejercicio que se deja al lector. Consulte la sección de descarga en la parte superior de esta página para ver los archivos.
Entonces, pasemos a los guiones. Todas las discusiones a partir de ahora se concentrarán únicamente en la versión ActiveX. La versión no ActiveX es bastante similar, aunque las estructuras de directorios y el anidamiento de archivos son un poco diferentes.
Estos se dividen en una serie de categorías:
También hay:
Se supone que está ejecutando NT4 Server o superior con IIS4 o superior, o Win9X con PWS. El foro se almacena en una base de datos de Access y utiliza Jet Engine para acceder.
Bien, ya tienes los archivos y quieres empezar a jugar en lugar de leer el resto de este artículo. No te culpo. Esto es lo que debes hacer entonces:
/CodeProject/forum/bin
/CodeProject/common/config.asp
para adaptarlo a su sitio./CodeProject/forum/includes/config.asp
para adaptarlo a sus foros de discusión./CodeProject/forum/data/forum.mdb
./CodeProject/common/email.inc
según convenga. Ahora simplemente apunte su navegador a /CodeProject/forum/index.asp
y estará listo.
Los scripts se componen de un conjunto de scripts de interfaz de usuario principal (en el directorio raíz) que utilizan scripts de trabajo (en el directorio /forum/app
) para realizar el trabajo. Estos, a su vez, redirigen el navegador a los scripts de la interfaz de usuario.
Las entrañas del sistema están en /forum/includes/forum.inc
. Este archivo contiene la definición de la clase del foro y es un contenedor para el control ActiveX del foro principal. Esta clase es el principal punto de comunicación que contiene todas las funciones relacionadas con el foro. Nunca se comunica directamente con el control ActiveX del foro, sino siempre indirectamente a través de esta clase.
La clase no sólo contiene métodos que realizan el trabajo, sino que también funciona para devolver URL a los distintos scripts de la aplicación. Al hacer esto, podemos configurar los nombres de los diversos scripts en el archivo /forum/includes/config.asp
, lo que hace que sea extremadamente sencillo cambiar la estructura del directorio.
Cada mensaje tiene una contraseña establecida por el autor de ese mensaje que le permite modificar o eliminar un mensaje. Además de esto, puedes modificar o eliminar mensajes utilizando la contraseña global. Esto se define en /forum/includes/config.asp
y se usa simplemente agregando " &ad=
> " al final de cualquier URL que esté viendo actualmente.
Por ejemplo, si está viendo el índice del foro con ID 1 y su URL es http://www.myserver.com/codeproject/forum/index.asp?forumid=1
, para ingresar al modo administrador simplemente modifique el URL a:
http: // www.myserver.com/codeproject/forum/index.asp?forumid=1&ad=12345
donde "12345" es la contraseña (definida en /forum/includes/config.asp
como ADMIN_PW
. Esto le brinda opciones para administrar el foro (establezca el nombre y la descripción del foro, así como la dirección de correo electrónico que se enviará cuando haya nuevos mensajes o se publican los mensajes de respuesta).
Para agregar o eliminar foros hay que modificar físicamente la base de datos. Esta es sólo una de esas cosas que aún no hemos hecho...
En el modo administrador también tienes la opción de modificar o eliminar mensajes. Además, una vez que esté en modo administrador, seguirá estando en modo administrador a medida que avance por los scripts del foro. Simplemente elimine " &ad=
" para salir del modo administrador.
La última versión de los scripts tiene una interfaz de usuario mejorada, además de algunos cambios internos diseñados para solucionar algunos problemas con la primera versión. En pocas palabras:
Demasiado. Esto es simplemente un bosquejo de los foros y ni siquiera describe qué hace cada archivo, ni cómo planeamos expandir los scripts. Trabajaremos constantemente para mejorar estos scripts y todas las extensiones y modificaciones realizadas en los foros principales de CodeProject se incluirán en estos archivos descargables.
¡Considere esto como un trabajo en progreso!