Информация

Составные части CMS

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

Ядро CMS

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

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

1) Модульность

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

2) Разделение дизайна и функционала

Отделение шаблонов дизайна от программного кода в первую очередь удобно при смене дизайна, позволяет использовать отдельные шаблоны для различных страниц сайта. Плюс ко всему это даёт возможность организовать разделение труда при создании сайта, ведь, чтобы сверстать страницу не требуется знание языка программирования, достаточно знать html и css.

3) Многоязычность

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

4) Многосайтовость

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

5) Аудит деятельности администрации сайта

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

6) Система безопасности

Любое действие пользователя сайта должно быть проверено на предмет корректности, адекватности, неизбыточности ввода данных. У администратора должна быть возможность блокировки аккаунтов, браузеров, IP адреса или пула адресов для ограничения доступа пользователям, которые, к примеру, не соблюдают правил поведения на сайте.

7) Система отката действий

Условно говоря, ничего не должно пропадать безвозвратно. Модератор по незнанию или по неосторожности вполне может удалить нужную информацию. Для восстановления вполне может быть использовано некое подобие корзины, из которой при необходимости можно вернуть удалённые материалы.

8) Система статистики

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

9) Система поиска и индексирования

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

База данных

В большинстве существующих систем управления контентом в качестве хранилища информации используется реляционная база данных. Таким образом, если CMS необходимо сохранить какую-либо информацию, она записывает ее в базу данных.

Под базами данных (БД) понимаются системы хранения и обработки данных, для доступа к которым используется язык SQL (Structured Query Language). Существует множество различных систем управления базами данных (СУБД), но в условиях хостинга как правило применяется СУБД MySQL. Причинами тому являются фактическая ориентация этой СУБД на хостинговые задачи, доступность на всех популярных серверных операционных системах, а также простота настройки и администрирования.


После выбора базы данных (а лучше до него) стоит задуматься, как лучше запрограммировать работу с ней в CMS. Наилучшим подходом является создание абстрактного слоя работы с базой данных. Реализовать его можно как в виде специального класса, так и в виде набора функций. То есть в идеале основной код CMS одинаков для любой базы данных, меняется лишь код-прокладка для БД.

Шаблоны дизайна

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

Самый простой и распространённый способ разработки нового шаблона – редактирование уже существующего. Если же целью является создание шаблона «с нуля», то обязательно внимательно ознакомится с соответствующими стандартами, которые предъявляет к своим шаблонам система управления контентом.

Некоторые CMS позволяют редактировать шаблоны дизайна непосредственно в web-интерфейсе.

Модули CMS

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

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

Ведущие CMS позволяют загружать, устанавливать и настраивать модули непосредственно в web-интерфейсе.

Неоспоримым преимуществом любой CMS с открытым кодом может стать простая и понятная для сторонних разработчиков система организации модульной структуры. К примеру, для CMS Joomla написано множество различных модулей практически под любые задачи, что делает её одной из самых популярных систем на планете. Существует и такая ситуация, когда сама система управления является бесплатной, а отдельные модули для неё необходимо приобретать.

Плагины

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

Наиболее распространённым и важным типов плагинов для систем управления контентом является WYSIWYG редактор, который позволяет легко производить форматирование текста без использования специальных знаний языка html. Также доступна загрузка изображений в текст, файлов Как правило, внешний вид подобных редакторов похож на привычный многим интерфейс Microsoft Word.

В последнее время широкую востребованность получили человекопонятные URL (так называемые ЧПУ-ссылки), которые способствуют лучшей поисковой индексации страниц. К примеру, страница с адресом site.ru/index.php?id=502 с текстом о разработке CMS для поисковых систем в отношении запроса «Разработка CMS» будет гораздо менее значима, чем страница site.ru/razrabotka-cms. Практически все современные системы управления контентом позволяют использовать ЧПУ-ссылки за счёт установки отвечающих за это плагинов.

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

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

Административная часть

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


Заказать сайтРаскруткаНаши работыИнформацияПолиграфия в ТамбовеКонтакты 

телефон в Тамбове:

© ООО "Электронные коммерческие интернет технологии", 2007 - 2017