Идея создать свою CMS
Последнее 2 месяца плотно изучал разные CMS, т.к. все еще колебался. Требования были такие: регистрация юзеров, древовидные комментарии с функционалом, уровня Хабра, интернет-магазин с хорошим функционалом, форум, возможность связи всего со всем по ссылками (теги, товары, категории и т.п.) и пришел к выводу, что готового решения, которое устроит меня – нет. Где-то закрыт код зендом и посмотреть насколько хорошо написана CMS – нет возможности, что-то стоит дорого и «весит» много. В общем везде есть минусы.
Я уже давно работаю с фреймворком CodeIgniter, и пришел к выводу, что создавать сайты/сервисы и т.д. удобнее всего с помощью паттерна проектирования MVC (Model-View-Controller), особенно в том виде, в котором он представлен в CI. И все новые проекты собираюсь делать именно на CI.
Планировать что-то грандиозное пока не буду, для начала ограничусь минимальными классами ядра:
- Reg – функции регистрации юзера, восстановления пароля, изменения профиля
- Auth – вход, выход, проверка залогинености
- PageWrite – создание поста, изменение поста
- PageView – вывод поста/постов
Общая концепция такая – пишущие в базу классы будут отделены от тех что считывают из нее. Будет ли своя админка у CMS – пока не знаю, скорее всего систему буду сразу проектировать так, чтобы все управлялось ч-з XMLRPC с удаленной админки, так чтобы я мог в нее приглашать копирайтеров, переводчиков, чтобы все свои сайты я видел как на ладони.
Плагинов, в том виде, в котором все привыкли их видеть в CMS – не будет. Будет написан функционал в виде плагина CodeIgniter, а оформление и контроль будет уже в каждом сайте свое. Благо я не рассчитываю делать говносайты, где все будет шаблонно, а мои клиенты в состоянии оплатить индивидуальный дизайн с проработкой мельчайших элементов страницы.
На днях выложу исходники первых двух классов с примерами использования, но вообще эту CMS, или точнее сказать ядро сайта, я планирую использовать для себя и своих клиентов, т.е. в итоге не выйдет что-то типа вордпресса или друпал.
p.s. Первый сайт на этой системе будет thegunners.ru
———
дорогие телефоны
декоративные заборы
итальянские радиаторы


