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).

 

Hosted by uCoz