Cotonti | это... Что такое Cotonti? (original) (raw)

Cotonti

Cot-icon-48x48.png
Cotonti Siena 0.9 с темой SymiSun-03 Cotonti Siena 0.9 с темой SymiSun-03
Тип Система управления содержимым, CMF
Разработчик Cotonti Team
Написана на PHP
Операционная система Кроссплатформенное программное обеспечение
Первый выпуск 1 февраль 2009 (2009-02-01)
Последняя версия 0.9.12 (2 декабря 2012 г.)
Лицензия Лицензия BSD
Сайт http://www.cotonti.com/

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

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

Типовая установка веб-сайта производится с использованием лишь пользовательского интерфейса и панели администрирования, и не требует навыков программирования. Для создания веб-сайта с нестандартными возможностями могут потребоваться навыки PHP/MySQL программирования или HTML/CSS верстки — в зависимости от типа задачи. Разметка содержимого, разметка макета, программирование приложений и локализация полностью отделены друг от друга. Такой подход хорошо подходит для небольших и средних команд, занимающихся реализацией веб-проектов.

За годы своего развития Cotonti приобрела схожие с Drupal черты в таких аспектах своего построения, как процедурное ядро, стандартный загрузчик, модульная архитектура и ряд базовых функций, которые присутствуют и во многих других системах. Уникальными же чертами Cotonti можно считать следование принципам «собирательного фреймворка»[1] и практически неограниченную настраиваемость внешнего вида и поведения.

Содержание

Особенности

Cotonti отличается от других систем управления содержимым полным разделением PHP-кода и HTML-разметки. Это позволяет графическим дизайнерам создавать темы (в предыдущих версиях скины) без каких-либо знаний PHP. Cotonti позволяет создавать темы путем модификации тем, созданных участниками сообщества, или «с нуля» путем замены элементов HTML-кода на TPL-теги.

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

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

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

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

Основные возможности

Для пользователей, имеющих опыт использования других систем, станет полезным краткий обзор основных возможностей движка:

Архитектура

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

Для понимания архитектуры Cotonti представьте себе обычное здание. Основой здания является фундамент или библиотеки ядра (API), которые также обеспечивает всю инфраструктуру, используемую остальными элементами здания. На фундаменте стоят блоки, в которых заключены комнаты. Эти блоки называются модулями. Каждый модуль представляет собой особый вид пространства, населяемого пользователями сайта (кухня, гостиная, ванная комната). В комнатах находятся элементы интерьера (мебель, бытовая техника, электроника), называемые плагинами. И, наконец, отделка фасада и выбор украшений для него являются темами.

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

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

Безопасность

Cotonti обеспечивает защиту от большинства известных видов сетевых атак: PHP-инъекции, загрузка файлов, не соответствующих их типу, внедрение SQL-кода, межсайтового скриптинг (XSS), подделка межсайтовых запросов (CSRF) и др.

Разработка

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

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

История создания

История создания Cotonti началась в 2001 году, когда профессиональный программист Оливье Шапуи из французского города Гренобль создал новую систему управления содержимым под названием Land Down Under (LDU). Это была современная и надежная система, особо популярная в геймерских сообществах в качестве игрового портала.

В 2006 г. Neocrome, компания, которая разрабатывала LDU, объявила о выходе Seditio — новой проприетарной системы управления содержимым на базе PHP / MySQL, разрабатываемой Оливье и небольшой командой разработчиков.[3] По сравнению с LDU, в Seditio обеспечивались улучшенная поддержка плагинов и расширяемость. На фоне остальных систем управления содержимым того времени Seditio выделялась компактностью и безопасностью.[4],[5] В 2011 году проекты Land Down Under и Seditio были официально закрыты, но вскоре работа над Seditio возобновилась. Единственным официальным ответвлением линейки LDU/Seditio является Cotonti, в настоящее время оба проекта развиваются параллельно.

Cotonti возникла в результате попытки опытных энтузиастов из числа сообщества Seditio улучшить систему в ситуации, когда официальная команда бездействовала или не принимала патчи в проприетарный код. Началом проекта Cotonti в 2008 году стал пакет улучшений для Seditio, после чего, 1 февраля 2009 г. состоялся первый публичный релиз Cotonti в качестве самостоятельного продукта[6]. Это стало возможным после того, как было получено официальное разрешение от Neocrome на релиз Cotonti и унаследованный ей код Seditio в качестве открытого исходного кода.

Начальной веткой Cotonti стала Genesis, состоявшая из релизов 0.0.1 — 0.0.5. В неё вошли все изменения, в течение долгого времени ожидавшиеся для Seditio. Вторая ветка под названием Genoa реализовала последовавшие за этим улучшения по просьбам сообщества. К 2010 году Cotonti 0.6.x Genoa стала максимально стабильной веткой. Регулярные обновления для неё включают мелкие и малозначимые исправления и дополнения. Для линейки 0.6.x доступно большое количество расширений, что позволяет считать её зрелой и надежной в использовании.

В 2009 году, имея за спиной надежную и стабильную ветку, разработчики начали работу над принципиально новой линейкой Cotonti под названием Siena. Более современная архитектура, новый уровень модульности и встроенный фреймворк, а также ряд значительных изменений, невозможных в предыдущих линейках, отличают Cotonti Siena от её предшественниц. Первый официальный релиз ветки 0.9.0 состоялся 4 апреля 2011 г[7]. В настоящее время команда разработчиков и сообщество пользователей Cotonti прилагают все усилия к тому, чтобы поднять уровень стабильности ветки Siena до уровня 0.6.x и популяризовать её за счет создания востребованных расширений.

Лицензия

Cotonti распространяется на условиях лицензии BSD с эксклюзивным правом на использование кода от Seditio/Neocrome и распространение его на тех же условиях. Это делает Cotonti бесплатным как для некоммерческого, так и для коммерческого использования, при условии сохранения оригинальных авторских прав.

Ссылки

  1. http://martinfowler.com/bliki/HarvestedFramework.html
  2. Technical Concepts — Developer Guide — Cotonti
  3. Neocrome — Seditio 100
  4. Search:Author:SEDITIO — security vulnerabilities database
  5. Exploit Database Search
  6. Cotonti 0.0.2 Release and The Grand Opening — Announcements — Cotonti
  7. Cotonti Siena 0.9.0 is finally available! — Announcements — Cotonti

Ссылки

Просмотр этого шаблона Система управления содержимым
1С-Битрикс | ABO.CMS Amiro.CMS АТИЛЕКТ.CMS B2evolution BIGACE CMS Made Simple CMS Mail Keeper CMSimple Concrete5 Contao Cotonti DataLife Engine Danneo DotNetNuke Drupal E107 e2 eZ publish InSales Joomla HostCMS MODX Mambo Open Source MediaWiki Movable Type Newscoop NPJ Nucleus CMS OpenCms PHP-Fusion PHP-Nuke Plone Prestashop S.Builder Sapid SharePoint Site Sapiens TYPO3 Textpattern TikiWiki uCoz UMI.CMS WikkaWiki WordPress XOOPS Xaraya Zikula