Ну что ж, похоже настало это время. Релиз Explay CMS 2.1. Чтобы скачать, надо сначала посетить промо-страницу, но лучше дочитать до конца :)
Вступление
С момента релиза версии 2.0 прошли почти 4 месяца, и я могу заверить: прошли не зря. Каждый день я убеждался, что не умею программировать на PHP и каждый день я пытался это исправить. Исправил все что мог, в пределах разумной совместимости версий :) В принципе, из старого осталась только часть структуры таблиц в безе данных, движок переписан полностью, а в некоторых местах даже по несколько раз.
О главном
Главное, как вы могли подумать, не полностью переписанный код, не UTF-8, не новый дизайн панели администратора, даже не попытка соответствовать MVC. Главная вещь, ради который собственно я делал и выпускаю 2.1 — это система обновлений. Система обновлений в полном смысле этого слова. С этого момента вам не придется вручную заменять обновленные файлы, а достаточно нажать одну-две кнопки и обновить CMS до последней версии. Раньше это была привилегия платных коробочных (за редким исключением) систем управления сайтами, теперь возможность обновить Explay CMS появилась и у секретарши :)
Надо заметить, что процесс обновления достаточно незауряден, прост и, в тоже время, стабилен с технической стороны. Поэтому, надеюсь, он найдет свое место в других бесплатных CMS.
О новом
В пользовательском интерфейсе с версии 2.0 не изменилось почти ничего, добавлен модуль рейтингов, расширен профиль, создан поиск и появилась возможность сохранять статьи в черновики, остальное — мелочи. Администраторам повезло немного больше, теперь в их распоряжении настраиваемый рабочий стол и новый «гламурный» дизайн.
Кроме пользователей очень хотел улучшить жизнь программистам, поэтому переписал (в некоторых местах ограничился рефракторингом) и прокомментировал весь код. Немного улучшилась и сама БД, что позволило немного сократить кол-во запросов и повысить производительность. Посчитав, что ООП и пародии MVC мало написал еще и документацию.
Тех, кто будет устанавливать Explay CMS с нуля ждет «мастер установок», который проверит конфигурацию сервера, а так же настроит права на файлы и папки.
Открытость для разработчиков
Теперь текущую версию кода можно посмотреть и скачать из SVN на Google Code. И я очень надеюсь, что после выхода этого релиза найдутся люди, которые будут непосредственно учавствовать в разработке Explay CMS и сообщество разработчиков выйдет на новый уровень.
Список изменений относительно версии 2.0
- Создана система обновлений
- UTF-8
- Переписан модули статей (попытка соответствовать MVC)
- RSS лента всех комментариев
- Создан поиск по статьям
- К странице пользователя теперь можно обращаться по его логину (аналогично и с блогом пользователя)
- Дописано ядро, модифицированы классы БД и шаблонов
- Написано 3 новых класса: User, explayFroms, imageResize
- Абсолютно новый шаблонизатор
- Добавлена возможность создания статичных переменных для шаблонов
- В класс MySQL добавлены исключения, что позволяет определить реальное место ошибки
- Большая часть кода комментирована
- Оптимизирован весь код, в том числе и администраторская часть
- API & AJAX переместились в модули и работают аналогично им
- Теперь используется движок AJAX`а от jQuery
- Маленькие аватары пользователей теперь кешируются, а не создаются каждый раз
- Поменялся дизайн админпанели
- В той же админпанели теперь настраиваемый рабочий стол
- Создан быстрый поиск по заголовкам статей
- В профиль пользователя добавлены новые поля: дота рождения и пол
- Добавлена возможность смены пароля
- Статьи тепрь можно сохранять в черновики
- Создан установщик, проверяющий права на файлы и конфигурацию сервера
- В базовом комплекте идет плагин Sape
- Настройки сайта почищены и переведены из таблицы в БД в PHP-файл
- Новый блок для модуля «Люди»
- В комплекте последняя версия TinyMCE
- Исправлены все ошибки версии 2.0
Обновление версии 2.0 до 2.1
К моему сожалению, мне не удалось добиться полной совместимости двух версий. Конечно существует файл обновления, но он обновляет только структуру таблиц в базе данных. Основная проблема при обновлении ждет вас в шаблонах: т.к. изменился шаблонизатор, ни один старый шаблон не будет работать под 2.1. Если вы не меняли
С кодировкой UTF-8, возможно, тоже придется повозится. Не смотря на то, что имеется файл меняющий кодировку таблиц базы данных, лучше подстраховаться и сделать полный бекап.
Планы
В скором времени я планирую закрыть 2-ю ветку и начать разработку с чистого листа для создания нормальной архитектуры.
Для баг-репортов есть сообщество, мой e-mail и личная почта на Хабре.
Жду объективной критики, а не фраз типа: «Все надо переписать под ZF — код гавно!». Если Вы так считаете — обоснуйте.
Ссылки по теме:
Промо-страница — скачать Explay cms и требования к хостингу
Сообщество разработчиков
Проект на Google Code
Документация
Статья в Википедии