PlumCMF - каркас для быстрой разработки сайтов на Yii

Собираем здесь завершённые проекты, использующие Yii. Один проект — одна тема.
Liquid
Сообщения: 12
Зарегистрирован: 2012.08.15, 18:30
Откуда: Russia, Krasnoyarsk
Контактная информация:

PlumCMF - каркас для быстрой разработки сайтов на Yii

Сообщение Liquid »

Всем привет!

Хочу представить свой первый более менее серьёзный проект на Yii - PlumCMF.
Это каркас, прежде всего предназначенный для людей, использующих в качестве основного инструмента разработки веб-сайтов Yii Framework. В комплекте административный интерфейс управления содержимым сайта.

Базовый набор модулей:
  • Статические страницы
    Новостные ленты
    Фотогалереи
    Обратная связь (вопросы и ответы)
    Файловый менеджер
    Пользователи системы управления и разграничение прав доступа к компонентам
    Рекламные баннеры
Планирую добавить:
  • Интернет-магазин
    Статистика посещаемости на базе API Yandex.Метрика
    Видеогалереи
Основные технологии:
В качестве СУБД используется PostgreSQL.
Каркас работает на основе модулей.
Интерфейс админки построен на основе twitter bootstrap.

Отличительные особенности:
1. Функциональный модуль (новости, фотогалереи и т.д.) не привязывается к определенному URL вида /news/default/view/1 и не зависит от конфигурации URL. Таким образом, страницы могут иметь абсолютно произвольные адреса. Запуск необходимого функционального модуля настраивается через панель администрирования в разделе "Структура сайта" для каждой созданной страницы.
2. Для каждого модуля существует отдельная конфигурация, которая может содержать любые произвольные параметры, необходимые для его работы.
3. Обработка параметров, получаемых из URL запрошенной страницы происходит посредством регулярных выражений. Пример работы можно посмотреть в модуле news.
4. Выбор и запуск нужного функционального модуля происходит внутри модуля site.

P.S.
На данный момент это первый релиз. За любой фидбек буду очень благодарен. Сейчас занимаюсь написанием небольшой документации по разработке модулей. Возможно, пока что проект немного "детский", но надеюсь в скором времени он перерастет в нечто большее.
Есть большой todo лист, содержащий необходимые доработки системы и разного рода идеи, которые пока еще не реализованы в проекте.

Репозиторий проекта на bitbucket (буду так же благодарен за небольшой code review)
Сайт проекта PlumCMF
Демо-версия админки
Демо-версия сайта
Последний раз редактировалось Liquid 2012.11.07, 12:48, всего редактировалось 2 раза.
Аватара пользователя
r3verser
Сообщения: 195
Зарегистрирован: 2012.04.01, 17:29
Откуда: Киев

Re: PlumCMF - каркас для быстрой разработки сайтов на Yii

Сообщение r3verser »

Почему именно postgre? Имхо этим вы очень сузили размер целевой аудитории.
Liquid
Сообщения: 12
Зарегистрирован: 2012.08.15, 18:30
Откуда: Russia, Krasnoyarsk
Контактная информация:

Re: PlumCMF - каркас для быстрой разработки сайтов на Yii

Сообщение Liquid »

При разработке я в основном использую postgresql. Поэтому выбор пал именно на эту СУБД. Тем не менее, все таблицы, которые используются в системе, можно легко переписать, например, на MySQL.
Аватара пользователя
Troy
Сообщения: 235
Зарегистрирован: 2011.02.03, 21:04

Re: PlumCMF - каркас для быстрой разработки сайтов на Yii

Сообщение Troy »

r3verser писал(а):Почему именно postgre? Имхо этим вы очень сузили размер целевой аудитории.
Это еще почему? CMF - это каркас, если программист не в силах быстро конвертировать таблицы в удобную для него СУБД, то это профессия не для него.
Аватара пользователя
r3verser
Сообщения: 195
Зарегистрирован: 2012.04.01, 17:29
Откуда: Киев

Re: PlumCMF - каркас для быстрой разработки сайтов на Yii

Сообщение r3verser »

