Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #73, ДЕКАБРЬ 2006 г.

CMS – к столу!

БОРИС ВОЛЬФСОН

Спецвыпуск: Хакер, номер #073, стр. 073-056-1


BORISVOLFSON@GMAIL.COM HTTP://SPLENDOT.COM

ОСНОВЫ СИСТЕМ УПРАВЛЕНИЯ КОНТЕНТОМ САЙТА

ПО НЕКОТОРЫМ ДАННЫМ ОКОЛО 90% САЙТОВ, СОЗДАННЫХ ВЕБ-СТУДИЯМИ, ДЕЛАЮТСЯ НЕ «С ЧИСТОГО ЛИСТА», А НА ОСНОВЕ СИСТЕМ УПРАВЛЕНИЯ КОНТЕНТОМ. ОБЫЧНЫЕ ВЕБ-МАСТЕРА ИЛИ ПРОСТО ЛЮДИ, КОТОРЫЕ ДЕЛАЮТ СЕБЕ САЙТ, ТАКЖЕ СТРЕМЯТСЯ НЕ ОТСТАВАТЬ И ИСПОЛЬЗУЮТ МНОГИЕ ВОЗМОЖНОСТИ СОВРЕМЕННЫХ CMS

[CMS везде и всюду.]

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

Вторым важным фактором стало упрощение самих CMS. Сегодня даже не самый опытный пользователь может поставить и использовать CMS, если не надо делать ничего сверхъестественного. К тому же большинство хостингов предлагают установить CMS одним кликом, включая коммерческие версии. Хочу отметить вклад сообщества Open Source в распространение систем управления сайтами, ведь небольшие компании не в состоянии купить себе дорогой коммерческий софт. Я думаю, что причины широкого распространения CMS понятны. Главная их них – наиболее полное удовлетворение пользовательских запросов.

[хранилище информации.]

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

Движок базы данных выбирается в зависимости от платформы. Если используется платформа Windows, то берут MS SQL, у которого нет серьезных конкурентов в данной нише. Если используется *NIX’овая платформа, то выбор уже шире, - можно применить более мощные, но менее раскрученные PostgreSQL или FireBird.

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

Содержание  Вперед на стр. 073-056-2