Здесь показаны различия между двумя версиями данной страницы.
startup_process [2013/10/29 11:05] |
startup_process [2019/06/24 20:29] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Краткое описание ====== | ||
+ | Данный документ содержит краткое описание функциональных возможностей и принципов организации надстроечной библиотеки, реализованной на функциональной базе [[http://ru.wikipedia.org/wiki/Фреймворк|фреймворка]] [[http://jquery.com/|jQuery]], обеспечивающей автоматизированную организацию работы интерактивных мультиформатных систем презентационного и учебного назначения. | ||
+ | ===== Структуры и процессы ===== | ||
+ | Принципы организации состава и структуры ресурса и последовательности организации процессов деятельности системы... | ||
+ | ==== Последовательность процессов при загрузке модуля ==== | ||
+ | Описание последовательности действия процессов начинается с момента загрузки начальной (HTML) страницы. | ||
+ | Для указания частного варианта использования применяется следующая форма: <code>Вариант использования</code> | ||
+ | * Загрузка содержимого HTML документа (происходит считывание браузером содержимого страницы): параллельно идет загрузка, указанных в документе HTML ссылочных файлов (CSS, javaScript). | ||
+ | * Активация "первичной функции": по окончании загрузки DOM HTML (при наличии встроенных медиаобъектов, при наличии первичной функции, активизация данной функции произойдет ранее, чем загрузка медиаобъектов), происходит активация "первичной функции". | ||
+ | <code javaScript> | ||
+ | // первичная функця: | ||
+ | $(document).ready(function() { | ||
+ | // Программный код, организующий начальную фазу загрузки модуля... | ||
+ | // ... | ||
+ | var src = "config.xml"; | ||
+ | // ... | ||
+ | }); | ||
+ | </code> | ||
+ | <note> Ключевой момент: var src = "config.xml"; - конфигурационный файл (находится в той же директории, что и HTML файл)</note> | ||
+ | |||
+ | * Основное назначение первичной функции - описание способа извлечения данных из конфигурационного файла и передача адреса конфигурационного файла объкту, отвечающему за асинхронную загрузку XML файлов. | ||
+ | |||
+ | <note>Для загрузки XML файорв существует объект **loader**, имеющий метод **getXMLDOM(resData)**, возвращающий DOM XML загруженного документа.</note> | ||
+ | |||
+ | * Дальнейшие действия связаны с извлечением информации из конфигурационного файла (//config.xml//): | ||
+ | |||
+ | <note>Ключевой момент: в файле "config.xml" дан адрес XML файла, содержащего описание совместно используемых данных (общие элементы интерфейса) и списка сцен модуля.</note> | ||
+ | Пример представления файла описания состава сцен модуля: | ||
+ | <code XML> | ||
+ | <setting element="steps"> | ||
+ | <location href="scene/lab.xml"/> | ||
+ | </setting> | ||
+ | </code> | ||
+ | * После того, как будет определен путь к XML файлу описания состава сцен модуля, происходит загрузка и разбор содержимого данного XML документа. | ||
+ | <note>Для разбора содержимого lab.xml (частный случай) существует объект **labwork_loader**, имеющий методы **loadLabwork** и **getNameFromStep**.</note> | ||
+ | <note>Метод **loadLabwork** содержит описание функции, отвечающей за извлечение совместно используемых данных (общие элементы интерфейса) и пересылку их для дальнейшей обработки объекту **design**, имеющему методы **composeNode(resObj)** и **composeLabXML**;</note> | ||
+ | <note important>В данном месте происходит распараллеливание процессов: загрузка и размещение в окне браузера общих элементов интерфейса (посредством объекта **design**) и организация сбора информации о сценах, входящих в состав модуля.</note> | ||
+ | Фрагмент lab.xml | ||
+ | <code XML> | ||
+ | <!-- картинка-подложка --> | ||
+ | <image id="bg" visible="true" enabled="false"> | ||
+ | <param x="0" y="0" src="../media/img/components/bg.jpg" depth="-50" hitArea="opaque"/> | ||
+ | </image> | ||
+ | <steps> | ||
+ | <!-- Введение--> | ||
+ | <step id="intro" src="intro.xml" type="information" resultCount="false"/> | ||
+ | <!-- ... --> | ||
+ | </steps> | ||
+ | </code> | ||
+ | |||
+ | * Визуальное представление общих элементов интерфейса модуля. | ||
+ | <note>За визуальное представление данных (включение медиаданных в состав DOM HTML) отвечает объект **design**, имеющий методы **composeNode(resObj)**, **composeLabXML** (подгрузка и разбор общих элементов, описанных в lab.XML). Подгрузка и разбор шагов: | ||
+ | **composeStepXML** (подгрузка и разбор элементов сцен, входящих в состав модуля) и др.</note> | ||
+ | * Сбор информации о сценах, входящих в состав модуля, упорядочивание данных и организация массива данных. | ||
+ | <note>Для организации данных в массив существует объект **navigation**, обладающий методом **putStep(step)**.</note> | ||
+ | * После того, как начальная информация о сценах будет обработана, происходит визуализация элементов, входящих в состав первой сцены. | ||
+ | <note>Данные, описывающие состав и структуру первой сцены (DOM XML), передаются для дальнейшей обработки объекту **design**, имеющему методы **composeNode(resObj)** и **composeStepXML**.</note> | ||