Создание сайта на основе Системы
Назначение и размещение системных и вспомогательных каталогов
Система использует несколько каталогов, необходимых для хранения PHP-скриптов, исполняемых при выполнении запрошенных пользователями действий, системных констант, а также для хранения разнородных данных, описывающих порядок формирования страниц сайта, сведений о его пользователях, загруженных ими файлов, накопления статистики и некоторой совокупности временных данных, необходимых для выполнения логически взаимосвязанных скриптов системы. Именование каталогов НЕ регламентируется - имена могут быть любыми. Связывание каталогов с их логическим назначением осуществляется с помощью совокупности системных констант, которые загружаются управляющим скриптом из файла определения системных констант PHP-инструкцией include.
Каталог со скриптами и файл определения системных константами рекомендуется размещать выше каталога сайта, а каталоги с данными должны размещаться нижеосновного каталога сайта.
Основными каталогами сайта, создаваемого на платформе данной системы управления содержанием, являются:
1. Каталог программ
2. Каталог данных пользователей
3. Каталог производных файлов
4. Каталог профилей пользователей
5. Каталог системных файлов
6. Каталог загрузок
7. Каталог временных файлов
Каталог программ содержит исполняемые PHP-скрипты и базовые файлы их конфигурирования. Его рекомендуется размещать выше основного каталога сайта.
Все остальные каталоги должны размещаться ниже основного каталога сайта.
Каталог данных пользователей содержит каталоги файлового хозяйства конкретных пользователей системы, имеющих права на создание информационных ресурсов сайта. Данные в этих каталогах создаются и модифицируются скриптами системы по запросам пользователей сайта. Подробнее см. Общая характеристика возможностей виртуального издательства.
Каталог производных файлов содержит файлы данных, формируемых скриптами системы при выполнении пользователями определённых действий. Прежде всего - это статистика по обращению к тем или иным информационным ресурсам сайта, их оценке пользователями, результаты опросов и тому подобные данные. Они могут формироваться как скриптами ядра системы, так и её расширениями. Файлы данного каталога полностью обслуживаются в автоматическом режиме скриптами системы.
Каталог профилей пользователей содержит файлы тем или иным образом, характеризующие пользователя и производимые им на сайте действия - идентификационные данные, анкету, личные данные, а также множество других данных, характеризующих его взаимодействие с расширениями системы. Данные в этих каталогах создаются и модифицируются скриптами системы по запросам пользователей сайта.
Каталог системных файлов содержит конфигурационные файлы сайта, определяющие и уточняющие поведение системы на данном конкретном сайте. Файлы данного каталога в ручном режиме создаются и правятся администраторами сайта.
Каталог загрузок предназначен для хранения файлов, загруженных пользователями сайта, имеющими на это право.
Каталог временных файлов предназначен для хранения временных файлов системы, создаваемых её скриптами. Помещаемые сюда файлы создаются полностью в автоматическом режиме. Каталог требует периодической очистки администраторами.
Помимо перечисленных каталогов может использоваться неограниченное число других каталогов, в которых могут размещаться любые наборы файлов, загружаемых на сайт не системно. Эти файлы произвольно могут использоваться для формирования страниц сайта любыми его пользователями, знающими точное имя размещения конкретных файлов относительно корневого каталога сайта.
Файл определения системных констант
Имена перечисленных выше каталогов должны быть занесены в системные константы, устанавливающие их логическую принадлежность. Для этого должен быть сформирован PHP-файл определения системных констант, который настоятельно рекомендуется размещать выше каталога размещения сайта. Имена системных констант являются предопределёнными и имеют следующее назначение.
KP - имя каталога программ;
DP - имя каталога данных пользователей;
PF - имя каталога производных файлов;
PP - имя каталога профилей пользователей;
SF - имя каталога системных файлов;
KZ - имя каталога загрузок;
VF - имя каталога временных файлов;
SKP - строка кодирования параметров.
Назначение системных каталогов было рассмотрено выше. Строка кодирования параметров может произвольной. Она используется скриптами системы при шифровании требующих сокрытия данных.
Типовая структура файла определения системных констант:
define("KP","имя каталога программ");
define("DP","имя каталога данных пользователей");
define("PF","имя каталога производных файлов");
define("PP","имя каталога профилей пользователей");
define("SF","имя каталога системных файлов");
define("KZ","имя каталога загрузок");
define("VF","имя каталога временных файлов");
define("SKP","строка кодирования параметров");
Создание сайта на основе Системы
Для создания сайта, основанного на данной системе следует выполнить следующий минимальный набор действий.
1. Создать системные каталоги
2. Создать файл определения системных констант
3. В корневом каталоге сайта создать файл index.php следующего содержания:
include("имя файла определения системных констант");
include(KP.'md.php');
Здесь первая инструкция загружает системные константы, логически связывая систему с необходимыми для её функционирования каталогами. Вторая инструкция из каталога программ загружает скрипт, определяющий маршрутизацию дальнейших действий.
4. В каталоге данных пользователей создать каталог с именем какого либо пользователя (например, администратора) и в нём создать следующие файлы:
4.1 Файл статьи главной страницы (см. Типы и структура используемых файлов, Порядок формирования секции Содержание для файлов статьи )
4.2 Файл книги корневого сборника (см. Типы и структура используемых файлов, Порядок формирования секции Содержание для файлов книги )
5. В каталоге системных файлов создать файл с именем konfig, включив в него следующие строки:
gs имя-файла-главной-страницы
ks имя-файла-книги-корневого-сборника
При задании имён в переменных gs и ks НЕ НУЖНО указывать путь к каталогу данных пользователей. Имена следует задать в форме имя-пользователя/имя-файла. Например, если в каталоге данных пользователей создан каталог petrik, а в нём созданы gs.s и ks.k, то значения имён переменных должны быть указаны в виде:
gs petrik/gs.s
ks petrik/ks.k
Система сама найдёт эти файлы, сообразуясь со значениями константы DP, определяющей каталог данных пользователей.
На этом минимальные действия по созданию сайта выполнены и можно обратиться к нему из браузера. При обращении к доменному имени сайта система выведет начальную страницу сайта, сформировав её в соответствии с определениями, заданными статьёй файла главной страницы.
Однако следует иметь в виду, что на текущий момент пользователь, с именем которого создан каталог в каталоге данных пользователей в системе ещё не зарегистрирован. И потому обратившийся к странице пользователь рассматривается ей как неавторизованный.
В рассмотренном ранее примере система найдёт файл статьи главной страницы по имени petrik/gs.s, но под именем этого пользователя и с его правами войти ещё нельзя, поскольку он не зарегистрирован.
Чтобы зарегистрировать пользователя можно войти на сайт с запросом: имя-сайта/index.php?~=ps_r
В результате будет предложено заполнить форму регистрации пользователя, в которую в качестве идентификатора следует ввести имя начально созданного каталога.
Чтобы облегчить действия по регистрации пользователей рекомендуется сразу создать начальную главную страницу, включающую одной из строк следующий код:
{*#rp*} {*#vp*}
В этом случае на странице появятся ссылки на форму регистрации пользователя и вход пользователя. Подробнее см. Поля переменных данных.
Следует иметь ввиду, что в результате регистрации пользователь получает лишь минимальные права Читателя. То есть он не может создавать и публиковать новые статьи и книги. Подробнее см. Общая характеристика возможностей виртуального издательства.
Изменить права того или иного пользователя в данной версии системы может только вхожий на хостинг администратор. Для этого в каталоге профилей пользователей следует найти файл с логином пользователя, не имеющий расширения и с помощью текстового редактора в секции .s установить нужное значение (1-Читатель, 2-Писатель, 3-Эксперт, 6-Редактор, 7-Администратор). В результате пользователь с данным логином получит соответствующие права. Подробнее см. Общая характеристика возможностей виртуального издательства.
После выполнения перечисленных действий сайт можно полностью администрировать и конфигурировать практически не заходя на хостинг, непосредственно из интерфейса системы.
Дальнейшие возможные действия по конфигурированию системы рассматриваются в статье Конфигурирование сайта.