Страница 1 из 2

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

Добавлено: 2012.11.01, 09:23
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
Демо-версия админки
Демо-версия сайта

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

Добавлено: 2012.11.01, 09:40
r3verser
Почему именно postgre? Имхо этим вы очень сузили размер целевой аудитории.

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

Добавлено: 2012.11.01, 09:46
Liquid
При разработке я в основном использую postgresql. Поэтому выбор пал именно на эту СУБД. Тем не менее, все таблицы, которые используются в системе, можно легко переписать, например, на MySQL.

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

Добавлено: 2012.11.03, 20:35
Troy
r3verser писал(а):Почему именно postgre? Имхо этим вы очень сузили размер целевой аудитории.
Это еще почему? CMF - это каркас, если программист не в силах быстро конвертировать таблицы в удобную для него СУБД, то это профессия не для него.

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

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

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

Добавлено: 2012.11.04, 05:03
Liquid
В любом случае, в ближайшее время доделаю нормальный установщик с версиями таблиц как под PostgreSQL, так и под MySQL и другими настройками.

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

Добавлено: 2012.11.07, 12:18
Koduc
Заметки для будущих версий:
1. Порядок элементов прописывать вручную - очень сурово. Сделайте в табличке (при отображении в админке) стрелочки вверх/вниз для перемещения элемента. Аналогично для активации/деактивации;
2. В "Новостной ленте", например, разделы "Список" и "Управление" имеет смысл объеденить в один раздел - по сути два одинаковых раздела. Аналогично для новостей и других разделов;
3. Не смог посмотреть демо от простого пользователя;

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

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

P.S. Спасибо за предложения! По поводу сортировки элементов - это уже давно в планах, будет реализовано в ближайшее время.

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

Добавлено: 2012.11.07, 14:02
anton44eg
демо без контента мало показывает возможности

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

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

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

Добавлено: 2012.11.08, 14:12
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[] = "Вы неверно ввели код проверки"; 
Ведь это все можно проверять валидацией и уменьшить кол-ва кода и ошибок и прочего

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

Добавлено: 2012.11.08, 14:44
xoma
Ага, и я заметил это....

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

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

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

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

Добавлено: 2012.11.16, 04:16
Danila-188
прикрутите к новостям сразу ЧПУ адекватное. по айдишникам - не айс, сеошники заклюют.

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

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

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

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

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

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

я не обидчивый =) а чем Юпи! не подошел если не секрет?

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

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

в идеале yii cms(f) вижу так - легкое ядро (статические страница, урлы, управление файлами и сео-радости) + возможность быстро написать свой модуль или расширить класс существующего. у меня обычно "управление контентом" это лишь отдельный раздел в админке, а все остальное модули самодельной crm и проч.

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

Добавлено: 2012.11.21, 21:38
AlexG
Было время поковырять плюмку, вот мой репорт

1. включите error_reporting(-1), кое что узнаете про свой код =)
2. хранимую процедуру в postgre очень легко поломать (exception), возможно использование чего то типа nested set behaviour будет более хорошим вариантом (да и более универсальным с точки зрения бд).
3. не понятно зачем вы используете str_pos c сортировкой и requestUri при выборке страницы, лучше (и более универсально) поиск по индексированному столбцу и pathInfo
4. сделайте редактирование главной, без возможности менять ее положение в дереве

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

Добавлено: 2012.11.23, 12:45
ЮрийП
Лично мне внешность админки очень понравилась: красиво и аккуратно получилось, хоть и использовался бутстрап.

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

Добавлено: 2012.11.26, 16:47
FRANZEE
Здравствуйте, а как установить вашу cmf?
Хотел бы ссылку на небольшой FAQ по вашей cmf