почему не друпал?
сделай обезательно вот что!
1. урлы ЧПУ кириллица.
2. все было на ajax
3. встроенный плагин перелинковки!
4. тэги, метки всмысле..
и выложи по возможности скачать.
потому же, почему не джумла
Ты не понял. Я не буду делать очередной WordPress. Я сделаю ядро, чтобы от него уже можно было плясать в сторону блога, магазина, форума и т.д. Проще сказать – это будет набор библиотек для CodeIgniter.
вау! какая оригинальная идея!
Главное – реализация, которая будет на высоком уровне.
Мне нужно подобное ядро, я ж не простенькие сайты-визитки клепаю, типа как у тебя в портфолио
пришел к таким же выводам. но сразу после этого определялся с фреймворком, т.к. раз уж начинать с чистого листа, то почему бы не оставить все телеги забортом на старте. остановился на Yii.
тебе, как стороннику CI, рекомендовал бы глянуть на Kohana. CI – хорош, но тянет много старого, что было заложено очень давно и уже не нужно.
Евгений, вы же говорили, что определились с CMS и выбрали MaxSite!? Или вы передумали уже его использовать?
Я вот тоже надумал сделать, что-то подобное, только на ASP.NET MVC. Кстати у Майкрософта можно позаимствовать много хороших идей. Мне понравился, например, подход разграничения пользователей через MembershipProvider.
Взгляни на SilverStripe CMS и их фреймворк.
А опишешь двиг? В смысле небольшой мануал будет?
А так ждём, уверен хороший двиг (ядро) получится
plandem, спасибо за наводку, посмотрю. Пока мой опыт работы с фреймворками ограничивается CI и Zend.
думаю да, только вот plandem меня озадачил, думаю действительно надо посмотреть сперва новые для меня фреймворки, хотя судя по мануалу Kohana это бывший CI который поехал по другой дороге…
хм. идея очень напоминает MaxCMS – http://max-3000.com
может, лучше будет написать плагины под эту cms чем писать новую с «0″?
Ответь пожалуйста на мой коммент выше))
В последнем проекте я использовал оттуда только БД и функции вывода постов, остальное писал сам, т.к. нужного функционала все равно не было. Еще один момент. Мне несколько раз предлагали взяться за хороший по деньгам сайт/соц. сеть, но писать надо было либо с нуля, либо на каком-нибудь известном движке. На MaxSite – заказчики отказывались заказывать.
В начале след. года (думаю это будет февраль) нужно будет делать интернет магазин с очень специфичным функционалом – по любому придется писать на своем ядре. Добавлю так же что в планах делать крупные сайты, поддержкой которых я один не смогу заниматься – придется нанимать команду, там нужны будут знания фреймворков.
Я писал для MaxSite помоему 5 плагинов. Хоть и не в тему – я по другому стал относится к плагинам CMS, в том подключаемом хуками виде они меня не устраивают.
Также для себя не могу подобрать цмс которая хотя бы на +80 подходила под мои требования, везде есть свои минусы.. Может кто-то подскажет зарубежные ресурсы наподобие cmsmagazine.ru?
Евгений, хотелось бы узнать ваше мнение о ExpressionEngine (expressionengine.com) цмс от Ellislab на СI
2kfloks
Как я понимаю у нас это малоизвестная cms…
А есть ли примеры русскоязычных сайтов, построенных на этой cms ?
Не работал с ней
Евгений, задумка, конечно, неплоха. Действительно, сейчас трудно найти CMS которая бы тебя устраивала полностью. Я (не программист) сейчас работаю больше с Jooml-ой (большая база расширений и русскоязычное сообщество) и MaxСMS (легкая и быстрая) и верю, что ты можешь сделать неплохую CMS под свои задачи, но у тебя буквально 2 выхода:
1. поддерживать ее самому, те она живет до тех пор пока ты не начинаешь понимать, что ты этим заниматься не хочешь (2-4 года по моей статистике) или пока не возникает задач, при которых ты понимаешь, что тебе легче переделать другой код, чем писать свой (пусть и лучше, но на порядок а то и два дольше)
2. оттдавать под GNU. но для того, чтобы ею занимались другие программисты (писали доп модуля, развивали движок и т.д.) должна быть оперативная поддержка и документация для программистов (описание функций, классов, примеры возможностей…) и документация для енд-юзера.
Открою немного занавес.
У меня в планах создать свою студию, которая будет заниматься сложными проектами (моими личными и клиентскими). От моего ядра она будет всегда отталкиваться, а каждым моим (клиентским) проектом будет заниматься отдельная команда.
Вот скажите можно ли сделать на джумле football.ua – конечно можно, но какой ценой? Такие сайты имхо проще писать с нуля, ну или почти с нуля, имея такое ядро как у меня.
Вот такие планы. О своей студии буду думать в начале 2011, а в 2010-м буду нарабатывать портфолио, благо желающих заказать мне то или иное много, даже в это тяжелое время.
в таком случае срок жизни cms = сроку жизни твоей студии
.
не обижайся, но я работал в подобной студии, там был разработан очень хороший фреймворк (даже не cms, а фреймворк), но после того, как разработчики разошлись по другим командам (это рынок, стандартная ситуация), оказалось, что работать с ним (кроме самих разработчиков) никто не может. ну, надеюсь, тебе повезет больше
единственный вопрос: почему «моим (клиентским) проектом будет заниматься отдельная команда». не легче набрать одну команду и с ней делать разные проекты? если ты берешь под каждый проект новых людей получаешь увеличение сроков где-то на 30-35% (пока они разберутся в движке; чем дальше (читай: сложнее проекты) тем больше «порог вхождения») которое ты должен будешь оплатить.
tavodi, я расчитываю больше, что моя студия будет работать именно над моими порталами, а возможно это будет один какой-то крупный проект. Возможно на заказ ничего браться изначально не будет, т.к. идей у меня всегда хватало.
Все в общем зависит, с какими ресурсами я подойду к 2011 году
Многих посещают подобные идеи, и я не исключение…
Вот закончу FileManager (для MaxSite) и …
Ну вот например: interfutbol.uz/uz – на моих глазах был собран меньше чем за неделю, на joomle, на основе готового шаблона, без программирования. Думаю если такой проект делать с нуля уйдет как минимум пол года!
Лично для меня joomla 1.5 это прежде всего MVC фреймворк, и причем весьма мощный, на который уже натянута CMS и все лишнее всегда можно просто отрубить, а не достающее дописать.
У вас там 150 000 хостов в сутки?
Евгений, я готов присоединиться к разработке вашей CMS, если будет какая-то система контроля версий CVS или Subversion. Сам вот столкнулся с тем что в MaxSite этого нет, а Макс еще не реализовал некоторые вещи, которые обещал добавить. Я могу конечно сам их добавить, но тогда со временем это будет не MaxSite, а гибрид какой-то…
Кстати рекомендую ознакомиться с библиотекой HMVC 5 и классом Widget для CodeIgniter, они очень сильно упрощают создание модульных приложений.
очень даже неплохой опыт
Кохана скорее всеже с нуля написан, чем бывший CI. Но я не ковырял его, это мнение на основе статей, отзывов и т.п.
важно не только собрать, но и поддерживать. На джумле сделал 1 достаточно серьезный проект, но одназначно решил, что за эту чудо-поделку больше браться не буду. И, действительно, серьезные вещи на ней делать не стал бы вообще.
ключевая фраза – «там был разработан очень хороший фреймворк». у меня тоже был свой фреймворк – быстрый и удобный мне, но с ростом количества проектов поддерживать проекты и развивать фреймворк – нереально. Именно поэтому для этих вещей надо использовать сторонний, открытый фреймворк, причем, желательно с грамотной архитектурой изначально, с многими заложенными базовыми вещами изначально, но не перегруженного в тоже время. В идеале еще он должен быть «раскручен», тогда на сопровождение людей будет не так трудно найти.
хотя я понимая все это, остановился на малоизвестном, но перспективном (правда изначально с грамотной архитектурой).
я бы присоединился, правда, больше интересно не как «сопровожденец», а партнерское что-то
проблем с идеями тоже вроде как нет, времени где бы только найти на все. до 2011 еще время есть, пока планы примерно такие же
А Django не интнресен как фреймворк? Сам хочу попробовать лиго его, либо Yii от китайских товарищей осилить.
вот-вот! Посещаемость близкая к нулу, зато указанная страница открывалась минуты 2. В отличии от football.ua, который и при такой нагрузке работает шустро.
Django это с питоном связано? Я с питоном никогда не работал
с ним самым
погляди все же в сторону Yii
правда, там «порог входа» выше, чем в ту же Кохану, т.к. самый молодой и мало расширений, документация хорошая, но не такая как у CI, например.
ага, с питоном
plandem, если не секрет можно услышать названия малоизвестного но перспективного фреймворка с граммотной архитектурой ?
так я уже писал
Yii. правда «порог входа» достаточно высок – не так много документации как для CI.
http://www.yiiframework.com
http://www.yiiframework.ru
Пропустил такую тему, исправляюсь.
Женя, делай, и никого не слушай! Для программиста такого уровня нельзя зарываться в какой-то чужой продукт, нужно обязательно сделать что-то своё. Это гиганское поле для творчества, реализации своих идей, концепций. А уж про накопленный опыт и знания, вообще молчу.
Единственное могу посоветовать – не наступать на чужие грабли и сразу определиться (для себя!) что нужно получить в итоге. На примере MaxSite CMS скажу, что для меня важно реализовать аля-RAD (как Delphi), где разработчик может быстро сделать сайт, плагин, виджет и т.д. с минимальным набором знаний. Имено поэтому я и придумываю всякие опции, мета и прочие API, которые в одну строчку/функцию «цепляются» к системе. Если ты сделаешь что-то подобное для CodeIgniter, будет здорово.
Django для подобных целей (да и для многих других) – просто идеальное решение, в отличие от тормозных PHP-шных поделок. Лично мое мнение, основанное на 5-илетнем опыте разработок на PHP и 2-летнем опыте разработок на Python\Django.
как продвигаются дела?
по адресу thegunners.ru пусто