Занимаюсь разработкой новой CMS. Подробности ниже.
Основная идея.
Релизовать всё на основе минимального числа базовых блоков:
Группы блоков -> Data-блок -> Элементы в Data-блоке
Все более обще элементы (пользователи, страницы сайта, модули, шаблоны) так же будут реализованы Data-блоками, что позволяет использовать общее API для манипуляции любыми элементами сайта.
Группа блоков
Просто метод группировки блоков, для удобства манипуляции.
DATA-блок
Сущность, включающая в себя поля. Поля - это "заголовки", "картинки", "тексты" и т.п. Все параметры data-блоков должны настраиваться непосредственно из системы администрирования.
Элементы блоков
К ним относятся как непосредственно элементы, так и папки, позволяющие создавать иерархию элементов любой вложенности.
Техническая часть.
Полноценное описание сделаю позже, но самое главное - каждый блок хранится в отдельной таблице со всеми его параметрами. Минус по сравнению с битриксом - у каждого блока своя нумерация элементов. Плюс - скорость работы огромна по сравнению с тем же битриксом, запросы данных - короткие и четкие, никакой монстроузности.
Множественные поля - хранить в том же поле, но с разделителем.
По возможности, минимальное использование велосипедов в вспомогательных модулях: использовать JQuery для выпадающих меню и в деревьях выбора в левом меню, использовать готовые визуальный редактор и файловый менеджер.
Коммерческая выгода и распространение
Первую версию, с минимальным набором компонентов, модулей и своим дизайном системы администрирования - предоставить в открытый доступ, по LGPL или подобной лицензии, с открытыми исходниками. Последующие версии могут быть брендированы и переработаны уже в коммерческих интересах конкретных фирм, что никак не влияет на бесплатность первой, базовой версии.
Готовность на 23.08.2011
Для нормального использования необходимо доделать следующие части:
- фильтры в системе администирования, для раздела "содержимое"
- в левое меню встроить возможность схлопывать и разворачивать разные уровни иерархии (плагин jquery)
- управление доступными типами из системы администрирования
- компонент "листалка страниц" (пагинатор)
- наработка компонентов (новости, каталоги, галлереи, и т.д.)
- сортировка элементов перетаскиванием (jquery+смена поля sort)
- перетряхиваение кода, проверка на уязвимости и фильтрации входных данных
- настройка сортировки в админке по-умолчанию
В ближайшем будущем доделать модули и плагины
- заливки видео на ютуб (и отображение видео с него)
- почтовый скрипт (рассылка почты с сайта - возможно, какой нибудь готовый класс)
- видеплейер файлов с сайта (подыскать готовый)
- аудиоплейер файлов с сайта (подыскать готовый)
- расширенная система управления доступом (группы пользователей)
- скрипт форм для сайта (расширенные настройки форм)
- кэш данных (memcache или иного)
- возможность бэкапа сайта и базы данных из системы администрирования
- и многое другое...
Комментарии (1 шт.)
Чуваки, вы реально крутые!))