From: Victor Wagner Date: Mon, 24 Mar 2008 11:44:54 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: http://wagner.pp.ru/gitweb/?a=commitdiff_plain;h=820fda6f1068f1ef10cfc297d9b9e1f59c072ba2;p=oss%2Fstilllife.git *** empty log message *** --- diff --git a/doc/templates.txt b/doc/templates.txt index 37cf372..d9ba674 100644 --- a/doc/templates.txt +++ b/doc/templates.txt @@ -224,6 +224,26 @@ message в шаблоне темы. вызывается без соответствующего значения в url или postdata, это поле заполняется значением заголовка referer http-запроса. +Обработка форматированного (размеченного) текста: + +В некоторые поля форм (текст реплики, подпись пользователя) должен +вводиться форматированный текст. + +Такому полю должно соответствовать поле с именим имя_format (например, +полю text соотвествует поле text_format, полю signature - +signature_format). Поле format может принимать одно из трех значений +- html, bbcode и text. Если поле format имеет значение html, то +содержимое соответствующего текстового поля рассматривается как html, +подвергается чистке от небезопасных тэгов и сохраняется в таком виде. +Если поле format имеет значение text, то спецсимволя эскейпятся, а +переводы строки заменяются на теги
. + +Если поле имеет значение bbcode, то обрабатываются управляющие +последовательности bbcode. + +Наличие URL в тексте проверяется независимо от формата. + + Скрипт регистрации (операция login) Форма с именем login содержит поля name и password Может также содержать checkbox с именем ipbind (привязка diff --git a/doc/tz.txt b/doc/tz.txt new file mode 100644 index 0000000..e86d91f --- /dev/null +++ b/doc/tz.txt @@ -0,0 +1,113 @@ +Вебстроительское +Тут попробовал поставить YaBB2 и мне очень не понравилось. В инструкции +по инсталляции рекомендуется на много какие файлы и каталоги ставить +права 777 или 666, данные предлагается хранить в каталоге со скриптами +etc. + +Большая часть прочих форумных движков которые я видел, вообще написаны +на PHP. Наличие интерпретатора внутри апача меня не устраивает. Апач от +этого пухнет, а сервер дохнет. В смысле, нагрузку не держит. + +Соответственно, ничего подходящего вообще не нашлось. А ведь +функциональность форума вообще говоря минимальная. +Древовидного комментирования почти нигде нет, иерархия с ограниченным +числом уровней etc. Если грамотно сформулировать техзадание, пишется за +три вечера. + +Вот и попробую эту функциональность сформулировать: + +архитектура + +1. Минимальные требования к серверу. Т.е. от сервера требуется только +perl 5.8 с модулями, входящими в комплект и работающим flock, и +web-сервер, умеющий исполнять CGI-скрипты. Все скрипты в taint mode. + +2. Все что можно отдавать статикой, отдавать статикой. Если ради этого +придется пожертвовать возможностью создания форумов с ограниченным +доступом, хрен с ними. Web-форумы - штука публичная. + +3. От клиента требуется графический браузер с включенным javascript. +Поскольку иначе кастомизацию статической страницы не сделаешь. А у +клиента процессорных тактов всяко больше, чем у сервера. Седую древность +вроде IE 4.0, Netscape 2.0 и т.д. не поддерживаем. + +4. Отделение данных от кода и публичных данных от непубличных +(непубличными данными являются только пароли и E-Mail-ы юзеров, а также +права доступа). Система должна позволять используя один и тот же +комплект скриптов на нескольких виртуальных сайтах на одном сервере +поддерживать совершенно разные форумы с непересекающимся множеством +пользователей. + +5. Полный контроль над внешним видом форума со стороны дизайнера +шаблонов. Шаблоны должны проходить HTML-валидатор (для упрощения ловли +глюков дизайна). Описание того, чем отличается шаблон от просто +HTML-странички должно занимать не более страницы текста. Количество +шаблонов не должно превышать десятка. + +6. Резервное копирование пользователь, имеющий доступ к файловой системе +сервера, может осуществить независимо от того, что думает по этому +поводу хостер. Просто скачав все файлы из соответствующих каталогов. +Учитываем что каталог с паролями пользователя и правами доступа по http +не доступен. + +features + +1. Есть понятие списка форумов сайта, списка тем в форуме и темы +(дискуссии, последовательности сообщений) +У форума может что-то, функционально эквивалентное сообщению, которое +показывается в списке форумов. У темы - показывается первое сообщение. + +2. Сообщения можно добавлять в тему, отвечая на любое сообщение в теме, +перемещать из темы в тему, удалять, редактировать. Поддерживается +BBCode, поддерживается аплоад изображений для размещения в сообщениях. +Аттачмент произвольных файлов не поддерживается. В форме ответа +поддерживается операция цитирования. Слишком длинные темы режутся на +страницы. Число сообщений на страницу задается в настройках сайта. + +3. Отправка сообщений разрешена только зарегистрированным пользователям. +Перемещение сообщений из темы в тему и удаление - модераторам. +Администратор - это тот, кто может назначать модераторов. Модераторы +могут быть назначены на конкретный форум или даже тему. Форма ответа +может появляться на той же странице (как в ЖЖ), а может на отдельной. В +комплект поставки набор шаблонов с формой на той же странице следует +включить. + +4. При регистрации пользователь указывает имя, пароль, E-Mail +(обязательно) прочие виды контактов (необязательно), возможно пару полей +форум-специфичной информации о себе (например на форуме ролевой игры - +расу и профессию) и картинку. Есть понятие статуса пользователя, который +выставляется модератором/администратором. (возможно, в дальнейшем туда +стоит OpenID прикрутить). + +5. Веб-интерфейса для редактирования шаблонов и CSS нет. Это - через +файловую систему сервера (ftp, ssh, локально, как хотите). + +6. Банить пользователя можно либо в пределах темы, либо в пределах +форума, либо в пределах сайта. + +7. В зависимости от прав пользователя и факта его зарегистрированности +должны показываться или не показываться кнопочки и ссылочки на всякие +скрипты. Это делать client-side, возможно выполнив дополнительный запрос +к серверу (можно через XmlHttpRequest, можно через