Серверная часть системы создания и управления сайтами
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
кальное имя черновика. Template_id указывает какой шаблон был использован при создании черновика. Creation_time и modification_time хранят время создания черновика и его последней модификации. Эти данные используются для генерации страниц. А также могут использоваться как справочная информация клиентом. Поле object_data типа TEXT содержит саму страницу.
Шаблоны хранятся в таблице templates. Поле template_uid содержит уникальное имя шаблона. В project_id указывается принадлежность определенному проекту.
Черновики для шаблонов находятся в таблице template_drafts. Где draft_uid содержит уникальное имя черновика. Внешний ключ template_id задает принадлежность черновика определенному шаблону. Creation_time и modification_time хранят время создания черновика и его последней модификации. Они могут использоваться как справочная информация клиентом. Поле object_data типа TEXT содержит сам шаблон.
Ресурсы хранятся в таблице resources. Поле resource_uid содержит уникальное имя ресурса, project_id указывает принадлежность ресурса проекту. В поле path указывается путь до файла ресурса. В поле data_type сохраняется тип ресурса (формат изображения или другая информация). Поле isglobal булевского типа определяет, является ли ресурс глобальным.
С ресурсами связана таблица resource_usedin, с помощью которой определяется, где задействован ресурс. Поле resource_id указывает какой ресурс имеется ввиду. Usedin_type определяет тип содержимого, в котором задействован ресурс: страница или шаблон. Usedin_id является внешним ключом на содержимое, в котором задействован ресурс. Глобальные ресурсы не отмечаются в этой таблице.
Таблица 3.4 - Описание структуры таблицы projects
ПолеСодержаниеТип данныхРазмерidУникальный числовой идентификатор записиINT10project_uidУникальное имя проектаVARCHAR256
Таблица 3.5 - Описание структуры таблицы pages
ПолеСодержаниеТип данныхРазмерidУникальный числовой идентификатор записиINT10page_uidУникальное имя страницыVARCHAR256generated_modification_timeВремя последней генерации страницыINT12generated_draft_uidИмя последнего сгенерированного черновикаVARCHAR256page_urlИмя страницы, видимое в адресной строке браузераVARCHAR256project_idИдентификатор проекта, в котором находится страницаINT10
Таблица 3.6 - Описание структуры таблицы page_drafts
ПолеСодержаниеТип данныхРазмерidУникальный числовой идентификатор записиINT10draft_uidУникальное имя черновика страницыVARCHAR256template_idИдентификатор используемого в черновике щаблонаVARCHAR256creation_timeВремя создания черновикаINT12modification_timeВремя последней модификации черновикаINT12object_dataСодержимое страницы для данного черновикаTEXTpublishedОпубликованность черновикаTINYINT1page_idИдентификатор связанной с черновиком страницыINT10
Таблица 3.7 - Описание структуры таблицы templates
ПолеСодержаниеТип данныхРазмерidУникальный числовой идентификатор записиINT10template_uidУникальное имя шаблонаVARCHAR256project_idИдентификатор проекта, в котором находится страницаINT10
Таблица 3.8 - Описание структуры таблицы template_drafts
ПолеСодержаниеТип данныхРазмерidУникальный числовой идентификатор записиINT10draft_uidУникальное имя черновика шаблонаVARCHAR256creation_timeВремя создания черновикаINT12modification_timeВремя последней модификации черновикаINT12object_dataСодержимое шаблона для данного черновикаTEXT
Таблица 3.9 - Описание структуры таблицы resources
ПолеСодержаниеТип данныхРазмерidУникальный числовой идентификатор записиINT10resource_uidУникальное имя ресурсаVARCHAR256isglobalЯвляется ли черновик глобальным или локальнымTINYINT1pathПуть в файловой системе до файла черновикаTEXTdata_typeТип ресурсаVARCHAR10project_idИдентификатор проекта, в котором находится ресурсINT10
Таблица 3.10 - Описание структуры таблицы resource_usedin
ПолеСодержаниеТип данныхРазмерidУникальный числовой идентификатор записиINT10resource_idИдентификатор ресурсаINT10usedin_idИдентификатор страницы или шаблона, в котором используется ресурсINT10usedin_typeТип содержимого в котором используется ресурс (страница или шаблон)CHAR1
2.3Структура файловой системы
Структура файловая системы должна быть максимально простой и понятной продвинутому пользователю.
Вследствие наличия в ССУС логических блоков клиентская часть и серверная часть, разумно ввести такое же разделение и на уровне файловой системы.
Так как сам сайт будет храниться в файловой системе, появляется связанный с ним блок.
Также следует выделить отдельно инсталлятор, хотя он и не включается в непосредственно систему после установки.
Кроме того, у сайта кроме текстового содержимого имеются подгружаемые ресурсы, которым необходимо место для хранения опять же в файловой системе.
В результате мы получаем следующие папки.
clientПапка клиентской части
server Папка серверной части
installer Папка установщика системы
site Папка сайта
uploads Папка для загрузки файлов
Кроме того, нам понадобится файл настроек, в котором хранятся данные о пути к корневой папке, информация для доступа к базе данных и некоторые другие настройки.
Папку server должна внутри быть организована в соответствии со структурой серверной части.
После этих уточнений представим более полную структуру файловой системы.
clientПапка клиентской части
server Папка серверной части
odbm Папка менеджера базы данных
ogenerator Папка генератора сайта
ostm Папка менеджера хранилища
ocoordinator Папка координатора
installer Папка установщика системы
site Папка сайта
uploads Папка для загрузки файлов
config Файл конфигурации системы
2.4Интерфейс для взаимодействия с клиентом
Интерфейс представляет собой php-скрипт с именем coordin