Что такое CMS?

Dimush

Guest
Что такое CMS?

Если разбить web приложение на содержимое, логику, и представление, то под CMS понимается набор логики, или совокупность всех трех уровней?
Существует ли официальное точное определение(помимо расшифровки), или каждый понимает под этим что хочет?
 

Кром

Новичок
Под CMS понимается именно "web приложение", т.е. готовый продукт.
 

Dimush

Guest
Не совсем понятно. CMS – это любое приложение, которое позволяет динамически генерировать страницы, тогда гостевая книга это CMS?
Движок сайта и CMS это одно понятие?
Существуют еще какая-либо подобная терминология?
 

Макс

Старожил PHPClub
просто модная, слегка устаревшая и надоевшая, аббревиатура :)
 

Alexandre

PHPПенсионер
CMS - Content Managment System переводится как: система управления контентом

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

В сайте под управлением CMS не существует html страниц, а весь сайт представляет собой совокупность записей в таблицах БД: структура сайта, оформление страниц, тексты и графика
Serguey444
вот с этим я не соглашусь, есть некоторые CMS, особенно для новостных порталов, которые на базе динамической информации генерят чистый HTM, это значительно снижает нагрузку на сервер, если кол-во пользователей до 30 в сек :)
 

_RVK_

Новичок
Dimush
В PHPInside №7 есть статья"CMF как инструмент freelance-разработки" где достаточно подробно разбиралась терминология CMS, uCMS, CMF и тд.
 

Dimush

Guest
Эту статью из phpinside читал два раза, первый раз когда он вышел, и еще раз сегодня с утра - внимательно. В итоге запутался дальше некуда.

Цитирую
CMS:
1. «система управления контентом(наполнением) сайта»
2. «система управления конкретным сайтом»
3. «CMS является конструктором сайтов»

uCMS:
1. «сложная система, позволяющая строить сайты без вмешательства разработчиков»
2. «система для управления контентом любого сайта»
CMF:
1. «конструктор CMS. Имея грамотно созданный CMF при наличии готовых модулей»
2. «просто набор скриптов»

Совершенно не понятно, что же такое, этот самый конструктор CMS. Программист?, который с нуля! собирает CMS, на базе имеющихся скриптов?

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

1. Простота создания сайта без вмешательства программиста
За счет чего? За счет модулей? А модули кто пишет, дизайнер? => просто CMS с возможностью подключения новых модулей.
2. Максимальные возможности по управлению внешним видом страниц
Внешний вид – его отделение от логики и представления, а так же максимальные возможности по управлению это стандартная задача стоящая перед любой обычной CMS, решаемая с помощью шаблонизатора.

И вообще:
CMS изначально не знает, что нужно данной странице и выводит различные ненужные данные, либо тратит те же ресурсы для того, что бы узнать, что необходимо вывести
включение 10-15 файлов с классами модулей(больше требуется очень редко), требует не так много времени и ресурсов

И так далее…

И вообще CMF, в принципе это вообще не СУ, а такой подход к программированию – разрабатывать на базовых функциях(практически с нуля) и решать проблемы «в лоб», что чревато необходимостью разрабатывать с нуля еще раз, при возникновении нестандартной ситуации масштабирования.

Тут много еще что можно сказать, и вообще существует более правильное решение, но сейчас уйдем от темы. Все таки хотелось бы сформулировать некоторые термины.

Итак:
1. CMS, это отдельное веб-приложение, как форум, гостевая книга и т.д., предназначенная для замены обычных статических страниц на динамические?
2. CMS, это движок управления сайтом, и каждая страница, будь то генерируемая форумом или обычный текст - это контент, который нужно генерировать и выводить. Парсить url, аутентифицировать пользователя, это все задачи CMS.

И хотелось бы «определить» еще одно «определение», а что такое сайт?
 
