Проблемы с Plone

Проблемы с Plone

В последнее время поддержка нескольких сайтов на Plone стала занимать намного больше времени, чем ожидалось. Т е намного больше чем надо.

Вообще то, когда ставился Plone, мы работали с Zope, и в те далёкие времена Plone был прорывом - в том плане что за 5 минут можно было выдать пользователю сайт, с которым он уже сам разбирался и набивал контент.

Но постепенно начали появляться проблемы:

  • Plone тормозит unreal, особенно на популярный сайтах. Календарь просто умирает. В те времена довольно неплохой серверок купленный за 2 килобакса загибался от страницы с календарём одного сайта.
  • Как оказалось - добавлять свои модели данных - дело нетривиальное. Потребовалось много часов работы программистов чтобы сделать более менее работающее расширение - которое почему то потребовало патчения самого Plone в .py файлах (что вылилось в результате в проблемы с поддержкой)

Но, с горем пополам, X десятков сайтов на Plone работало - и не сильно нас отвлекали от более интересных проектов. Пока проблемы саппорта не начали нарастать как снежный ком:

  • Используется достаточно архаичная версия Python 2.4.3
  • Непонятнка с версиями Zope - очень много веток
  • Часто приходится делать Zope update
  • .zexp файл с сайтом Plone, экпорченный их той же Zope. отказывается import.
  • ATPhoto похоже умер - а на нём построены все галлереи. Все рекомендуют пользватся PloneMultimedia, который увы только под Zope3, а все наши сайты под Zope2

Последнее что меня добило - перестала работать Authentification на одном из сайтов, и починить её не удалось, просто никак. Дело в том что новые сайта работают OK, а вот старые не удаётся export/import - по крайней мере после import вылазит другая ошибка с PloneAuth.

Короче, пришло время менять Plone на что то более вменяемое.

Системы управления контентом?

Думал, что найду что то более менее подходящее для Django. Не нашёл. Все ссылаются что Django - это CMS сама по себе..

Вообще - а что нужно для управления контентом сайта? По моему не так уж и много - и с Django это скорее всего можно реализовать за пару дней. Это время будет явно приятнее чем работа с Python debugger + Zope + Plone, решил я, и перевёл один из сайтов на Plone.

Для начала - подумал - а чего мне нужно от сайта? Скорее всего - самый минимум:

  • Редактирование страниц пользователем - взял "Простые страницы" из Django и Tiny\MCE как редактор
  • Добавление картинок и файлов к страницам - просто привязал Image и File как ForeignKey к "Простой странице"
  • Навигация. Так чтобы можно было строить дерево страниц. Но с возможностью вколючения не только страниц а и других объектов в навигацию.  Реализовал с использование GenericForeignKey
  • Новости

В общем всё получилось. И довольно быстро. Вечер одного дня - и утро следующего. Потом тестировал/упрощал.

Вот такой вот получился первый сайт:

А на будущее - чтобы не копировать вручную - я сделал пример сайта и страницу Public.Halogen-DG.com где можнол скачать этот сайт и начать работу прямо сразу:

В будущем я планирую расширить функциональность данного сайта таким образом:

  • Больше готовых шкурок (skins)
  • упростить форму ввода навигации - а то неудобно вводить объекты по ID. Мало того что неудобно - я подозреваю большинство пользователей просто не поймёт ничего (пока). И потребуют курсов обучения "хитрой" науке. Лучше уж упростить…
  • Опционально - управление контентом с "морды" сайта
  • Дополнить документацию по ContentBlocks, Links

 

Но в общем и в целом - сайт работает - пользуйтесь на здоровье ! И если бы вы знали - как я доволен тем что больше нет необходимости думать о Zope/Plone :-)

Update 2008.08.07: login/password? guest/guest. Но вообще я подредактировал URL - теперь он указывает на базпарольный на чтение svn.halogen-dg.com