34. Система
управления динамическим сайтом iPHPortal.
Система управления динамическим
сайтом iPHPortal (http://phportal.informika.ru) представляет дистрибутивный
набор (оболочку) для создания информационных динамических сайтов и порталов
образовательного профиля. В состав дистрибутива входит набор PHP-скриптов и
утилит, функционирующих вместе со свободно распространяемыми продуктами Apache,
PHP, MySQL, mnoGoSearch в среде UNIX (Linux, FreeBSD) или Microsoft Windows
Me/2000/XP. Система относится к классу свободно распространяемого программного
обеспечения c открытым исходным кодом.
Возможности системы
iPHPortal включает ядро, реализующее
базовый набор функциональных возможностей, и подключаемые модули, реализующие
дополнительные функциональные возможности. Пользовательский интерфейс системы
реализуется с использованием шаблонов.
Важной особенностью является возможность формирования библиотеки дополнительных
функциональных модулей, взаимодействующих с ядром системы по определенным
интерфейсам. В составе системы имеются утилиты, обеспечивающие возможность
выгрузки и подключения библиотечных модулей. При этом библиотечные модули
хранятся в виде XML-файлов, архивированных в формате ZIP. Каждый модуль
реализует определенную функциональность, административный (редакторский) и
пользовательский интерфейс с соответствующим набором шаблонов для формирования
HTML-страниц.
Основные возможности:
·
создание
и редактирование групп пользователей, назначение прав для групп пользователей;
·
аутентификация
пользователей;
·
формирование
и редактирование иерархической системы рубрик (разделов) сайта;
·
формирование
и редактирование одностраничных и многостраничных гипертекстовых материалов в
HTML-формате (книги, статьи, новости, вопросы и ответы) c помощью визуального
или текстового редактора, передача на сервер (upload) сопутствующих файлов
(иллюстрации, документы и т.п.), автоматическое и интерактивное формирование
атрибутов материалов (дата, автор, название, анонс, сопутствующие файлы
иллюстраций, отнесение к рубрикам, позиции рубрикаторов и т.д.);
·
администрирование
и редактирование интерактивов (отзывы, голосования, гостевые книги);
·
формирование
статических страниц материалов по контенту и шаблонам; выгрузка и загрузка
дополнительных модулей.
Архитектура системы
В системе сайт представляется в виде
дерева рубрик, при создании рубрики информация о ней записывается в БД и
создается директория на веб-сервере. Затем в этой рубрике можно разместить
материалы или модули (пользуясь административным интерфейсом), либо скопировать
туда сторонние скрипты. Для ускорения работы системы используется
"блочное" кэширование.
"Блочное" кэширование
заключается в том, что при каждом обращении страница сайта собирается
динамически из статических и динамических фрагментов. Материал предгенерируется
в файл на сервере, в котором блоки собираются и выводятся пользователю. В
докладе рассмотрены принципы кэширования, применяющиеся в других CMS.
Такой принцип кэширования позволяет
снизить нагрузку на сервер и уменьшить время отклика. Количество и организация
блоков на странице зависит от шаблона, по которому генерируется материал и
может изменяться в зависимости от дизайна сайта.
Модули системы
Система имеет модульную структуру.
Модуль представляет собой код, предназначенный для работы с определенной
сущностью. Модуль может использоваться в каком-то одном разделе (модуль
"Каталог образовательных ресурсов") или в нескольких разделах (модуль
"Форумы" может быть размещен в нескольких разделах).
Модуль поставляется в виде одного
XML-файла, файл создается автоматически при "экспортировании" модуля.
В XML-файл прописываются не только описания других файлов (классов,
обработчиков, шаблонов и т.д.), но и содержание файлов, закодированное в
формате base64. Затем этот файл автоматически архивируется для уменьшения
размера. Модульная структура позволяет создать библиотеку модулей для
использования на сайтах системы образовательных порталов. Наличие готовых решений
позволяет значительно снизить время и затраты на создание новых сайтов.
Разделение внешнего представления и
логики работы модуля реализуется c использованием паттерна
Model-View-Controller. Суть этого паттерна состоит в том, чтобы отделить
представление данных от доступа к ним. В паттерне выделяются три части системы:
model (модель), являющаяся абстрактным хранилищем данных, view (представление)
- абстрактный способ отображения информации клиенту и controller (контроллер) -
часть, реализующая взаимодействие между моделью и представлением
(бизнес-логику).
Отражение специфики образовательного
портала в iPHPortal
Неотъемлемым компонентом обеспечения
современной образовательной системы являются информационные ресурсы (ИР).
Каталог ИР и служба каталогизации относятся к ключевым компонентам
образовательного портала.
Совокупность центрального
образовательного портала и всех образовательных профильных порталов будем
называть федеральным образовательным порталом (ФОП) или просто образовательным
порталом. Разработанная система предназначена для развертывания профильных
порталов и важным ее качеством является возможность интеграции с центральным
порталом. Реализованы механизмы интеграции с центральным порталом посредством
экспорта мета описаний каталога информационно-образовательных ресурсов и
экспорта новостей посредством RSS (Really Simple Syndication).