====== Краткое описание ====== Данный документ содержит краткое описание функциональных возможностей и принципов организации надстроечной библиотеки, реализованной на функциональной базе [[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**.