Создание CMS Объектная БД в реляционной СУБД

Полтора года назад начался цикл статей про создание гибкой CMS и главной темой, на которой остановились подробно, была реализация объектной модели данных в реляционной СУБД (в MySql). Новые статьи давно уже не писались, но работа над моделью данных продолжала кипеть, порой, доходив до безумия. Сейчас мне хочется поделиться результатами той не простой, но интересной работы. В статье рассматривается объектная модель данных и структура базы данных для неё.

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

Создание CMS Модель данных. Основы

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

CMS может просто передавать данные по запросу клиентскому приложению, например сетевой программе, flash-клипу или AJAX-приложению. Но чаще всего, CMS предоставляет клиенту уже подготовленные для отображения данные в HTML формате. В этом случаи, для обеспечения доступности, легкости восприятия и удобства пользования содержимым, выполняется стилизация и объединение его с элементами оформления (темы, шаблоны), навигации (меню, ссылки) и управления (формы и ссылки тоже), и всем этим тоже нужно управлять. продолжение…

Создание CMS Выбор языка программирования

При выборе языка программирования я исходил из следующих соображений: доступность, известность, удобство, безопасность, скорость разработки и личные предпочтения. Выбрал PHP. Конечно, хотелось бы, чтоб PHP был чист от шелухи предыдущих версий, более изящен синтаксически, с полной поддержкой юникода и объектно-ориентрованного программирования. PHP не запрещает творить небезопасные вещи, поэтому многое в плане безопасности зависит от архитектуры создаваемой системы. продолжение…