ListZone.Ru:
О комментариях. По-моему было бы удобнее, если вместе с уведомлением на email о новых комментариях, в тексте письма будут прямые ссылки на удаление или добавление данного комментария.
ок. комментарии песня отдельная я, если честно, ими еще не занимался, так что все предложения принимаю на заметку. Вообще, это вещь спорная: с одной, обратная связь с посетителями и иногда комментарии читать интереснее статьи, с другой, часто они без модерирования превращаются в помойку. Поэтому:
1. система комментариев будет делаться как "независимая" часть системы
2. скорее всего при статическом режиме комментарии на отдельных страницах (думаю их тоже можно в статике распечатывать)
3. если есть идеи борьбы со спамом в комментариях на уровне скрипта - поделитесь мыслями.
Например, как я понял вебскрипт.ру от комментариев к статьям отказался из-за кучи помоев (спама различного рода) которые туда регулярно выливались.
R.V.:
Green Kakadu Такой вопрос: под какой лицензией будет распространяться скрипт?
какая-нибудь открытая лицензия (GPL или что-то типа того) -это 100%
скрипт делался с учетом того, чтоб у него была открытая понятная архитектура с широкими возможностями по расширению сторонними разработчиками (вот бы мне еще разродиться нормальной документацией).Проблема санитара 1 в том, что его работа завязана на один модуль с довольно запутанным/невнятным интерфейсом.
В новой версии я попытался реализовать модную ныне модель MVC - model-view-controller
В качестве контроллера выступают модули построенные на основе CGI::Application
View - система, работающая с шаблонами расширенного синтаксиса HTML::Template (причем синтаксис проверяется HTML::Template)
Модель хранения данных - система модулей на создание которой меня вдохновила работа с пакетом SPOPS + апгрейженный мною модуль SQL::Abstract. Пока работает только с MySQL но для перехода на Pg надо будет внести лишь небольшие изменения в один модуль который отвечает за то что называется object mapping (не знаю как по-русски).
Из каких-либо особенных модулей ничего не использовалось, т.е. подойдет обычный хостинг с CGI (все необходимые модули будут в составе дистрибутива они чисто перловые). Единственное что не помешает - наличие ImageMagic чтоб делать к картинкам превьюшки.
упреждаю ваши вопрос "Когда"? Скоро. Хочется выпустить в свет его если уж не полностью готовым, то максимально законченным с неким базовым набором функций.
Поэтому довожу до ума.
На каком этапе разработка? Что уже есть?Есть система которая:
1. имеет уже полностью функциональный, в меру симпатичный и удобный админский интерфейс, система авторизации (пока сессионная, планирую добавить воз-ть использования базовой апачевской авторизации)
2. Визуальный HTML редактор для статей и превьюшек (пока подключил наименее громоздкий RTE) планирую добавить поддержку других более навороченных, типа TinyMCE
3. работает с неограниченным кол-вом категорий, выстраивает деревья категорий, строит по ним меню. Соотв. удаление, изменение, создание, просмотр категорий.
Планирую: систему работу с меню. Пока сортирует по алфавиту.Воз-ть использования различных шаблонов для меню. Хотелось бы дать воз-ть устанавливать порядок следования + добавлять в меню ссылки не относящиеся к системе. (это уже после выхода альфы)
4. работа с документами. Краткие новости, многостраничные статьи (все документы - это что-то вроде плагинов,дефолтный, вшитый в систему - это один тип документа, краткие новости. Из расширенных есть пока только статьи. Создание, удаление. Добавление страниц, просмотр, сортировка по разным параметрам.
5. авторы (создание, изменение, удаление)
6. пользователи, система доступа с разными правами (+доступ привязан к категориям) : создание пользователя, изменение прав (не все авторы - пользователи). Какие группы пользователей:
------ "вируальный автор". Болванчик/заполнитель от имени которого пишут статью, доступа не имеет никакого и ни к чему и вообще не входит в число зарегистрированных пользователей.
------- "автор" - написание статей в разрешенные категории (рубрики). Редактирование своих статей.
-------- "редактор". Написание, редактирование, удаление статей из разрешенных рубрик. Управление "виртуальными авторами" (создает виртуалов, удаляет, пишет от их имени статьи).Публикация статей. Генерация страниц: отдельной категории, отдельной статьи, за последние nn дней.
---------"админ". может все.
(такая сисетма мне показалась наиболее разумной. Авторы, редакторы могут иметь/не иметь доступ в определенные категории)
7. система генерирует статичные страницы. (индексные страницы категорий могут быть двух типов: последниее NN статей на MM страницах или дайджест: последние т статей категории и ее подкатегорий на одной странице)
8. компилирует шаблоны (пользовательские/админские) (теперь шаблон после изменения должен обязательно компилироваться - после этого он превращается в полноценный перл-модуль, не требующий каких-либо библиотек шаблонизатора).
Что делаю сейчас: редактирование конфига через веб-интерфейс (довольно скучное и занудное занятие).
Что надо сделать к альфе:- печать ленты новостей
- проверить систему с большим кол-вом докуметов (пока там у меня около 7 категорий, 3-х авторов и десяток документов)
- вывести часть данных из конфига в настройки категорий (типа кол-во статей на странице, кол-во страниц - все это имеет смысл настраивать для каждой категории индивидуально)
- календарь.
+ написать установщик
+ сделать более менее "перевариваемые пользовательские шаблоны" (пока там все скромно на уровне HTML 0.9b)
+разродиться минимальо-необходимым объемом документации.
и получается альфа для тестирования
-----------------------------
а потом добавлять все то что я считаю нужным и не хватает для беты - поиск... жду не дождусь когда приступлю к этому. Очень интересно. Уже достал кучу словарей для генерации словоформ, обчитался статей о морфоанализе, разных вариантах индексации документа .. но при этом вопрос производительности и скорости будет главным (может придется особо без наворотов обойтись)
- привинтить почтовые функции (sendmail,SMTP) проблем в этом не вижу, поэтому пока и не делал
- комментарии :)
- рейтингование (тоже отдельной системой)
- динамический режим и кеширование (довольно интересная задача).
- сделать поудобнее работу с менеджером файлов (написал системку на CGI::Uploader, довольно неплохая получилась, только надо будет расширить функциональность)
- родить парочку нестандартных плагинов-типов документов для того, чтоб продемонстрировать широкие воз-ти (например плагин для публикации FAQов или докуметов-фотоальбомов).
+ поправить те баги, которые кто-то из энтузиастов найдет и внести те предложения которые окажутся разумными.
-----------------------------------------
получается beta :)
ну а дальше видно будет. Надо будет нормальную документацию по программной части написать, написать конвертер со старого санитара в новую систему (+ ряд штук, которые мне кажется не помешают ,но о них рано пока говорить).
вот примерно план таков. Тружусь в меру своих воз-тей, забил на работу (уволился, а новую пока еще не искал и до выхода альфы не буду) так что стараюсь.
Если интересно, список используемых системой сторонних модулей на данный момент (будут поставляться в дистрибутиве, к сожалению, некоторые пришлось изменить).
CGI/CGI::Simple - на выбор
CGI::Application (переопределена часть методов), ф-ции контроллера
CGI::Application::Dispatch - ф-ции контроллера
CGI::Uploader (изменен мною) - основа менеджера файлов
Data::FormValidator (урезан мною) - проверка данных при постинге статей и т.д.
DBI :) dbd::mysql
Digest::MD5 - шифрование,, генерация id сессий
File::MMagic - используется файловым менеджером
File::Temp - используется файловым менеджером
File::Path - работа с каталогами категорий
HTML::Template - используется лишь при компиляции шаблонов и проверки их синтексиса.
Image::Size - используется файловым менеджером для определения размеров загружаемой картинки (Высота - Ширина)
ImageMagic - для генерации превьюшек к картинкам (опционально)
MIME::Type - используется файловым менеджером
MIME::Types - используется файловым менеджером
Params::Validate - используется файловым менеджером (думал убрать, но решил оставить)
SQL::Abstract (изменен) - генерация SQL запросов
----------------
+ кол-во файлов-шаблонов для админ интерфейса - 28
Но особо не пугайтесь (+ к этому еще 15 моих модулей ), все грузится только по мере необходимости и в основном при работе админа (проверки данных, загрузка файлов и т.д.)
[off]P.S.читаю, прям как Остап Бендер про Васюки-Москву..[/off]