Cotonti сайт своими руками / Блог / Разное

Cotonti - CMS или CMF ?

12.01.2019 508

Читая топики на форумах, можно заметить один часто повторяющийся вопрос: «Cotonti это CMS или CMF», как узнать, если есть разные мнения и обозначения ? Но тем не менее, сути это не меняет, поэтому проанализируем в этой статье формулировки и возможности движка, чтобы в конце сделать вывод, чем же все-таки является Cotonti, php фреймворк это или система (движок) управления содержимым.

Cotonti это CMF или CMS

Для начала нужно обозначить, чем же отличается движок от фреймворка, по каким признакам можно отделить один от другого. Если охарактеризовать различие коротко, то:

Content Management System (сокращенно CMS) - это система управления контентом, в которой есть всё необходимое из коробки. Её не нужно допиливать, она решает заявленные задачи в том объеме, который необходим для реализации основных возможностей, таких как публикация контента, сохранение в базу данных (например MySQL), кеширование. Чаще всего это админка, авторизация и права пользователей, публикация контента, опросы, поиск по сайту, меню, и другие. Типичный пример - визитки, блоги, форумы, новостники и прочие. Большинство современных CMS модульные, это дает возможность устанавливать / удалять разные расширения, без необходимости правки ядра.

Content Management Framework (сокращенно CMF) - это каркас для разработчиков, независимый инструмент, с помощью которого можно сделать (запилить) индивидуальную разработку, например CMS. Для этого фреймворк предоставляет различные функции в виде API, взаимодействие с базой данных, шаблонизатор, работа с сессиями. Его основная цель - дать инстументы для реализации программистами и продвинутыми вебмастерами своих задач.

Из вышеописанного можно сделать некоторые выводы, но тем не менее, бывают неоднозначные ответы. Например все привыкли, что Wordpress, Joomla, Dle - это движки, а Laravel, Symfony, Yii - это фреймворки. И в то же время, статья в Wikipedia на тему Content Management System обозначает Drupal как то и другое. И это не единственный пример, тенденция идет на подъем. Главное отличие CMS от CMF, приведенное в статье - это возможность получить готовый сайт, не написав ни одной строчки кода.

Wikipedia характеристика CMS

Cotonti это CMF или CMS ?

Бывает так, что грань очень мала,  Cotonti - наглядный тому пример. Из-за этого, даже те кто работает с движком не первый год, могут рассуждать о концепции, на форуме можно найти не один такой топик.  Например на официальном сайте, представляющем все ветки Cotonti, под логотипом можно заметить такую фразу: «Content Management Framework».

Cotonti cmf под логотипом

И в то же время, если перейти на страницу Github, где Cotonti развивается, в мастер ветке  можно увидеть уже другую картину, заголовок гласит: «Fast, reliable and flexible PHP CMF/CMS». Что переводится как «Быстрый, надежный и гибкий PHP CMF / CMS». И это не опечатка, не ошибка, не попытка выдать желаемое за действительное, это факт. Просто на веб сайте изначально Cotonti позиционировался как «Каркас для разработчиков», из которого можно сделать проект любой сложности, а в мастер ветке на Github развивается проект с базовыми возможностями CMS: установил -> настроил -> сайт готов, но имеющий ядро CMF.

Cotonti Github CMS в описании

И по сей день есть сторонники как одной, так и другой линии развития / концепции, позиционирования. Но реальность намного интереснее.  Выше были рассмотрены общие различия между терминами и концепцией, оказалось что вариант два в одном бывает, и набирает популярность ввиду своего удобства. Возможности фреймворка, расширяемого до системы управления, намного удобнее чем монолитное ядро. Те кто раньше устанавливал форум под DLE, знают что это такое, при каждом обновлении движка делать правки в ядре.

Cotonti это CMS и CMF

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

Использование Cotonti как CMF

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

  • Кастомный файл функций (functions.custom.php).
  • Системные хуки.
  • Хуки расширений.
  • Функции в шаблоне.

* Хуки это подключение одного файла внутри другого в нужно месте, без необходимости прописывать подключение физически в нем.

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

Использование Cotonti как CMS

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

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

Главное отличие CMS от CMF - получение готового сайта, без написания дополнительного кода.

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

ВЫВОД:

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

Разное: «Cotonti - CMS или CMF ?»

Если вам была полезна эта информация, будьте добры, поделитесь ею в социальных сетях. Это послужит дополнительным мотиватором, стимулом к дальнейшим публикациям на cmscot.net статей на интересующие вас темы.
Cmscot

Близкие по теме «Cotonti - CMS или CMF ?»

Нет записей