Troy писал(а):
r3verser писал(а):Почему именно postgre? Имхо этим вы очень сузили размер целевой аудитории.
Это еще почему? CMF - это каркас, если программист не в силах быстро конвертировать таблицы в удобную для него СУБД, то это профессия не для него.
Зачем??! Если у вас есть время, для того чтобы сидеть и конвертировать бд, для того чтобы просто посмотреть что за зверь, то хоть уконвертируйтесь, 90% пройдут мимо даже не попробовав. Все просто как дважды два, mysql это мейнстрим, такова статистика.
Liquid
Сообщения: 12
Зарегистрирован: 2012.08.15, 18:30
Откуда: Russia, Krasnoyarsk
Контактная информация:

Re: PlumCMF - каркас для быстрой разработки сайтов на Yii

Сообщение Liquid »

В любом случае, в ближайшее время доделаю нормальный установщик с версиями таблиц как под PostgreSQL, так и под MySQL и другими настройками.
Аватара пользователя
Koduc
Сообщения: 140
Зарегистрирован: 2011.02.15, 18:56

Re: PlumCMF - каркас для быстрой разработки сайтов на Yii

Сообщение Koduc »

Заметки для будущих версий:
1. Порядок элементов прописывать вручную - очень сурово. Сделайте в табличке (при отображении в админке) стрелочки вверх/вниз для перемещения элемента. Аналогично для активации/деактивации;
2. В "Новостной ленте", например, разделы "Список" и "Управление" имеет смысл объеденить в один раздел - по сути два одинаковых раздела. Аналогично для новостей и других разделов;
3. Не смог посмотреть демо от простого пользователя;
Разработка на Yii: monoray.ru
Открытое бесплатное решение для создания сайтов по аренде/продаже недвижимости: Open Real Estate
Liquid
Сообщения: 12
Зарегистрирован: 2012.08.15, 18:30
Откуда: Russia, Krasnoyarsk
Контактная информация:

Re: PlumCMF - каркас для быстрой разработки сайтов на Yii

Сообщение Liquid »

Совсем забыл - демо от простого пользователя: http://site.plumcmf.com. Добавил в первый пост.

P.S. Спасибо за предложения! По поводу сортировки элементов - это уже давно в планах, будет реализовано в ближайшее время.
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: PlumCMF - каркас для быстрой разработки сайтов на Yii

Сообщение anton44eg »

демо без контента мало показывает возможности
Liquid
Сообщения: 12
Зарегистрирован: 2012.08.15, 18:30
Откуда: Russia, Krasnoyarsk
Контактная информация:

Re: PlumCMF - каркас для быстрой разработки сайтов на Yii

Сообщение Liquid »

Изменения в проекте:
Добавлена возможность сортировки страниц с помощью стрелок в модуле "Структура сайта".
Исправлен баг, связанный с форматом даты в виджете CJuiDatePicker.
Добавлен функционал режима технического обслуживания.
Добавил больше контента на демо-сайт (база обновляется раз в час).
johnluxor
Сообщения: 82
Зарегистрирован: 2010.09.10, 19:39

Re: PlumCMF - каркас для быстрой разработки сайтов на Yii

Сообщение johnluxor »

Интересно, открыл код обратной связи - контроллера, frontend

Зачем делаете проверку вручную?

Код: Выделить всё

$errors = array();

if(strlen($_POST['fio'])>255 || strlen(trim($_POST['fio']))==0)
         $errors[] = "Поле \"Представьтесь, пожалуйста\" заполнено неправильно";
if(strlen(trim($_POST['question']))==0)
         $errors[] = "Поле \"Текст вопроса\" заполнено неправильно";
if($_POST['captcha_hash']!=md5($_POST['captcha']))
        $errors[] = "Вы неверно ввели код проверки"; 
Ведь это все можно проверять валидацией и уменьшить кол-ва кода и ошибок и прочего
Аватара пользователя
xoma
Сообщения: 641
Зарегистрирован: 2009.04.02, 15:24
Откуда: Ногинск
Контактная информация:

Re: PlumCMF - каркас для быстрой разработки сайтов на Yii

Сообщение xoma »

Ага, и я заметил это....
Liquid
Сообщения: 12
Зарегистрирован: 2012.08.15, 18:30
Откуда: Russia, Krasnoyarsk
Контактная информация:

Re: PlumCMF - каркас для быстрой разработки сайтов на Yii

Сообщение Liquid »

