Cotonti

Cotonti
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, а также постоянно растущую библиотеку собственных плагинов.

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

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

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

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

  • Модульная архитектура и простые API
  • Уникальный шаблонизатор, доступный любому дизайнеру или верстальщику на уровне HTML, и, путем несложных настроек, обеспечивающий необходимое поведение системы
  • Настройка каждого аспекта выходного HTML-кода
  • Легковесность, ясность и малое потребление ресурсов
  • Код прост в понимании и доступен для изучения даже новичками
  • Серверный кеш и оптимизация контента на стороне клиента
  • Защита от внедрения SQL-кода, межсайтового скриптинга, подделки межсайтовых запросов и других видов сетевых атак
  • Поддержка сообщества, регулярные обновления

Архитектура

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 бесплатным как для некоммерческого, так и для коммерческого использования, при условии сохранения оригинальных авторских прав.

Ссылки

Ссылки

  • Cotonti.com — Официальный сайт Cotonti
  • Neocrome.net — Официальный сайт Seditio

Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "Cotonti" в других словарях:

  • Cotonti — Siena 0.9 with SymiSun 03 theme Developer(s) Cotonti Team …   Wikipedia

  • Drupal — Drupal …   Википедия

  • Joomla — Joomla! …   Википедия

  • LiveStreet — CMS Интерфейс LiveStreet Тип CMS/блог Разработчик …   Википедия

  • List of content management frameworks — A content management framework (CMF) is an application programming interface for creating a customized content management system (CMS). The relationship between a CMF and a CMS can be illustrated by the following analogy: Unlike a typical CMS, a… …   Wikipedia

  • List of content management systems — This is a list of notable content management systems that are used to organize and facilitate collaborative content creation. Many of them are built on top of separate content management frameworks. Contents 1 Software as a service (SaaS) 2… …   Wikipedia

  • PHP-Nuke — Тип Система управления содержимым Разработчик Франсиско Бурси Написана на PHP Последняя версия 8.2 Тестовая версия 9.0 Лицензия GPL …   Википедия

  • Ruby on Rails — Ruby on Rails …   Википедия

  • TYPO3 — TYPO3 …   Википедия

  • 1С-Битрикс — Проверить информацию. Необходимо проверить точность фактов и достоверность сведений, изложенных в этой статье. На странице обсуждения должны быть пояснения …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»