Вот не понимаю. Наверное автор из меня таки очень фиговый, раз в письменном виде ничего донести не получается. Ладно, попробуем расшифровать.
1. CMS - Система управления контентом. Контентом сайта. У PHPCLub'а есть CMS на lenfilm.ru есть CMS на lenta.ru есть CMS.
2. Универсальная CMS (uCMS) - Система предназначенная для "строительства" сайтов без вмешательства программистов. Пример бесплатных uCMS - phpNuke, postNuke etc.
3. CMF - Система предназначенная для облегчения программисту процесса создания CMS. Примеры CMF - [[http://sourceforge.net/projects/limb/ Limb]]

И "чужое определение":
The main goal of the CMF is to provide a comprehensive tool for building scalable, extensible and easy-to-update information resources(CMS) for PHP developers.

Таким образом разница между CMF и CMS в том, что CMF - это для разработчика, CMS - для пользователя.
Про uCMS вообще можно забыть. Ибо если что и получится, то phpNuke.

А вот за эту фразу:
и вообще существует более правильное решение
Придётся отвечать, раз никто Вас за язык не тянул.
1. Расскажите, пожалуйста, какое же единственное более правильное решение существует.
2. Где в статье написано что та система которая там описана единственно верная?
Статья-то, как и доклад, в основном были теоретические.
 

Dimush

Guest
>Наверное автор из меня таки очень фиговый, раз в письменном виде ничего донести
не получается.
Хочу сразу заметить, что статья могла бы быть написана более лучшим образом. Однако, это не говорит, о том, что статья плохая и автор фиговый, скажу даже больше, что в принципе этот набор слов не отрицает то, что статья отличная.
[small]Не говорю не того и не обратного, просто хочу внести ясность.[/small]

Тут много еще что можно сказать, и вообще существует более правильное решение
>никто Вас за язык не тянул
действительно, звучит слишком вызывающе
>единственное более правильное решение
Таких слов у меня не было.

Ок. Скажу сразу, над «воплощением в жизнь» - написанием реально действующей системы, сейчас работаю. Реального примера нет, есть только концепция и т.з., первое планирую закончить к июню.
В связи с вышеуказанным в действительности не хотелось бы сейчас рассказывать о системе, однако, меня действительно за язык никто не тянул, и теперь, отмалчиваться будет неуважительно по отношению к Дмитрию, ибо раз уж он действительно жаждет мести, то теперь моя очередь пролить кровь.

Сначала определимся с терминологией.

CMS(как я понял из этого топика), это все таки админ-интерфейс сайта, состоящего как и из простых страниц, так и из набора различных веб-приложений.

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


Итак, проблема:

Для любой uCMS, существует необходимость использования стандартных модулей, методов организации и построения структуры. Каждый подобный «стандарт», это прежде всего компромисс!
В результате, сайты составленные на базе uCMS, часто, даже в простых случаях, не позволяют реализовывать поставленную задачу с необходимой гибкостью, не говоря уже о не стандартных случаях, когда построить необходимый веб сайт на базе uCMS вообще не удастся.
Решением является разработка «эксклюзивного» веб-сайта+CMS, что позволит решить задачу с максимальными гибкостью, рациональностью, функциональностью, производительностью, стоимостью и сроками.
Если попытаться повлиять на последний пункт – сроки разработки, то можно получить продукт, обладающий багами, ошибками в организации и прочими недостатками.
Причем «эксклюзивный» веб продукт, для быстро развивающейся кампании вовсе не панацея ото всех проблем, постоянно возникают новые задачи, которые требуют масштабирования веб сайта, чем сложнее задача, тем больше приходится вкладывать труда. Причем в самом худшем случае(что вовсе не редкость), придется перекраивать всю систему с нуля.
Т.е. в принципе проблема масштабирования(реальная), это проблема как для uCMS, так и для эксклюзивного варианта.

на заметку
Некогда существовала проблема каждый раз вручную править html странички, придумали CMS.
Приходилось каждый раз создавать «однотипные» сайты придумали uCMS.
Теперь есть проблема, делать «разные сайты» и сайты устойчивые к нестандартным требованиям масштабирования.

Я предлагаю следующее:

MMS(Module Management System) – система управления модулями. Предназначается для построения масштабируемых веб сайтов.

Система состоит из ядра системы – движка, и двух категорий модулей: прикладные(пользовательские) и служебные(обслуживают пользовательские).

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

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

Для регистрации в системе модуль должен разрабатываться с учетом определенных требований. В комплекте, должен идти набор шаблонов пользовательского интерфейса, набор шаблонов административного интерфейса, файл настроек описывающий какими сервисами, и в каком объеме он будет пользоваться. Более подробная классификация(в действительности базовые и служебные делятся еще на подгруппы).

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

Причем в конечной реализации все очень просто, нужно нам до неузнаваемости изменить структуру сайта, меняем mod_structure на новый, и все, был сайт с меню в виде горизонтального дерева, а стал обладать до сель невиданной никем структурой…
Данные отдельно(и ими можно управлять), представление отдельно(и его можно менять), логика отдельно(это принципы любой uCMS), в случае MMS логику можно так же редактировать и менять безо всяких проблем и без лишней работы. Меняя скрипт описывающий структуру сайта, мы пишем скрипт, который описывает структуру, и ничего более, т.к. прочие сервисы, такие как поиск, кэширование предоставляются MMS.
Служебные модули так же расширяемы в горячем режиме, так, что система само-расширяема.

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


Итог

Все это дает следующие преимущества: короткие сроки разработки при возможности решать нестандартные задачи.

Плюсы MMS:
1. Все плюсы CMS и uCMS
2. Более короткие сроки разработки дополнительных приложений – прикладных модулей
3. Простота замены встроенных приложений и добавления новых
4. Простота наращивания функционала MMS, за счет централизации стандартных сервисов – служебных модулей(заметьте – расширяемых).

Минусы MMS:
1. То, что это не стандартное решение, и для перехода на подобное решение требуется реорганизация.
2. Больше минусов не вижу.

-~{}~ 04.03.05 20:49:

P.S.
Где в статье написано что та система которая там описана единственно верная?
Такого нет, и я не говорил, что утверждать, что это единственно верная система, ошибка.
Просто сказал, что CMF, это никакая не система управления, а просто подход - разложить по полочкам полуфабрикаты.
 

Кром

Новичок
>MMS(Module Management System) – система управления модулями.

Это все замечательно, но заявленный для этой системы функционал уже присутсвует во многих популярных CMS.
Взять тот же phpnuke, postnuke. Опять таки Битрикс, с его системой автоматического обновления модулей через интернет и т.п.
Так что посмотри сначала существующие решения, почитай описание и характеристики, а потом можно будет вернуться к созданию нового термина, если то, что он характеризует будет отличаться от его предшественников.
 

Dimush

Guest
>заявленный для этой системы функционал уже присутсвует во многих популярных CMS
Совершенно верно, все что есть в uCMS и CMS, присутствует в MMS. Это не альтернативный параллельный продукт, это эволюция xCMS.

>Взять тот же phpnuke, postnuke. Опять таки Битрикс,
Все, что вы перечислили это серийные продукты, рассчитанные под стандартизированные задачи, с простыми алгоритмирующимися целями, - uCMS.
В MMS же лежит идея отделить общие сервисы(поиск, кэширование, статистика, хранение данных и пользователей, …) от индивидуальной части. Что даст возможностью добиться производить качественный продукт в короткие сроки за счет наличия уже проработанных общих сервисов, и одновременно максимальную гибкость за счет индивидуальной части. Причем межмодульное взаимодействие и интеграция проста как детский конструктор – раствора не требуется, а о подробностях позаботится MMS.

Конечный продукт это не только, результат деятельности веб студии, но и уникальный проект который будет поддерживаться собственной командой программистов.

> с его системой автоматического обновления модулей через интернет и т.п.
Знаком с этой системой по списку производимых ими продуктов. Этого и приведенных вами слов достаточно, что бы утвердиться в новизне моего решения. Боюсь, вы не поняли идеи.
MMS предназначается для разработки веб сайтов, отвечающих уникальным задачам, и готовых к масштабированию любой сложности. uCMS предназначается для тиражирования обновляемых. В случае MMS- каждый конечный продукт уникален(если конечно не использовать систему как uCMS).

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

Нечто

Психолог РНРClub
Dimush
То, что Вы называете "MMS", традиционно именуется CMF (framework). Не стоит изобретать велосипед.
 

Dimush

Guest
а это что такое?
То, что Вы называете "MMS", традиционно именуется CMF (framework). Не стоит изобретать велосипед.
В связи с полным отсутствием желания изобретать велосипед и с вероятной возможностью использовать готовую концепцию, создал этот топик. Тема как видите называется не "моя уникальная технология", и "CMF как инструмент freelance-разработки" я тут "критиковал" вовсе не для того, что бы доказать, что кто-то "автор фиговый". Все что бы разобраться с рассматриваемым вопросом и пока не вижу уже существующего решения которое подошло бы мне.
Уже убил массу времени, что бы создать алгоритм «хранилища данных», подключения заведомо неизвестных модулей и их интеграция в рабочий цикл на различных стадиях генерации страницы гуманными методами.
А нету его велосипеда! поэтому сижу и изобретаю.
>Так я и не понял
Так, а что же молчите. Сейчас попытаюсь объяснить.
Честно говоря, "набор скриптов" и Система Управления у меня как-то не вяжутся в один термин. CMF - это не СУ, MMS - это СУ. MMS может быть распространяться как готовый продукт для всех, CMF - у каждого своя. Не думаю, что написать свою MMS будет быстрее, смысл как раз в обратном(одно из предназначений). С помощью CMF создается уникальный веб-сайт, на базе MMS создается уникальный веб-сайт, который может быть кардинально изменен по первой необходимости.


Задача. Есть готовый сайт созданный с помощью CMF, появилось желание скрыть все встречающиеся e~mail(на форумах, гостевых, текстовых страницах, каталогах, архивных листах рассылки…, адрес рядом с копирайтами не трогать), и предоставить ссылку на форму, которая позволит отправить сообщение на указанный адрес(при создании сайта никто о том, что подобная необходимость возникнет в бедующем даже и не догадывался, поэтому ничего подобного предусмотрено не было). Сколько и какая работа потребуется?
По пунктам пожалуйста, …:
 

Alexandre

PHPПенсионер
Сколько и какая работа потребуется
все зависит от CMF:
1) если все на шаблонах, то завистит от кол-во шаблонов, чтоб там изменить мыло на ссылку.
если нет - то я незавидую ;)
2) написать стр. по отправке мыла
3) переделать все скрипты, в которых указывается мыло на формирование ссылки
работы на день не менее, но все зависит от CMF

