Перейти к содержимому

 Друзья: Всё для вебмастера | [ Реклама на форуме ]


Rutor
Rutor


[ DDos Услуги. DDos атака. Заказать ДДос ]


Explay 3


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1
$iD

$iD

    Админ

  • root
  • PipPipPipPipPipPip
  • 3785 сообщений
О движке

Скорость разработки
Третья версия Explay CMS рассчитана в первую очередь на разработчиков. Для хорошей жизни которых, было написано что-то типа фреймворка — ядро. Только в отличие от обычного фреймворка, ядро устанавливает жесткие рамки структуры и написания бизнес-логики, а так же берет на себя 90% рутинной работы. Для того, чтобы понять о какой «рутине» идет речь, надо сказать, что в системе использован принцип ORM, т.е., грубо говоря, всё основано на работе с объектами. Ядро берет на себя обязанности выборки объектов из БД и кеша, сохранении и создании новых объектов. Таким образом разработчику не требуется знания SQL или основ работы с движком кеширования (забегая вперед скажу, что ему даже не нужно знать какой шаблонизатор используется) и написание модуля занимает очень мало времени.

Настраиваемые поля
В основе третьей версии Explay лежит идея — дать возможность разработчикам сайта создавать свои поля для статей, пользователей и всего остального. В связи с этим появилось три основополагающих термина: «объект», «тип объекта» и «поле». Каждый «объект» является представителем своего «типа», а каждый тип описывают «поля» (в последствии свойства самого объекта). Как Вы понимаете, для создания нового свойства, например, для пользователя, достаточно создать новое поле, и затем это свойство/поле сразу же будет доступно в форме редактирования профиля. Если пойти дальше, то без проблем можно создать новые типы публикаций в блогах, например, подкасты или опросы. Эта тема достойна отдельной статьи, поэтому я не буду в нее сейчас углубляться.

Функцию создания новых полей предполагается ввести в админпанели, но, к сожалению, ее еще нет, она обязательно появится в версии 3.1.

Форматы
Пожалуй опущу абзац про ООП и MVC и перейду сразу к вкусненькому — форматы. Форматы — это концептуальная идея, суть которой в том, что сайт может отдавать контент одной и той же страницы в разных форматах (HTML, XML или даже YML). Эта идея пришла мне в голову, когда я решал, как устроить RSS: дописывать модули и создавать новые шаблоны мне было лень, и я пришел к выводу, что отдачу rss нужно как-то автоматизировать. Благодаря ORM это не составило особого труда; движок уже умел отдавать списки объектов, возвращенные модулем, в виде XML-таблицы, поэтому мне осталось только логически связать переключение форматов между HTML, XML и RSS. Теперь для того, чтобы «обучить» движок новому формату, достаточно описать его в неком классе и добавить одну строчку в index.php.

Все объекты (статьи, фотографии, пользователи и т.д.) можно получить в формате XML, дописав в адресной строке ".xml" — готовое API для вашего сайта :mosk:

Связь модулей и шаблонов
Связи между модулями и шаблонами (шаблонизатором) никакой — методы модулей возвращают «объекты-ответы», которые передаются шаблонизатору, а тот уже сам решает, что делать с результатом работы модуля. Кстати, на основе этих же «объектов-ответов» и формируется контент для любых других форматов.

Тем не менее, если модуль ничего не знает про шаблоны, то шаблонам же наоборот — позволено знать API модулей. Таким образом реализуется возможность шаблонов самим определять какие им нужны данные для страницы.

По умолчанию в Explay CMS используются XSLT-шаблоны, но это не значит, что XSLT — единственный вариант — возможно использование практически любого другого шаблонизатора, только для этого надо «обучить» движок. У меня в планах написание шаблонизатора на чистом PHP.

Статьи и комментарии одним списком
Помните, в старых версиях Хабрахабра можно было просмотреть комментарии и публикации пользователя одним списком? Я решил реализовать этот принцип в ядре Explay CMS: теперь разработчик без труда может смешивать все возможные типы объектов — статьи, комментарии, ссылки, фотографии и многие другие.

Возможности
По сути Explay CMS повторяет функционал Хабрахабра, но копировать все цели не было, взяты лишь базовые принципы организации блогинга.

Описание основных модулей:

Блоги. Модуль блогов реализует практически весь функионал, который должна иметь блого-социальная сеть:
  • Возможность публиковать и редактировать статьи и ссылки
        
  • Возможность удалять публикации
        
  • Черновики
        
  • Разделение блогов на публичные (тематические) и персональные
        
  • Возможность создавать блоги
        
  • Голосование за блоги и публикации
        
  • Рейтинг блогов
        
  • Возможность назначать администраторов и модераторов блогов
        
  • Комментирование публикаций
        
  • Облако тегов
        
  • Разделение публикаций по группам: популярные, все, тематические и личные
        
  • RSS публикаций
