УДК 004.418
М.М. Соловьев, А.А. Бутов, М.А. Карев СИСТЕМА УПРАВЛЕНИЯ ИНФОРМАЦИОННЫМИ РЕСУРСАМИ SIMPLEX
Описывается система управления электронными ресурсами Simplex. Эта система позволяет создавать информационные ресурсы (сайты) различной сложности с возможностью дальнейшего управления и администрирования. Simplex была разработана на языке программирования PHP с использованием БД MySQL и HTML/CSS/JavaScript. Платформа использует схему MVC (Model-View-Controller). Система нацелена на упрощение разработки, изменения и управления информационными ресурсами.
Система управления контентом, PHP, MV C
M.M. Solovyev, A.A. Butov, M.A. Karev CONTENT MANAGEMENT OF THE SIMPLEX SYSTEM
The article presents the Simplex Content Management System. The given system allows you to create information resources (sites) of varying difficulty with the possibility offur-ther management and administration. The Simplex has been developed using the PHP programming language with MySQL database and HTML/CSS/JavaScript. The platform utilizes the MVC (Model-View-Controller). The system aims at facilitating the development, modification and management of information resources.
Content Management System, PHP, MVC
Введение
В статье описывается система создания информационных ресурсов или сайтов, которые затем с ее помощью можно администрировать, т.е. добавлять новую и изменять существующую информацию. Приводится описание процесса разработки, методов управления и хранения данных.
Данная система является технологической платформой для создания и управления проектами (сайтами). Она позволяет создавать неограниченное число тематических сайтов, используя одни и те же файлы ядра системы и БД, изменению подлежат только файлы визуальной части. Платформа позволяет сократить расходы на сопровождение проекта, используя визуально понятный интерфейс управления статической и динамической информацией. Для управления проектом не требуется участия дополнительных специалистов, таких как дизайнер, верстальщик, программист и др.
Система управления сайтом/содержимым или CMS представляет собой инструмент для управления и вывода данных через браузер в трех режимах:
1. Пользовательский. Режим просмотра данных сайта для любых пользователей Интернета.
2. Административный. Режим редактирования и управления информацией/данными на сайте, который доступен после ввода администраторского логина/пароля.
3. Авторизованный. Режим персональных данных, доступный после регистрации на сайте и ввода логина/пароля. Данный режим включается в проект опционально, если требуется.
1. Технические особенности
Simplex написана на широко используемом языке программирования PHP и использует БД MySQL, а для визуализации данных HTML/CSS/JavaScript, что дает широкие возможности для доработок и развития системы. Файловая структура системы сделана по принципу модели MVC (Model, View, Controller), что позволяет разделить систему на три составляющие: модель, представление и управление. Такое представление делает понятным файловую структуру описываемой работы (табл. 1).
Существует много систем такого рода, но все они обладают рядом недостатков:
— тематические системы, т.е. системы для сайтов определенной тематики;
— сложны в понимании по управлению данными;
— сложны в установке и настройке;
— сложность в доработке нового функционала;
— недостаточная документированность;
— высокие требования на устанавливаемую платформу;
— недостаточная функциональность.
Работу настроенной системы можно изобразить в виде блок-схемы (рис. 1).
Таблица 1
Файловая структура Simplex
/admin/ Папка с общими файлами для администраторского интерфейса
../css/ Стили администраторского интерфейса
../img/ Картинки администраторского интерфейса
../js/ Вспомогательные JavaScript-cкрипты для администраторского интерфейса
../tpl/ Общие шаблоны администраторского интерфейса, выделение блоков, всплывающих окон и т.д.
../utils/ Дополнительные утилиты админки (файлы ckeditor).
../.htaccess Обработчик запросов к админке
../index.php Индексный файл админки, регистрирует авторизацию пользователя
/files/ Все загруженные файлы пользователями сайта, в т.ч. отмасштабированные под нужный размер картинки
../<fl8T8: yyyymmdd>/ Папка с датой сохранения файла
../../<BpeMa: hhmiss>/ Папка со временем сохранения файл
../../<file> Сохраненный файл. Русские символы в имени транслитерируется при загрузке
/includes/ Подключаемые файлы с вспомогательными функциями и настройками
../config.inc.php Конфигурационный файл системы
../core.inc.php Класс с общими функциями системы, которые может использовать каждый модуль. Например, отправка сообщения по почте функцией mail()
../db.inc.php Общий класс методов работы с БД
../db_config.ini Содержит настройки к БД
../defines.inc.php Константы системы
../functions.inc.php Общие глобальные функции системы (обычно мелкие функции, которые могут применяться в любом месте проекта)
../upload.inc.php Класс с методами работы для загрузки файлов с форм на сервер
/modules/ Папка со всеми модулями-блоками системы
../_main/ Общий класс обработчик запросов к системе
../../core.inc.php Получение информации о запрашиваемой странице и передача управления модулям, находящимся на ней
../../sql.inc.php Работа с БД
../<H83B8HMe MOflynH>/ Папка с файлами модуля
../../tpl/ Шаблоны модуля
../../../admin/ Шаблоны управления содержимым модуля, администраторский доступ
../../../ru/ Стандартные русскоязычные шаблоны модуля
../../core.inc.php Обработчик действий модуля
../../sql.inc.php Работа с БД (в основном с таблицами модуля)
/tpl/ Общие шаблоны сайта (пользовательская часть)
../<TeM8 C8MT8>/ Название папки шаблона (темы) для сайта, который задается в файле /incules/config.inc.php
../../css/ Папка с файлами стилей для текущего шаблона
../../images/ Папка с файлами картинок для текущего шаблона
../../js/ Папка с файлами скриптов для текущего шаблона
../../ru/ Папка с файлами шаблонов для русской версии
/ / /<MMH MOflynfl>/ Дополнительные шаблоны модуля. Из этой папки в шаблоны отображаются в первую очередь
../../../404.php Шаблон страницы 404 ошибки
../../../main.php Главный шаблон сайта с header и footer
../../../pager list.php Шаблон постраничной навигации
/.htaccess Файл первоначальной обработки запросов к системе
/index.php Индексный файл, через него идут все запросы (кроме запросов к картинкам, не скриптовым файлам, стилям и т.д.)
Рис. 1. Блок схема работы системы Simplex 2. Администрирование
Для входа в администраторский интерфейс необходимо авторизоваться (рис. 2).
SIMPLEX-admin
Рис. 2. Блок авторизации администратора системы
При этом появится всплывающее окно, где необходимо ввести логин и пароль администратора. Если данные введены корректно, то страница перезагружается и вверху страницы появляется строка администраторского интерфейса (рис. 3).
Ф Администрирование ’и' Редактирование Просмотр t Профиль 9 Выход
Рис. 3. Строка администраторского интерфейса
Практически вся информационная часть сайта состоит из редактируемых на странице блоков-модулей (контейнер с информацией, выводящейся по определенному шаблону и доступной для редактирования администратором). Это контейнер, содержащий информацию, выводящуюся по определенной схеме при помощи модулей системы. Это основное наполнение сайта информацией. Список этих блоков задается при установке системы и не подлежит изменению администратором, только программист может добавить новый модуль в список. Редактирование этих элементов доступно после авторизации на сайте в роле администратора, они выделены пунктирной линией. Существует два типа блоков-модулей: статичные и динамические.
1. Динамические блоки-модули.
Данные блоки могут быть добавлены на страницу администратором в любом количестве. Они могут быть отсортированы между собой и удалены/отключены при необходимости. Вот, некоторые из них.
— Строка навигации - выводит строку навигации сайта, начиная с «Главной» страницы.
— Каталог - блок информации с перечнем свойств: «Заголовок», «Описание», «Дата», «Файл».
— Контент - блок информации с функциями форматирования текста.
— Вопросы и ответы - блок информации с перечнем свойств: «Вопрос», «Ответ», «Дата».
— Картинка - блок содержащий вывод одной картинки.
— Форма связи - блок с возможностью отправки сообщения с сайта на указанный в его настройках E-mail.
— Новости - блок информации с перечнем свойств: «Заголовок», «Краткое описание», «Полное описание», «Дата», «Файл».
— Цитата - блок с текстовой информацией и ее автором.
— Карта сайта - список видимых разделов сайта.
— Подразделы - список подменю относительно текущей директории.
— Заголовок - блок заголовка страницы.
— Доп.меню - блок для вывода ссылок на существующие разделы сайта.
2. Статичные блоки-модули.
Это блоки с жестко зафиксированной позицией на странице. Их нельзя переместить или удалить, но можно редактировать содержащуюся информацию:
— Меню - блок основного меню сайта.
— Константа - блок со статичным текстом, который обычно выводится на всех страницах (например, контакты или копирайт).
— Корзина товаров - задает место расположения корзины, в которую попадают заказываемые пользователем товары.
— Профиль пользователя - содержит регистрацию/авторизацию и личный кабинет пользователя.
Заключение
Описываемая система позволяет решить большинство проблем, связанных с разработкой информационных сайтов, но не претендует на универсальную. Она проста как в понимании принципов ее разработки/доработки, так и в плане администрирования. Для последнего, пользователю не обязательно знать технические стороны данного вопроса, т.к. система имеет понятный интерфейс и адекватна в своих действиях. С другой стороны, пользователю предлагается полная документация как в самой системе для каждого модуля, так и в отдельном файле.
Работа выполнена при поддержке Министерства образования и науки РФ (НИР, проводимые в рамках государственного задания Министерства образования и науки РА на 2013 г., Программы стратегического развития УлГУ на 2012-2016 гг., Программы развития деятельности студенческих объединений УлГУ на 2012-2013 гг.).
Соловьев Михаил Михайлович - Mikhail M. Solovyev -
кандидат технических наук, старший научный Ph. D., Senior Research Fellow
сотрудник лаборатории моделирования медико- Laboratory of Modeling of Biomedical Objects
биологических объектов Ульяновского Ulyanovsk State University
государственного университета
Бутов Александр Александрович -
доктор физико-математических наук, профессор, заведующий кафедрой «Прикладная математика» Ульяновского государственного университета
Карев Михаил Андреевич -
аспирант, младший научный сотрудник студенческой лаборатории моделирования биологических объектов Ульяновского государственного университета
Alexander A. Butov -
Dr. Sc., Professor
Head: Department of Applied Mathematics Ulyanovsk State University
Mikhail A. Karev -
Postgraduate, Junior Researcher Laboratory for Modeling Biological Objects, Ulyanovsk State University
тя поступила в редакцию 17.10.13, принята к опубликованию