Создаю новый движок (CMS/CMF) на PHP5

d1gi

Новичок
Создаю новый движок (CMS/CMF) на PHP5

собсна сабж :) решил сделать проектик опенсорцным, вдруг получится ;)

на выходных поднял вики http://digi.org.ru/engine_wiki/ тутже ссылка на форум и на текущий дистрибчик.

если кому интересно, предлагаю объединяться и по маленьку создавать коммунити ;)

ЗЫ: требования к возможностям движка изначально ставились по максимуму: гибкий ЧПУ, мультиязычность, мультидоменность, мультисайтовость, полное отделение данных от представления, многоуровневое кеширование, очень гибкая система разраничения прав пользователей и т.д. и т.п....
 

AmdY

Пью пиво
Команда форума
полное отделение данных от представления
круто, но некоторые уже mvc выучили, может сразу почитаешь, прежде чем очередной винегрет стряпать. как ты собираешься сохранять целостность данных, если у тебя нет единой точки доступа.
 

d1gi

Новичок
вы уже изучили весь исходник? ; ) преклоняюсь перед гуру! ;)

PS: на самом деле я вас прекрасно понимаю, пришел тут какой-то чувак, только зарегался и объявил о некой амбициозной затее ;) но отвечаю вам и всем будущим постам в этом духе - если вам это не интересно, оставьте недовольство при себе, ничего лестного говорящего о вас, как о личности, в ваших "ты"-кающих постах нету, какойбы вы нибыли гуру способный за несколько минут проанализировать и понять концепцию проекта, которая создавалась маленькой командой, но продолжительное время : )

а кому интересно, я открыт на контакт : ) пускай это будут совсем не гуру, а может быть совсем новички ;) и главное просто хорошие и вежливые люди : ) контакт мы найдем, а чего неумеем - научимся : ) и результата достигнем : )
 

zerkms

TDD infected
Команда форума
AmdY
да нормальный код... получше чем у большинства с этого форума.
 

Krishna

Продался Java
Мне кажется, первый любой публичный проект должен начинаться с ответа на вопрос:
"Чем ваш проект лучше многочисленных остальных, кроме того, что он именно ваш?"

То есть, какие задачи до вас нерешенные вы планируете решить? Каких недостатков избежать? В чём оригинальная "фишка", другими словами?
Я на первой странице вики ответа на эти вопросы не увидел.

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


ИМХО, всё это должно быть очевидно для топикстартера.
 

Фанат

oncle terrible
Команда форума
Krishna, интересно, а как так выходит, что разных моделей автомобилей в мире продается больше сотни? следуя твоей логике, в мире в каждый момент времени должен продаваться только один автомобиль, поскольку он "лучше".

Причем одного и того же цвета.
 

d1gi

Новичок
Опенсорц проектик решил сделать первый раз, по этому еще не совсем четко понимаю как это правильно делается :)

Постараюсь описать именно суть устройства движка. Вся модель данных построена на 4 основных принципах, это:

1. Папка - Древовидная структура папок, похожая на обычную файловую структуру операционных систем. Эти папки виртуальные и являются основным при формировании и обработке строки запроса т.е. URI.

2. Модуль - Программная единица, способная выполнять определенную задачу. Например самый ходовой модуль это текстер, он делает всего одну задачу - отображает статичный текст :) Так же в классах модулей есть методы по обработке данных для манипулированием этого самого модуля. Например редактирование в Текстере или обработка строки запроса у модуля Новостей.

3. Нода - это механизм с помощью которого происходит подключение требуемого функционального модуля в определённую папку. Так же в ноде устанавливаются параметры для запуска модуля, например какой именно текстовый блок должен вывести Текстер в указанной папке.

4. Контейнер - это логический механизм никак не участвующий в обработке данных, он служит для указания шаблонизатору в каком именно месте выводить ноды. Т.е. контейнер просто объединяет в себе группу нод в определённом порядке в котором они и будут отображены на заказанной странице сайта.

Для того, чтобы некоторые части сайта отображались везде, а не только в одной папке, есть механизм наследования нод и контейнеров. Например контейнер отвечающий за левый блок сайта будет содержать ноду подключающую модуль Меню и он будет с флажком наследования вглубь т.е. где бы мы не находились, везде будет генерироваться этот блок с менюшкой.
 

pilot911

Новичок
респект автору

вопрос в том, чем мультидоменность отличается от мультисайтовости ?
 

nw

Новичок
pilot911
Не знаю как в сабже, но в целом один сайт может использовать несколько доменов (к примеру поддоменов) для разных разделов, при этом будучи в одной графической теме и с одними настройками БД.
А разные сайты - это и разные темы и БД.
 

