28 August 2008

Explay CMS 2.1

CMS
Explay CMS
Ну что ж, похоже настало это время. Релиз Explay CMS 2.1. Чтобы скачать, надо сначала посетить промо-страницу, но лучше дочитать до конца :)


Вступление


С момента релиза версии 2.0 прошли почти 4 месяца, и я могу заверить: прошли не зря. Каждый день я убеждался, что не умею программировать на PHP и каждый день я пытался это исправить. Исправил все что мог, в пределах разумной совместимости версий :) В принципе, из старого осталась только часть структуры таблиц в безе данных, движок переписан полностью, а в некоторых местах даже по несколько раз.

О главном


Главное, как вы могли подумать, не полностью переписанный код, не UTF-8, не новый дизайн панели администратора, даже не попытка соответствовать MVC. Главная вещь, ради который собственно я делал и выпускаю 2.1 — это система обновлений. Система обновлений в полном смысле этого слова. С этого момента вам не придется вручную заменять обновленные файлы, а достаточно нажать одну-две кнопки и обновить CMS до последней версии. Раньше это была привилегия платных коробочных (за редким исключением) систем управления сайтами, теперь возможность обновить Explay CMS появилась и у секретарши :)

Надо заметить, что процесс обновления достаточно незауряден, прост и, в тоже время, стабилен с технической стороны. Поэтому, надеюсь, он найдет свое место в других бесплатных CMS.

О новом


Explay CMSВ пользовательском интерфейсе с версии 2.0 не изменилось почти ничего, добавлен модуль рейтингов, расширен профиль, создан поиск и появилась возможность сохранять статьи в черновики, остальное — мелочи. Администраторам повезло немного больше, теперь в их распоряжении настраиваемый рабочий стол и новый «гламурный» дизайн.

Кроме пользователей очень хотел улучшить жизнь программистам, поэтому переписал (в некоторых местах ограничился рефракторингом) и прокомментировал весь код. Немного улучшилась и сама БД, что позволило немного сократить кол-во запросов и повысить производительность. Посчитав, что ООП и пародии MVC мало написал еще и документацию.

Тех, кто будет устанавливать Explay CMS с нуля ждет «мастер установок», который проверит конфигурацию сервера, а так же настроит права на файлы и папки.

Открытость для разработчиков


Теперь текущую версию кода можно посмотреть и скачать из SVN на Google Code. И я очень надеюсь, что после выхода этого релиза найдутся люди, которые будут непосредственно учавствовать в разработке Explay CMS и сообщество разработчиков выйдет на новый уровень.

Список изменений относительно версии 2.0

  1. Создана система обновлений
  2. UTF-8
  3. Переписан модули статей (попытка соответствовать MVC)
  4. RSS лента всех комментариев
  5. Создан поиск по статьям
  6. К странице пользователя теперь можно обращаться по его логину (аналогично и с блогом пользователя)
  7. Дописано ядро, модифицированы классы БД и шаблонов
  8. Написано 3 новых класса: User, explayFroms, imageResize
  9. Абсолютно новый шаблонизатор
  10. Добавлена возможность создания статичных переменных для шаблонов
  11. В класс MySQL добавлены исключения, что позволяет определить реальное место ошибки
  12. Большая часть кода комментирована
  13. Оптимизирован весь код, в том числе и администраторская часть
  14. API & AJAX переместились в модули и работают аналогично им
  15. Теперь используется движок AJAX`а от jQuery
  16. Маленькие аватары пользователей теперь кешируются, а не создаются каждый раз
  17. Поменялся дизайн админпанели
  18. В той же админпанели теперь настраиваемый рабочий стол
  19. Создан быстрый поиск по заголовкам статей
  20. В профиль пользователя добавлены новые поля: дота рождения и пол
  21. Добавлена возможность смены пароля
  22. Статьи тепрь можно сохранять в черновики
  23. Создан установщик, проверяющий права на файлы и конфигурацию сервера
  24. В базовом комплекте идет плагин Sape
  25. Настройки сайта почищены и переведены из таблицы в БД в PHP-файл
  26. Новый блок для модуля «Люди»
  27. В комплекте последняя версия TinyMCE
  28. Исправлены все ошибки версии 2.0

Обновление версии 2.0 до 2.1


К моему сожалению, мне не удалось добиться полной совместимости двух версий. Конечно существует файл обновления, но он обновляет только структуру таблиц в базе данных. Основная проблема при обновлении ждет вас в шаблонах: т.к. изменился шаблонизатор, ни один старый шаблон не будет работать под 2.1. Если вы не меняли пол стандартный дизайн, то вам повезло — достаточно заменить шаблоны, а если вы создали свой дизайн...

С кодировкой UTF-8, возможно, тоже придется повозится. Не смотря на то, что имеется файл меняющий кодировку таблиц базы данных, лучше подстраховаться и сделать полный бекап.

Планы


В скором времени я планирую закрыть 2-ю ветку и начать разработку с чистого листа для создания нормальной архитектуры. А сейчас иду пить пиво.

Для баг-репортов есть сообщество, мой e-mail и личная почта на Хабре.


Жду объективной критики, а не фраз типа: «Все надо переписать под ZF — код гавно!». Если Вы так считаете — обоснуйте.

Ссылки по теме:
Промо-страница — скачать Explay cms и требования к хостингу
Сообщество разработчиков
Проект на Google Code
Документация
Статья в Википедии
Tags:explayпеченькиhtmlphpдвижокcmsutf-8обновления
Hubs: CMS
+82
1.3k 41
Comments 135