-~{}~ 10.03.05 10:54:

и в догонку еще,
дополнительно к концепции...

Не пытайся сделать uCMS, ничего путного не выйдет.

Все равно специфика многих разработок такова, что нужно писать свои специфические модули. т.е большинство модулей должны быть внешними классами.
 
Dimush
Понимаете, CMF - это не обязательно набор скриптов. В моём докладе был всего лишь описан один из подходов, какой может быть.
Основная же задача CMF - именно универсализация административного интерфейса и некая стандартизация и универсализация вывода.
Можно сказать по другому - CMF, это "ядро" любого законченного проекта.
И в зависимости от идеологии, которую использует разработчик - это может быть как набор скриптов, так и готовое законченое решение.


P.S. Вот, почитайте описание одной из WMF: http://www.badyam.ru/poem/

Alexandre
работы на день не менее, но все зависит от CMF
Вот не надо, ладно? Не помню ни одного из своих проектов, где бы это заняло больше 2-х часов.

MMS может быть распространяться как готовый продукт для всех, CMF - у каждого своя.
не обязательно у каждого
 

Alexandre

PHPПенсионер
_RVK_
у каждого своя,
это не значить, что он ее разрабатывал...
это значить, что он ей пользуется ;) и она ему нравится (или не устраивает и он ее рефакторит)
 
Сверху