johnluxor писал(а):Интересно, открыл код обратной связи - контроллера, frontend

Зачем делаете проверку вручную?
На момент написания еще не разобрался как правильно работать с формами в Yii, при том условии, что форма может включать какие-либо нестандартные элементы, отправляться асинхронно и прочее. После django немного непривычно. Знаю об этих недочетах, поэтому и просил небольшое code review.
Danila-188
Сообщения: 19
Зарегистрирован: 2012.02.27, 00:57

Re: PlumCMF - каркас для быстрой разработки сайтов на Yii

Сообщение Danila-188 »

прикрутите к новостям сразу ЧПУ адекватное. по айдишникам - не айс, сеошники заклюют.
Аватара пользователя
AlexG
Сообщения: 35
Зарегистрирован: 2012.07.22, 21:23
Откуда: Украина, Харьков/PФ
Контактная информация:

Re: PlumCMF - каркас для быстрой разработки сайтов на Yii

Сообщение AlexG »

неплохое начало. если бы нужно было выбрать основу для сайта из yupe или plum - выбрал бы плюм (не в обиду xoma) =)

"отвяжите" только от использования postgre в качестве БД, возможностей yii достаточно чтобы абстрагироваться от БД и при этом не потерять в производительности.
Ищу миддла.
Аватара пользователя
xoma
Сообщения: 641
Зарегистрирован: 2009.04.02, 15:24
Откуда: Ногинск
Контактная информация:

Re: PlumCMF - каркас для быстрой разработки сайтов на Yii

Сообщение xoma »

AlexG писал(а):неплохое начало. если бы нужно было выбрать основу для сайта из yupe или plum - выбрал бы плюм (не в обиду xoma) =)

"отвяжите" только от использования postgre в качестве БД, возможностей yii достаточно чтобы абстрагироваться от БД и при этом не потерять в производительности.

я не обидчивый =) а чем Юпи! не подошел если не секрет?
Аватара пользователя
AlexG
Сообщения: 35
Зарегистрирован: 2012.07.22, 21:23
Откуда: Украина, Харьков/PФ
Контактная информация:

Re: PlumCMF - каркас для быстрой разработки сайтов на Yii

Сообщение AlexG »

юпи понравился, но на тот момент когда я ее смотрел, все расползалось в админке, многие вещи выглядели незаконченными, в общем передавать такую админку заказчику было бы как то странно, а в плюме минимум всего, но все как-то собранно и лаконично.

в идеале yii cms(f) вижу так - легкое ядро (статические страница, урлы, управление файлами и сео-радости) + возможность быстро написать свой модуль или расширить класс существующего. у меня обычно "управление контентом" это лишь отдельный раздел в админке, а все остальное модули самодельной crm и проч.
Ищу миддла.
Аватара пользователя
AlexG
Сообщения: 35
Зарегистрирован: 2012.07.22, 21:23
Откуда: Украина, Харьков/PФ
Контактная информация:

Re: PlumCMF - каркас для быстрой разработки сайтов на Yii

Сообщение AlexG »

Было время поковырять плюмку, вот мой репорт

1. включите error_reporting(-1), кое что узнаете про свой код =)
2. хранимую процедуру в postgre очень легко поломать (exception), возможно использование чего то типа nested set behaviour будет более хорошим вариантом (да и более универсальным с точки зрения бд).
3. не понятно зачем вы используете str_pos c сортировкой и requestUri при выборке страницы, лучше (и более универсально) поиск по индексированному столбцу и pathInfo
4. сделайте редактирование главной, без возможности менять ее положение в дереве
Ищу миддла.
ЮрийП
Сообщения: 12
Зарегистрирован: 2012.11.10, 14:38
Контактная информация:

Re: PlumCMF - каркас для быстрой разработки сайтов на Yii

Сообщение ЮрийП »

Лично мне внешность админки очень понравилась: красиво и аккуратно получилось, хоть и использовался бутстрап.
Игра в слова - http://slovolom.com
FRANZEE
Сообщения: 3
Зарегистрирован: 2011.02.16, 01:37

Re: PlumCMF - каркас для быстрой разработки сайтов на Yii

Сообщение FRANZEE »

Здравствуйте, а как установить вашу cmf?
Хотел бы ссылку на небольшой FAQ по вашей cmf
Ответить