pilot911

Новичок
понятно, просто обычно мультисайтовость (в отличие от мультидоменности) звучит в таком контексте, что используется одно ядро на множество инсталляций сайтов - на папку ядра делаются линки с разных директорий и все абсолютные пути правильно резолвятся
 

AmdY

Пью пиво
Команда форума
zerkms
когда запросы к базе делаются прямо в контроллере, можно сразу забивать гвозди в крышку гроба этой CMS.
d1gi естественно, я не смотрел все исходники, достаточно было найти слабое звено в цепи. и не тыкай в меня словом "гуру", в этом месяце исполяняется всего 3 года как я написал первую строчку на php, но раз этого достаточно, чтобы заметить явные недоработки, просто прими их к сведению.
 

atv

Новичок
Постараюсь описать именно суть устройства движка.
Это не интересно. Интересно увидеть сравнение с другими CMF/CMS.

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

На создание копии програмного продукта нужно ровным счётом ноль затрат, и один производитель может обеспечить весь рынок своей продукцией. Была бы только качественной.

Поэтому и конкуренция в программном обеспечении более сильная. В таких условиях (а также с учётом опен сорс) на первый план выходит вопрос - чем продукт лучше/хуже других.
 

zerkms

TDD infected
Команда форума
atv
эм.....
По той простой причине, что на изготовление каждой копии продукта необходимо произвести много затрат, и один производитель не в состоянии обеспечить весь рынок своей продукцией.
исходя из этой точки зрения amd покупают те, кому продукции intel банально не хватило.
ой ли? был бы спрос, а предложение подтянется.
 

atv

Новичок
исходя из этой точки зрения amd покупают те, кому продукции intel банально не хватило.
Марок автомобилей десятки, в рамках одного сегмента рынка, а процессоров два, а когда-то было с десяток. А почему, а потому, что ресурсоёмкость процессора в ~20000/100 раз меньше, чем ресурсоёмкость автомобиля, и интел смог вытеснить большинство конкурентов.
 

vovanium

Новичок
atv
Марок автомобилей десятки
Проблема не в рессурсозатратах, а в том, что машины оцениваются по большему количеству параметров чем процы, ведь никакого не интересуют каким металлом покрыты ножки проца, или эксклюзивный дизайн теплорассеивателя и т.п. в процах важна только производительность/бакс или сейчас стало модно производительность/Ватт. А у машин очень много факторов, влияющих на выбор покупателя. Потому как бы к примеру Ferrari, которая принадлежит Fiat'у, не свернула производство спорткаров в пользу Fiat'овских малолитражек и т.п.
 

atv

Новичок
Проблема не в рессурсозатратах, а в том, что машины оцениваются по большему количеству параметров чем процы
Обрати внимание, я написал "в рамках одного сегмента рынка", а Ferrari и Fiat из разных сегментов рынка.

P.S. И вообще, это не по теме, ждёмс автора с его сравнительными характеристиками.
 

vovanium

Новичок
atv
а Ferrari и Fiat из разных сегментов рынка.
Это не столь важно, пусть будет Шкода принадлежащая Фольксвагену, они выпускают модели в одном сегменте рынка.
Просто машины не выбирают по одному-двум параметрам как процы. Тоже самое с CMS, никто не выбирает CMS по одному параметру, к примеру только по скорости.
 

d1gi

Новичок
Мультидоменность - это к примеру один и тотже сайт, но на разных языках, например mysite.ru, mysite.com, mysite.de все 3 домена ссылаются на один хостинг сервер, имеют единую БД и один на всех экземпляр основных скриптов, притом у них единая структура папок, отличия заключаются только в том, что в конфиге для каждого домена указан свой язык, РУ, ЕНГ и ДЕ.

Мультисайтовость - это это почти мультидоменность, но несмотря на единую БД и набор основных скриптов, сайты имеют разные структуры, оформление и т.д.


На счет демки, сейчас в движке нет никакой секурности, по этому в инет не выкладываю, а кому интересно, можете установить на свой сервер и посмотреть.


AmdY
c огромным удовольсвием выслушал бы ваше мнение по поводу слабого звена в цепи :) вполне допускаю что есть огрехи и было бы здорово их исправить :)

atv
раньше не приходилось проводить сравнения движков, да и не совсем понятно в каком виде это надо сделать... может дадите ссылку на сравнение 2-3 каких-нить движков, а я ознакомлюсь и по аналогии постараюсь сделать сравнительный анализ своего движка с другими :)
 
Сверху