CMS ЦМС. Печать
(6 голоса, среднее 4.83 из 5)
Создание динамического сайта - Управление сайтом CMS
23.12.2010 00:11

Системы управления сайтом - CMS.

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

Второй важный фактор – это упрощение самих систем управления сайтом. На сегодняшний день даже неопытный юзер сможет поставить и пользоваться CMS. Вдобавок большинство хостингов предлагает установку CMS всего одним кликом. В распространении систем управления сайтом следует отметить вклад Open Source, так называемые бесплатные CMS, например CMS joomla.

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

Система управления сайтом CMS хранит информацию и управляет ею.

Любая CMS (ЦМС) – это хранилище набора информации, с него и начнем. В современных CMS это реляционные базы данных. «Реляционная» - означает что, база составлена из таблиц, а между таблицами установлены связи (с англ. «relation» - отношение).

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

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

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

Тип базы данных следует выбирать в зависимости от используемой платформы. Для платформы Windows используют MS SQL, у него отсутствуют серьезные конкуренты в данной нише. Для платформы UNIX подойдет MySQL.

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

Использование шаблонизаторов.

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

Как правило, это HTML со специальной разметкой, в нем указано, где нужно вставить название страницы, а где – меню, основной текст и другие элементы, взятые из БД. Самым простым вариантом является шаблон на PHP языке, но есть и решения более мощные.

Так Smarty шаблонизатор имеет свой простой язык, с ним справится даже верстальщик, который не знает PHP. У шаблонов Smarty следующий образ работы: они преобразовываются в файл PHP, после чего просто будут исполнены PHP-интерпретатором. Чтобы повысить производительность можно скомпилировать Smarty шаблон в PHP, так как он будет довольно редко меняться. Так мы получили разделение труда верстальщика и программиста: один делает шаблоны, а другой пишет код.

Права и роли пользователей.

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

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

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

Система меню.

Система меню позволяет осуществлять навигацию по сайту. Существует два типа меню – горизонтальное и вертикальное. Горизонтальное, обычно, располагают в шапке и иногда дублируют внизу сайта. Вертикальное – чаще всего помещают в специальный блок.

Управление форумами.

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

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

Чтобы каждый день на сайт приходили пользователи - следует продумать его интерактивность. Для этого необходимо дать возможность пользователям самостоятельно размещать информацию.

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

Блоги.

Здесь, можно привести в качестве примера CMS WordPress, она является представителем мощной системы ведения блогов.

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

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

Но именно объединение пользователей в сообщества (в которых пишутся свои материалы) раскрывает всю силу блогов.

Модель работы CMS.

Сейчас рассмотрим, как происходит взаимодействие компонентов системы. Когда пользователь заходит на сайт, который управляется CMS, и производит некие действия, например, запрашивает какую-то страничку, или отправляет заполненную форму – CMS, первым делом, определяет, как следует отреагировать на данное действие. Дальше модуль, который отвечает за обработку запроса, записывает информацию в БД, если запрос подразумевал такое действие.

Система совершает запрос в БД, чтобы получить информацию, которая должна быть отображена, или же программно создает сообщение. Эта информация будет передана модулю – шаблонизатору, он возьмет текущую тему и вставит в нее всю нужную информацию, в конечном итоге получится HTML – код, который будет послан пользователю. Ничего сложного.

Итак, что мы имеем?

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

Во-вторую очередь, контент сайта полностью отделён от его визуального представления, в результате – содержимое сайта легко поддается редактированию. Многие CMS имеют визуальный онлайн – редактор, либо оснащены таким дополнительным модулем.

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

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

Естественно, главный фактор, влияющий на использование CMS, это экономия времени, следовательно, и денег.

Сжато о CMS.

Мой сайт, к сожалению, не посвящен CMS, и это не позволяет мне более подробно разобрать часто используемые системы управления сайтами и составлять подробные руководства по каждой, для этого имеются другие ресурсы, к примеру, CMS List – этот портал рассматривает системы управления сайтами. В общем-то, в этом и нет смысла, так как все интересующие руководства можно найти на сайтах данных систем.

Но перед выбором CMS для создания собственного сайта требуется учесть некоторые моменты, которые Вам помогут:

  • Многие системы управления сайтом друг от друга сильно отличаются;
  • Большинство CMS разработаны специально для конкретных задач;
  • Некоторые системы управления сайтом нацелены именно на специалистов, а не на обычных пользователей;
  • Для освоения любой CMS требуется какой-то период времени, иногда достаточно продолжительный;
  • Определенные системы управления сайтом не получится освоить до конца – просто потому, что они являются плохо спроектированными;
  • Дорогая CMS не обязательно будет обладать лучшими возможностями, нежели дешевая. Часто бывает и наоборот;
  • Следует избегать систем управления сайтом, с помощью которых создано не большое количество сайтов;
  • Универсальные системы управления сайтом, которые по утверждениям разработчиков, предназначены для решения любых задач, - скорее всего, просто ерунда, если это только не очень грамотно спроектированная и хорошо продуманная модульная структура;
  • Совсем не обязательно приобретать мощную систему управления сайтом для решения несложных задач;
  • Не всем системам управления сайтом может подойти Ваш хостинг, потому что некоторые из них имеют весьма специфические требования к программному обеспечению;
  • Не стоит рассматривать в качестве кандидатов такие CMS, создатели которых не дают Вам возможности бесплатно её протестировать в течение некоторого времени;
  • Так же, не стоит пугаться сложности изучения административной части мощных систем, так как по определению серьезный продукт обладает широкими возможностями, и на их изучение потребуется какое-то время;
  • Вас обязательно должно интересовать наличие техподдержки и сопровождения CMS системы. Причем следует проверить, как поддержка работает еще во время тестирования. Не стоит приобретать CMS систему без сопровождения – можете потом сильно пожалеть;
  • И следует помнить, что любой системе управления сайтом требуется довольно тщательная и кропотливая доводка под задачи именно Вашего сайта. Причем эту доводку не всегда возможно осуществить средствами системы – иногда требуются разработчики.
Обновлено 25.02.2011 04:47