Вышел ng.site.content 1.1.1
2008-06-24 17:32Выпущена новая версия продукта ng.site.content и смежных с ним. Основное достижение новой версии - улучшенная модульность, которая позволяет устанавливать сайт в различных модификациях: можно сделать минимальную установку, а при необходимости, дополнить ее несколькими модулям расширения.
В продукте ng.site.content было выделено ядро функциональности (минимальный набор продуктов, с которым сайт сохраняет работоспособность и полезность), а все лишние продукты были вынесены в два расширения:
- ng.site.addon.rubricator
- Поддержка рубрикатора, которая позволяет завести несколько рубрик и раскладывать по ним элементы сайта.
- ng.site.addon.remotefs
- Поддержка группы продуктов, позволяющих публиковать материалы, доступные в удаленных файловых хранилищах.
Продукты, входящие в расширения, требуют установки нетривиальных питоновских модулей и их настойка может быть сложна для пользователей. В тоже время, продукты, оставшиеся в ядре ng.site.content легко устанавливаются и составляют минимальный контент-сайт.
В связи с выносом части кода в расширения, пришлось доработать и ng.skin.base, который никак не хотел запускаться в отсутствии некоторых продуктов. К сожалению, на данный момент не удалось придумать ничего лучше, кроме как ввести два вспомогательных установочных файла: ng.skin.base-rubricator-сonfigure.zcml и ng.skin.base-remotefs-сonfigure.zcml, которые надо скопировать в etc/package-includes экземпляра Zope3. Без установки этих файлов часть скина, полезная для работы с расширениями, будет отсутствовать.
Следующим этапом, возможно, будет вынос еще нескольких продуктов в ng.site.addon.tools, которые не являются жизненно необходимыми для работы контент-сайта, но способны решить некоторые проблемы (статистика, квоты, противодействие ошибкам в наборе url и другие).
Интересно отметить, что после разбиения монолитного продукта, стали использоваться все возможности, изначально заложенные в продукт ks.installtool: в ядре и в каждом из расширении находятся свои, специфические скрипты настройки, а при запуске общей установки выполняются все скрипты, задействованные в этом процессе. Интересующимся будет полезно посмотреть на коды в папках install ng.site.content, ng.site.addon.rubricator, ng.site.addon.remotefs


