Всем доброго времени суток! Уже довольно давно, как мое увлечение создания движка для сайта стало занимать львиную долю свободного времени. А поскольку летом я был полностью предоставлен самому себе, то за компьютер садился как за работу :) При этом меня даже не останавливает отсутствие хоть сколько ощутимого дохода, это как зависимость. Надеясь, что кому-то я все-таки помогу, хочу поделиться результатом своей работы.Explay CMS — это система управления социальными сетями или блого-социальными сообществами. Она по-прежнему совершенно бесплатна и распространяется под лицензией GNU GPL 3 версии. Напомню основные характеристики:
- Коллективные блоги
- Фотоальбомы
- Дружеские связи и новости друзей
- Комментарии
- Рейтинги
- Внутренняя почта
- Система обновлений
Версия 3.1 является эволюционным продолжением версии 3.0. По ходу разработки были исправлены все известные баги и доработаны основные функции. В новой версии CMS приобрела полноценную панель администратора, которая дает возможность реализовать основную функцию, заявленную мной при релизе 3.0, — управление полями публикаций, пользователей и вообще всего-всего.
Далее о нововведениях подробно и по порядку:
Модули
Один из основных моментов в последней версии — это интерфейс для работы с модулями. Теперь пользователь может скачать модуль с официального сайта и установить его из админпанели. Разработчик же может «экспортировать» (создать установочный архив) разработанный им модуль и разместить его на оф. сайте. Поскольку разработчик может создавать собственные типы данных и использовать их в собственном модуле, то ему доступна функция экспорта самих типов данных. В будущих версиях появится возможность просмотра каталога модулей и их установки прямо из панели администратора, по аналогии с wordpress.
Что касается самих изменениях в модулях, то была добавлена возможность переопределять методы, языковые константы и права доступа, что позволяет не потерять внесенные изменения при обновлении.
К слову, теперь на официальном сайте, при размещении модуля можно (а точнее нужно) описывать его API. В качестве примера я описал API, доступное из шаблонов, для стандартных модулей.
Управление типами данных и их свойствами (полями)
Как выше уже было сказано — теперь вы самостоятельно можете настраивать (добавлять/изменять/удалять) свойства типов данных: публикаций, фотографий, пользователей, блогов и вообще всего-всего. Допустим, если для ваших публикаций (статей, постов или топиков — как вам угодно) требуется добавить возможность прикрепления изображения, то с помощью простейших манипуляций, в форме редактирования публикации появится поле для загрузки изображения (при этом вы можете настроить выходной формат и размер изображения). Также вы можете добавить обычные текстовые поля и даже поля для тегов.
В одном из комментариев на Хабре я прочитал про то, что сейчас только в двух отечественных CMS (Bitrix и UMI.CMS) можно создавать «справочники» (выпадающие списки), так вот теперь это доступно и в Explay :)
Подобные манипуляции со свойствами (полями) типов данных возможны благодаря налаженной ORM-системе. Здесь следует отметить, что для каждого типа данных выделяется отдельная таблица в БД, в которой и хранятся объекты нужного типа. При добавлении, например, нового текстового поля к публикации создается новый столбец в таблице. Может это не самый идеальный подход, но зато он позволяет оптимизировать таблицу и тем самым повысить быстродействие всей системы, а также уменьшить головную боль при переносе сайта с другой или на другую систему.
Панель администратора
Панель администратора получилась довольно легкой, без излишеств. Администраторам теперь доступны такие маленькие радости как файловый менеджер, модерация публикаций, удаление пользователей, с��здание бекапа сайта, управление статичными страницами, перетаскивание ссылок-иконок в избранное и немногое другое.
Нововведения с пользовательской стороны
Здесь нововведений не много, вот основные их них:
- Создан «прямой эфир»
- Добавлена возможность восстановления пароля
- Добавлена возможность пользователям удалять свой профиль (точнее оставлять администраторам заявки на удаление)
Еще одно нововведение, которое не вписывается ни в один параграф, — это новый модуль Баннеры. Разработчику сайта дается возможность выделить в шаблонах места, где могут располагаться т.н. баннеры (по сути баннер представляет из себя кусок HTML-кода). Баннеры позволяют легко управлять блоками на странице со статическим содержимым, не прибегая к редактированию шаблонов.
Где взять?
Все сборки и обновления, как обычно, выкладываются на Google Code в разделе загрузок. Рядом находится SVN.
Системные требования: PHP 5.2, MySQL 5, XSLT, Multibyte string, Zlib, GD 2.
PHP 5.3 пока не поддерживается.
Тех-поддержка
Для новичков на оф. сайте существует раздел FAQ, где вы можете получить ответы на популярные вопросы и советы по решению возможных ошибок. Для тех, кто планирует заняться разработкой модулей существует документация, описывающая принципы работы модульной системы, а так же основные классы ядра.
Я с удовольствием безвозмездно помогу оказать несложную тех-поддержку и ответить на все интересующие вопросы.
Спасибо за внимание!