Подход к созданию расширяемой CMS

G-SHEFF

Новичок
Здравствуйте,

Необходимо создать CMS, которая:
— хорошо читается кодерами. кодеры быстро разбираются и включаются в работу
— система легко расширяется. модули можно легко добавлять/удалять
— код и верстка разделены

Какие решения стоит использовать чтобы выйти на успешное создание подобной CMS?

Далее мои мысли и оффтоп, которые можно не читать.
Важное уточнение: я не занимаюсь кодингом, но болею за качество CMS.
Какие я вижу инструменты для решения:
1 цель:
Документация. Крайне необходимо вести документацию CMS. Как правильно вести и что использовать не знаю. Возможно, подскажите?
2 цель:
PHP Framework. Подумал о Zend Framework, потому что он имеет модель MVC и используется в неплохом движке XenForo. Частично, это решение всех трех целей. Стоит ли выбирать именно Zend Framework - не знаю.
CSS framework. Подумал о Bootstrap, которые работает в паре с LESS. Сейчас используем.
ORM. Подумал о Doctrine. Сейчас используем.
3 цель:
Шаблонизатор. Подумал о Smarty. Но, думаю что есть что-то и лучше.

Расскажу как пришел к этому вопросу, чтобы стало понятнее почему я интересуюсь. Несколько лет назад я занимался созданием СДЛ. Затем, так как один человек не может заниматься всем, я отошел от тем: верстки, БД, кодинга к оффлайну. Воплащением идей/заказов занимаются другие. Мы долго создавали свою CMS. Затем было понятно, что в CMS стало совсем ничего не понятно. Кодер предложил переписать систему. Теперь используем ORM Doctrine, bootstrap, LESS и тп. Но, чуйка мне говорит что и этот тоже путь в никуда. Вскоре встанет вопрос о добавлении/удалении модулей. Вскоре надо будет привлекать людей через аутсорсинг. К сожалению, я уже совсем не занимаюсь кодингом. И думаю что у меня недостаточно знаний чтобы дать ответы на эти вопросы. Занимался им очень давно и поверхностно.
 

С.

Продвинутый новичок
1. Надо понятъ в чем необычность и оригинальность перечисленных требований?
2. Почему все имеющиеся на данный момент готовые CMS этоим требованиям не отвечают?
 

scorpion-ds

Новичок
Шаблонизатор. Подумал о Smarty. Но, думаю что есть что-то и лучше.
Чем не устраивает стандартное решение ZF?

2. Почему все имеющиеся на данный момент готовые CMS этоим требованиям не отвечают?
Потому, что почти все популярные CMS были создана еще до появления ZF и других подобных фреймверков.
 

С.

Продвинутый новичок
Какая разница, на каком фреймворке наисана CMS? У ZF что, контентность повышенная или он менеджментее?
 

WMix

герр M:)ller
Партнер клуба
Мы долго создавали свою CMS. Затем было понятно, что в CMS стало совсем ничего не понятно. Кодер предложил переписать систему.
таких гнать нужно... зачем переписывал? можно было спокойно дописывать....
Но, чуйка мне говорит что и этот тоже путь в никуда.
это правда когда по ветру без плана, положившись на кодера....

нет, он ничего плохого не предложил,кроме переписать возможно (но кроме использованья готовых решений как я понимаю планов нет), почему не внедрить тот же лесс вместе с твитером, оставаясь в том что есть? и zend можно по частям использовать, и доктрину прикрутить, перепатчить, и докручивать то что есть, добавляя новое.... если так переписывать постоянно не имея плана, боюсь что и будете только и переписывать!

открою секрет в пхп есть оператор if
PHP:
if( "условие" ) include "старый";
else  include "новый";
вскоре станет понятным что лучше подгонять старое или писать новое....
 

Absinthe

жожо
таких гнать нужно... зачем переписывал?
Почему его гнать надо? А не того, кто ему разрешил переписать.

Чем не устраивает стандартное решение ZF?
Уже обсуждали в огромной теме про шаблонизаторы.
Рекомендую twig.

Какая разница, на каком фреймворке наисана CMS? У ZF что, контентность повышенная или он менеджментее?
Писать к такой расширения удобнее.
 

Absinthe

жожо
С. CMS, а не фреймворки. И не целенаправленно, а из-за недалекости ума.
 

doran7

Новичок
Хоть я и чайник, но чайник со свистком. Потому вставлю несколько своих мыслей.

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

Два момента. Такая CMS обречена на неконкурентоспособность. Такую CMS не надо создавать - их навалом, просто надо выбрать самую популярную и удобную, лучше платную.

2. Фреймворки, ORM... тяжеловатая штуковина получится. Но... я параноидальный минималист, ядро должно быть минимальным, а ORM - подключаться факультативно, как расширение. С учетом того, что ОРМ (любая) не сочетается с теорией реляционных БД, а это серьезно. Нельзя, имхо, включать ОРМ в ядро CMS, как это сделали в MODX Revo. ОРМ - это марафет, удобство, которое отжирает ресурсы сервера и процедуры которой не обладают необходимой реляционой полнотой, которой обладает только SQL. Поэтому в любой системе на ОРМ процентов 20 к БД все рабно приходится расшивать на SQL, от этого никуда не деться при работе с реляционными БД, каковой является самая популярная для огромной массы проектов инета СУБД MySQL. Есть и нереляционные БД, с которыми ОРМ гораздо лучше работает, но они по прежнему неконкурентоспособны с ведущими реляционными СУБ.

3. Для каких целей создается CMS? Для себя, чтобы делать на ней сайты, или на продажу, как программный продукт? И какие сайты планируется создавать на такой CMS? Ответы на эти вопросы являются определяющими для структуры CMS.
 

Redjik

Джедай-мастер
Нельзя, имхо, включать ОРМ в ядро CMS, как это сделали в MODX Revo. ОРМ - это марафет, удобство, которое отжирает ресурсы сервера и процедуры которой не обладают необходимой реляционой полнотой,
очередной highload специалист...

UPD. открой для себя lazy loading, если разработчики modx не знают, что это такое, то это сугубо их проблемы...
 
Сверху