Прежде, чем начать рассказ про все «изюминки» CMS, отметим, что называть ее новой не совсем верно.
Cotonti является преемником
Seditio CMS, которая была создана на базе системы
Land Down Under, а значит
Cotonti - наследник более чем семилетнего опыта работы над качеством и стабильностью. В
Cotonti мы стремимся реализовать основные течения web программирования, при этом сохранив все самое лучшее старой школы программирования.
#1. Процедуры и функции
Возможно, вы уже готовы заявить, что данный подход устарел и должен принадлежать истории, что сейчас панацеей является ООП (объектно-ориентированное программирование). Если это так, то вам стоит присмотреться к другим системам управления сайтами, например: Joomla, Xoops, e107 и другим.
Мы, команда разработчиков
Cotonti, приняли осознанно данный выбор, основываясь на следующих причинах:
- Код должен быть простым и легким для понимания
- Используя «процедурный подход» мы опережаем остальные системы в скорости обработки запросов
- Данный подход отличает нашу систему от других, которые высказывают «полностью ООП», «Настоящий Web 2.0» и другие громкие лозунги, от которых больше шума, нежели практической пользы.
С другой стороны, мы не настолько стары и консервативны, как Вы могли бы уже представить. Основной код системы управления основан на процедурном API, но определенные части фреймворка основаны на классах и библиотеках классов. Таким образом, наша система воплощает все самое лучшее этих концепций программирования.
#2. Модель-представление-контроллер (Model-View-Controller или MVC)
Cotonti следует шаблону проектирования MVC, который свойственен для большинства интернет приложений. Суть данной концепции заключается в делении всей инфраструктуры сайта на 3 части:
- Данные. Вся информация хранится в БД, вывод данных осуществляется посредством специального API. В настоящее время Cotonti поддерживает только СУБД MySQL. Поддержки других баз не планируется, так как MySQL является самой популярной и наиболее оптимальной для веб-приложений. Хотя, при необходимости возможно написание специального адаптера для других СУБД.
- Представление (вид). Это непосредственно сам дизайн сайта, то, как посетитель вашего сайта его увидит. В Cotonti дизайн отделен от кода посредством шаблонов. Любой веб-дизайнер может быстро и без дополнительных усилий освоить работу с шаблонами. В качестве шаблонизатора (системы, которая обеспечивает поддержку шаблонов) мы использовали XTemplate, который является весьма гибким и очень простым в использовании.
- Контроллер. Это сам код движка, который связует все звенья воедино и обеспечивает работу сайта.
#3. Модульная архитектура
«Сердцем» данной системы является набор библиотек, которые необходимы для работы всего сайта. Этот набор библиотек называют ядром или CMF (Content Management Framework). В целом, это набор файлов, в которых находятся функции и классы, обеспечивающие работу модулей и плагинов.
Основные части сайта представлены модулями, т.е. скриптами, которые отвечают за работу основных областей сайта: форума, страниц, личных сообщений, опросов и т.д.
Гибкость модулей обеспечивается плагинами, небольшими скриптами, которые внедряются в модули, тем самым расширяя функциональность последних. Это внедрение позволяет получить необходимый результат, не прибегая к изменению ядра. Плагины могут быть полностью автономными, в виде всплывающих окон или ajax частей.
Макеты всех модулей и плагинов находятся в шаблонах. Из шаблонов формируется тема (скин) сайта. Каждый скин может иметь несколько вариантов оформления.
#4. Интернационализация
Интернационализация (на англоязычных сайтах обычно используется сокращение i18n) является одной из обязательных особенностей CMS, которая обеспечивает поддержку различных языков. Это необходимый шаг вперед при формировании мультиязычного контента. В современном мире на сайтах все чаще и чаще встречается информация на различных языках. По этой причине все больше и больше людей выбирают в качестве кодировки символов Unicode.
В Cotonti изначально включена поддержка Unicode и по умолчанию используется UTF-8.
Интерфейс системы поддерживает интернационализацию посредством языковых файлов. Все языковые файлы делятся на файлы: ядра, модулей, плагинов, тем оформления. Если по какой-то причине нет необходимого вам перевода системы, Вы можете сделать его самостоятельно или при помощи переводчика. Наше сообщество предоставит Вам необходимую помощь.
#5. Стабильность и безопасность
Seditio считался одной из самых стабильных систем управления сайтом в мире (если верить багтракам), а стабильность при написании системы стояла в качестве первостепенной задачи. При создании
Cotonti мы придерживались данной традиции. Кодерам известно о SQL-инъекциях, межсайтовом скриптинге (XSS), подделке HTTP-запросов (CSRF), ошибках PHP, поэтому при создании
Cotonti наши разработчики уделяют особое внимание защите, как пассивной (внимательное написание кода, исправление существующих ошибок в системе защиты), так и активной (создание специальных алгоритмов защиты).
Существует также четкое разделение прав на сайте посредством списков контроля доступа ACL (Access Control Lists) и режимов доступа. Они представляют собой матрицу групп пользователей и элементов сайта. Поля данной матрицы содержат права группы пользователей.
В
Cotonti включена Защита от повторных соединений (Anti-Hammering), а так же защита против спама (anti–spam).
Одним из определяющих стабильность системы является отсутствие в коде ошибок. Достигается это двумя способами: тщательное аккуратное кодирование и сообщение пользователями о найденных ошибках тех. поддержке (так называемое Обеспечение качества или QA) .
#6. Производительность и расширяемость
Когда речь идет о производительности, мы говорим в первую очередь о количестве обрабатываемых запросов в минуту (RPM, Requests Per Minute) или запросов в секунду (RPS). И в
Cotonti мы прикладываем все усилия, чтобы достичь максимальных результатов. Для этого мы стараемся избежать дополнительных расходов при добавлении новых возможностей, используем такие технологии как пре-рендеринг и серверный кэш. SQL-запросы и БД оптимизованы, все функции настроены на быструю и качественную работу, и это позволяет вашему сайту расти и развиваться, становиться все более популярным.
Вы можете легко сделать мультисайтовую поддержку, если Ваш хостинг это поддерживает. То есть можно использовать одно и тоже ядро для управления сразу несколькими базами и настройками. С другой стороны, если нагрузка на сервер становится чрезмерно высокой
Cotonti легко расширяется при помощи SQL кластеров, веб-кластеров, балансировщиков нагрузки и продолжает работать без каких-либо проблем.
#7. SEO (Поисковая оптимизация)
Наверное, вы не раз сталкивались с ситуацией: красивый, стильный, удобный сайт с большим количеством графики и флеша, а в поисковике занимает одну из последних позиций. Мы думаем, Вы понимаете важность поисковой оптимизации сайта.
В стандартный комплект
Cotonti входит мощная утилита по формированию произвольных URL, а так же настраиваемые заголовки, мета тэги, множество необходимых для этого настроек. И, наконец, огромные SEO возможности представляют плагины: их уже не мало, и их количество продолжает расти.
#8. Web 2.0
Web 2.0 – это просто громкое слово, которое чаще всего употребляется для обозначения современных тенденций мировой паутины. Итак, для ответа на вопрос «Поддерживает ли
Cotonti web 2.0?», давайте рассмотрим некоторые возможности этой CMS и то, из чего этот самый Веб 2.0 обычно состоит.
#9. AJAX
AJAX расшифровывается как Асинхронный JavaScript и XML. Данная технология обеспечивает соединение клиент-сервер без необходимости перезагрузки страницы. Сайты, использующие данную технологию, работают быстрее, потребляют меньше трафика, да и выглядят более привлекательно для пользователя.
В
Cotonti встроена популярная, хорошо докуметированная JavaScript библиотека jQuery, которая обеспечивает полнофункциональную поддержку AJAX. Вы можете легко и быстро написать плагины, которые поддерживают AJAX технологию.
#10. Подписка (Синдицирование)
Cotonti поставляется со специальным модулем стандарта RSS, который позволит посетителям подписаться на различные каналы Вашего сайта. В ближайшее время данный модуль будет доработан и станет поддерживать не только RSS, но и Atom; включать возможность подписки на основные части контента – форумы, страницы, списки), а так же специальные функции дл внедрения подписки в плагины и модули сторонних производителей.
#11. Тэги
Жизнь современных сайтов тяжело представить без поддержки тэгов.
Cotonti предоставляет гибкую, легконастраиваемую систему тэгов. Тэги могут быть везде: на страницах, форумах, в плагинах, в модулях сторонних производителей. Теперь пользователи могут вводить теги, а система будет автоматически генерировать облака тэгов.
#12. Социализация
Cotonti не является системой для создания социальных сетей. В ее состав входит стандартный для CMS комплект функций. Но при использовании плагинов функциональность значительно расширяется. Уже сегодня можно найти и скачать такие плагины как блоги, друзья, галереи, стены пользователей и множество других.
Связь с другими социальными сетями может быть установлена посредством сторонних плагинов или сервисов (например, Ping.fm)
#13. Веб сервисы
Редкий вебсайт может быть использован в качестве веб-сервиса через XML-RPC, REST или SOAP. Но, как известно, мир не стоит на месте, возможно пройдет некоторое время и в новой главе
Cotonti будет описано использование данной технологии.
Надеемся, что Вас заинтересовала наша CMS, что, установив ее, вы найдете все то, что вы хотели найти до этого! Добро пожаловать в мир этой новой активно развивающейся CMS, в мир
Cotonti.
Интересно, можно ли перевести на этот движок сайт http://znak-u.ru ?