Сценарии ASP доски обсуждений, используемые в проекте Code. Это проект с открытым исходным кодом для сообщества Code Project.
Это первый из «проектов», вдохновивший первоначальную концепцию Code Project. Мы предоставили эти сценарии в помощь разработчикам и надеемся, что такие разработчики, как вы, помогут нам в ответ, тестируя, отправляя отчеты об ошибках, предлагая улучшения и отправляя расширения.
Мы приглашаем вас использовать эти скрипты на своих сайтах, но просим вас сохранять логотип «powered by CodeProject» в верхнем левом углу. Мы также заранее просим вашего терпения и понимания. Эти сценарии, несомненно, сильно изменятся, поэтому мы предлагаем вам регулярно проверять их, чтобы быть в курсе последних событий, или подписаться на информационный бюллетень, чтобы получать уведомления об обновлениях.
По состоянию на 5 июля 2000 г. мы предоставляем исходный код элемента управления ActiveX, который выполняет основную работу по организации сообщений в некое подобие порядка. Нам бы хотелось подробно прокомментировать код и даже предоставить пошаговое описание того, как он работает, но у нас просто не было времени, и мы решили, что публиковать «как есть» лучше, чем не публиковать вообще. Если вы обнаружите ошибки или внесете улучшения, присылайте их.
Осторожность
Версия кода ActiveX использует элемент управления ActiveX, который использовался для достижения такого порядка путем загрузки всех сообщений на форуме и их правильного упорядочения. Это, очевидно, приводит к снижению производительности, когда форум начинает расти. Чистая версия ASP. Последующие версии включают поле «SortOrder» для каждого сообщения, что означает, что сообщения сортируются во время запроса к базе данных, а также можно включить подкачку/фильтрацию для значительного уменьшения размеров набора записей и нагрузки. Не рекомендуется использовать версию этого кода ActiveX .
26 августа 2001 г. — Филип Эндрю предоставил PHP-версию форумов.
Доска обсуждений, используемая в CodeProject, была написана Уве Кеймом и включает в себя элемент управления ActiveX (написанный с использованием Visual C++) и набор сценариев ASP. Элемент управления ActiveX обеспечивает низкоуровневый доступ к базе данных сообщений форума и предоставляет функциональные возможности, упрощающие передачу параметров с одной страницы на другую. Элемент управления ActiveX выпущен только в виде DLL на данный момент, отчасти потому, что мы еще не закончили его писать, а отчасти потому, что мы едва начали его документировать :)
Новое : Уве написала новую версию плат, предназначенную только для ASP, поэтому больше не нужно возиться с элементами управления ActiveX. Доски минимальны по реализации, но дадут вам все необходимое для запуска и работы набора досок обсуждений. На данный момент они доступны только для доступа, но переход на SQLServer — это простое упражнение, оставленное читателю. Файлы см. в разделе загрузки вверху этой страницы.
Итак — о сценариях. Все обсуждения с этого момента будут сосредоточены только на версии ActiveX. Версия без ActiveX достаточно похожа, хотя структура каталогов и вложенность файлов немного отличаются.
Они разделены на ряд категорий:
Также есть:
Предполагается, что вы используете сервер NT4 или более позднюю версию с IIS4 или более позднюю версию или Win9X с PWS. Форум хранится в базе данных Access и для доступа использует Jet Engine.
Итак, у вас есть файлы и вы хотите начать играть вместо того, чтобы читать остальную часть этой статьи. Я не виню тебя. Вот что вы делаете тогда:
/CodeProject/forum/bin
/CodeProject/common/config.asp
в соответствии с вашим сайтом./CodeProject/forum/includes/config.asp
в соответствии с вашими досками обсуждений./CodeProject/forum/data/forum.mdb
./CodeProject/common/email.inc
соответствующим образом. Теперь просто укажите в браузере /CodeProject/forum/index.asp
, и все готово.
Сценарии состоят из набора основных сценариев пользовательского интерфейса (в корневом каталоге), которые используют рабочие сценарии (в каталоге /forum/app
) для фактического выполнения работы. Они, в свою очередь, перенаправляют браузер обратно к сценариям пользовательского интерфейса.
Внутренняя часть системы находится в /forum/includes/forum.inc
. Этот файл содержит определение класса форума и является оболочкой для основного элемента управления ActiveX форума. Этот класс является основной точкой связи, содержащей все функции, связанные с форумом. Вы никогда не взаимодействуете с элементом управления ActiveX форума напрямую, а всегда косвенно через этот класс.
Класс не только содержит методы, выполняющие эту работу, но также функции для возврата URL-адресов различным сценариям приложения. Сделав это, мы сможем установить имена различных сценариев в файле /forum/includes/config.asp
, что чрезвычайно упрощает изменение структуры каталогов.
Каждое сообщение имеет пароль, установленный автором этого сообщения, который позволяет автору изменять или удалять сообщение. Кроме того, вы можете изменять или удалять сообщения, используя глобальный пароль. Это определено в /forum/includes/config.asp
и используется путем простого добавления « &ad=
> » в конец любого URL-адреса, который вы сейчас просматриваете.
Например, если вы просматриваете индекс форума с идентификатором 1 и ваш URL-адрес http://www.myserver.com/codeproject/forum/index.asp?forumid=1
, то для перехода в режим администратора просто измените URL-адрес:
http: // www.myserver.com/codeproject/forum/index.asp?forumid=1&ad=12345
где «12345» — это пароль (определенный в /forum/includes/config.asp
как ADMIN_PW
). Это дает вам возможность администрировать форум (задайте имя и описание форума, а также адрес электронной почты, который будет отправляться по электронной почте при появлении новых сообщений или публикуются ответные сообщения).
Чтобы добавить или удалить сами форумы, вам необходимо физически изменить базу данных. Это лишь одна из тех вещей, которые мы еще не сделали...
В режиме администратора вы также можете изменять или удалять сообщения. Кроме того, перейдя в режим администратора, вы продолжите оставаться в нем при перемещении по сценариям форума. Просто удалите " &ad=
", чтобы выйти из режима администратора.
Последняя версия скриптов имеет улучшенный пользовательский интерфейс, а также некоторые внутренние изменения, призванные исправить некоторые проблемы первой версии. В двух словах:
Слишком. Это всего лишь набросок форумов, в нем даже не описывается, что делает каждый файл, и как мы планируем расширять скрипты. Мы будем постоянно работать над улучшением этих скриптов, и все расширения и изменения, внесенные в основные форумы CodeProject, будут включены в эти загружаемые файлы.
Считайте, что это незавершенная работа!