Пользователи и Люди.
  • Регистрация с подтверждением e-mail и без
        
  • Настройки профиля
        
  • Возможность загрузки нескольких аватаров
        
  • Смена пароля
        
  • Рейтинг пользователей
        
  • Возможность добавлять в друзья
        
  • Поиск пользователей
Фотогалерея.
  • Создание альбомов
        
  • Загрузка нескольких фотографий за раз
        
  • Редактирование фотографий
        
  • Рейтинг фотографий
        
  • Комментирование фотографий
        
  • Облако фототегов
        
  • RSS фотографий
Почта.
  • Оповещение пользователей о новых комментариях и входящих сообщениях
        
  • Обмен сообщениями между пользователями (внутренняя почта)
Лента. Лента — абсолютно новый модуль, аналог новостей В Контакте, где пользователь может посмотреть ленту (лог) действий своих друзей. Логируются следующие действия: новые публикации, подключение к блогам, добавление друзей и фотографий.

Комментарии. Единая система комментариев на Ajax, возможность удалять комментарии.

Системные требования
— Apache
— PHP 5.2
— MySQL 5.0
— XSLT
— Multibyte String
— GD 2
— Zlib
— Mod Rewrite

]]>Скачать тут]]>

#2
$iD

$iD

    Админ

  • root
  • PipPipPipPipPipPip
  • 3785 сообщений
Вышел Explay CMS 3.1
Что нового:
Модули

Один из основных моментов в последней версии  это интерфейс для работы с модулями. Теперь пользователь может скачать модуль с официального сайта и установить его из админпанели. Разработчик же может «экспортировать» (создать установочный архив) разработанный им модуль и разместить его на оф. сайте. Поскольку разработчик может создавать собственные типы данных и использовать их в собственном модуле, то ему доступна функция экспорта самих типов данных. В будущих версиях появится возможность просмотра каталога модулей и их установки прямо из панели администратора, по аналогии с wordpress.

Что касается самих изменениях в модулях, то была добавлена возможность переопределять методы, языковые константы и права доступа, что позволяет не потерять внесенные изменения при обновлении.

К слову, теперь на официальном сайте, при размещении модуля можно (а точнее нужно) описывать его API. В качестве примера я описал API, доступное из шаблонов, для стандартных модулей.

Управление типами данных и их свойствами (полями)

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

В одном из комментариев на Хабре я прочитал про то, что сейчас только в двух отечественных CMS (Bitrix и UMI.CMS) можно создавать «справочники» (выпадающие списки), так вот теперь это доступно и в Explay :)

Подобные манипуляции со свойствами (полями) типов данных возможны благодаря налаженной ORM-системе. Здесь следует отметить, что для каждого типа данных выделяется отдельная таблица в БД, в которой и хранятся объекты нужного типа. При добавлении, например, нового текстового поля к публикации создается новый столбец в таблице. Может это не самый идеальный подход, но зато он позволяет оптимизировать таблицу и тем самым повысить быстродействие всей системы, а также уменьшить головную боль при переносе сайта с другой или на другую систему.

Панель администратора

Панель администратора получилась довольно легкой, без излишеств. Администраторам теперь доступны такие маленькие радости как файловый менеджер, модерация публикаций, удаление пользователей, создание бекапа сайта, управление статичными страницами, перетаскивание ссылок-иконок в избранное и немногое другое.

Нововведения с пользовательской стороны

Здесь нововведений не много, вот основные их них:

    * Создан «прямой эфир»
    * Добавлена возможность восстановления пароля
    * Добавлена возможность пользователям удалять свой профиль (точнее оставлять администраторам заявки на удаление)


Еще одно нововведение, которое не вписывается ни в один параграф,  это новый модуль Баннеры. Разработчику сайта дается возможность выделить в шаблонах места, где могут располагаться т.н. баннеры (по сути баннер представляет из себя кусок HTML-кода). Баннеры позволяют легко управлять блоками на странице со статическим содержимым, не прибегая к редактированию шаблонов.

Системные требования:
Системные требования: PHP 5.2, MySQL 5, XSLT, Multibyte string, Zlib, GD 2.
PHP 5.3 пока не поддерживается.

]]>Скачать можно тут]]>

#3
Urbis

Urbis

    EternalStone

  • Moderator
  • PipPip
  • 177 сообщений
кто юзал? каковы впечатления  :)
Цитата

#4
lampard

lampard

    Бит

  • Members
  • 10 сообщений
впечатления? ну смотря, что оценивать. Админка неоч, есть пару дыр и ещё можно много чего хаить, а так нормально.


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных