Инструменты пользователя

Инструменты сайта


startup_process

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

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>​