====== Краткое описание ======
Данный документ содержит краткое описание функциональных возможностей и принципов организации надстроечной библиотеки, реализованной на функциональной базе [[http://ru.wikipedia.org/wiki/Фреймворк|фреймворка]] [[http://jquery.com/|jQuery]], обеспечивающей автоматизированную организацию работы интерактивных мультиформатных систем презентационного и учебного назначения.
===== Структуры и процессы =====
Принципы организации состава и структуры ресурса и последовательности организации процессов деятельности системы...
==== Последовательность процессов при загрузке модуля ====
Описание последовательности действия процессов начинается с момента загрузки начальной (HTML) страницы.
Для указания частного варианта использования применяется следующая форма: Вариант использования
* Загрузка содержимого HTML документа (происходит считывание браузером содержимого страницы): параллельно идет загрузка, указанных в документе HTML ссылочных файлов (CSS, javaScript).
* Активация "первичной функции": по окончании загрузки DOM HTML (при наличии встроенных медиаобъектов, при наличии первичной функции, активизация данной функции произойдет ранее, чем загрузка медиаобъектов), происходит активация "первичной функции".
// первичная функця:
$(document).ready(function() {
// Программный код, организующий начальную фазу загрузки модуля...
// ...
var src = "config.xml";
// ...
});
Ключевой момент: var src = "config.xml"; - конфигурационный файл (находится в той же директории, что и HTML файл)
* Основное назначение первичной функции - описание способа извлечения данных из конфигурационного файла и передача адреса конфигурационного файла объкту, отвечающему за асинхронную загрузку XML файлов.
Для загрузки XML файорв существует объект **loader**, имеющий метод **getXMLDOM(resData)**, возвращающий DOM XML загруженного документа.
* Дальнейшие действия связаны с извлечением информации из конфигурационного файла (//config.xml//):
Ключевой момент: в файле "config.xml" дан адрес XML файла, содержащего описание совместно используемых данных (общие элементы интерфейса) и списка сцен модуля.
Пример представления файла описания состава сцен модуля:
* После того, как будет определен путь к XML файлу описания состава сцен модуля, происходит загрузка и разбор содержимого данного XML документа.
Для разбора содержимого lab.xml (частный случай) существует объект **labwork_loader**, имеющий методы **loadLabwork** и **getNameFromStep**.
Метод **loadLabwork** содержит описание функции, отвечающей за извлечение совместно используемых данных (общие элементы интерфейса) и пересылку их для дальнейшей обработки объекту **design**, имеющему методы **composeNode(resObj)** и **composeLabXML**;
В данном месте происходит распараллеливание процессов: загрузка и размещение в окне браузера общих элементов интерфейса (посредством объекта **design**) и организация сбора информации о сценах, входящих в состав модуля.
Фрагмент lab.xml
* Визуальное представление общих элементов интерфейса модуля.
За визуальное представление данных (включение медиаданных в состав DOM HTML) отвечает объект **design**, имеющий методы **composeNode(resObj)**, **composeLabXML** (подгрузка и разбор общих элементов, описанных в lab.XML). Подгрузка и разбор шагов:
**composeStepXML** (подгрузка и разбор элементов сцен, входящих в состав модуля) и др.
* Сбор информации о сценах, входящих в состав модуля, упорядочивание данных и организация массива данных.
Для организации данных в массив существует объект **navigation**, обладающий методом **putStep(step)**.
* После того, как начальная информация о сценах будет обработана, происходит визуализация элементов, входящих в состав первой сцены.
Данные, описывающие состав и структуру первой сцены (DOM XML), передаются для дальнейшей обработки объекту **design**, имеющему методы **composeNode(resObj)** и **composeStepXML**.