МИНИСТЕРСТВО ЭКОНОМИЧЕСКОГО РАЗВИТИЯ И ТОРГОВЛИ РОССИЙСКОЙ ФЕДЕРАЦИИ «УТВЕРЖДАЮ» «УТВЕРЖДАЮ» Генеральный директор Общества с ограниченной ответственностью «Московские лаборатории экономики и технологии знаний» ______________ ______________А.А.Ахмеров «____» ____________2008 г. «____» ____________2008 г. АВТОМАТИЗИРОВАННАЯ ИНОРМАЦИОННАЯ СИСТЕМА ФОРМИРОВАНИЯ И ВЕДЕНИЯ РЕЕСТРА ОФИЦИАЛЬНЫХ САЙТОВ ГОСУДАРСТВЕННЫХ ОРГАНОВ (АИС РОСГО) РАБОЧАЯ ДОКУМЕНТАЦИЯ ОБЩЕЕ ОПИСАНИЕ СИСТЕМЫ «СОГЛАСОВАНО» От Заказчика «СОГЛАСОВАНО» От Исполнителя Руководитель проекта - заместитель генерального директора Общества с ограниченной ответственностью «Московские лаборатории экономики и технологии знаний» _____________________ Р.А. Ермаков Москва 2008 г. СОДЕРЖАНИЕ АВТОМАТИЗИРОВАННАЯ ИНОРМАЦИОННАЯ СИСТЕМА ФОРМИРОВАНИЯ И ВЕДЕНИЯ РЕЕСТРА ОФИЦИАЛЬНЫХ САЙТОВ ГОСУДАРСТВЕННЫХ ОРГАНОВ 1 НАЗНАЧЕНИЕ СИСТЕМЫ ..................................................................................................3 1. 1.1. Полное наименование системы и ее условное обозначение .....................................3 1.2. Вид деятельности, для автоматизации которой предназначена система .................3 1.3. Объект автоматизации ..................................................................................................4 1.4. Перечень функций, реализуемых системой ................................................................4 ОПИСАНИЕ СИСТЕМЫ ......................................................................................................9 2. 2.1. Структура системы ........................................................................................................9 2.2. Архитектура системы ..................................................................................................10 2.3. Компонентная модель системы ..................................................................................11 2.4. Сведения, необходимые для обеспечения эксплуатации системы .........................16 2.5. Описание функционирования системы .....................................................................27 ОПИСАНИЕ ВЗАИМОСВЯЗЕЙ С ДРУГИМИ СИСТЕМАМИ .....................................30 3. 3.1. Связанные системы .....................................................................................................30 ОПИСАНИЕ КОМПОНЕНТОВ..........................................................................................35 4. 4.1. Компонентная структура системы .............................................................................35 4.2. Состав и назначение компонентов системы .............................................................35 4.3. Внутримашинные информационные базы ................................................................40 АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 2 Дата Копировал Формат А4 1. НАЗНАЧЕНИЕ СИСТЕМЫ 1.1. Полное наименование системы и ее условное обозначение 1.1.1. Автоматизированная информационная система формирования и ведения реестра официальных сайтов государственных органов. Условное обозначение – АИС РОСГО. 1.2. Вид деятельности, для автоматизации которой предназначена система 1.2.1. Система предназначена для автоматизации информационного обеспечения и частичной автоматизации процессов, связанных с ведением реестра государственных услуг и обеспечения информационной поддержки населения, а также создание системы раскрытия информации из государственных информационных систем новой редакции ФЦП «Электронная Россия (2002 - 2010 годы)», утвержденной постановлением Правительства Российской Федерации от 15 августа 2006 г. № 502. 1.2.2. Целью выполнения проекта является создание механизмов, позволяющих выявлять факты нарушения действующего законодательства в части предоставления гражданам и организациям информации о деятельности государственных органов, а также привлечение общественного внимания к вопросам открытости и доступности информации о деятельности государственных органов, выражающихся: – в расширении возможности доступа граждан к информации для реализации своих конституционных прав, в том числе к сведениям о деятельности органов государственной власти; – в обеспечении оперативности и полноты контроля за результативностью деятельности органов государственной власти, повышение уровня подотчетности органов государственной власти гражданам. АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 3 Дата Копировал Формат А4 – в развитие систем информационно-справочной поддержки населения по вопросам получения государственных услуг; – в формирование системы требований к использованию информационных и коммуникационных технологий в государственном управлении; – в разработке комплекса стандартов в области проектирования, создания и внедрения государственных информационных систем; 1.2.3. Назначением системы является информационное обеспечение и частичная автоматизация процессов регистрации, хранения и предоставления доступа к реестру государственных услуг для обеспечения информационной поддержки населения, а также исполнения сопутствующих задач (хранение и предоставление доступа к контролируемым словарям и классификаторам), методической и информационной поддержки разработчиков, поставщиков и пользователей информационных систем. 1.2.4. Область применения системы – государственное регулирование информационных технологий и раскрытие информации о деятельности государственных органов в сети Интернет. 1.3. Объект автоматизации Объектом автоматизации является деятельность ведения реестра официальных сайтов государственных органов. 1.4. Перечень функций, реализуемых системой Функции системы сгруппированы по комплексам задач – функциональным подсистемам. АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 4 Дата Копировал Формат А4 1.4.1. Подсистема главного портального приложения, обеспечивающая общий контекст для функционирования компонентов системы, базовые средства для построения веб-интерфейсов и навигации между ними, средства централизованной аутентификации и авторизации пользователей, управления учетными записями. Кроме того, в состав приложения включены средства для управления информационным наполнением (контентом системы), в т.ч. справочной и методической информацией, а также выполнения внерегламентных взаимодействий с гражданами и организациями – пользователями системы (общественных обсуждений, совместной работы с документами и т.п.). 1.4.2. Подсистема реестра официальных сайтов, обеспечивающая регистрацию, хранение и предоставление пользователям информации об являющихся объектами мониторинга официальных сайтов государственных органов, включая поиск официальных сайтов в реестре по реквизитам, просмотр выборок из реестра по разделам утвержденной классификации, в т.ч. с учетом текущего статуса документов в регламенте мониторинга, а также статусов и результатов мониторинга по состоянию на указанную пользователем дату. Предусматривает разделение доступа пользователей по составу доступной информации о сайтах и результатах мониторинга в зависимости от роли пользователя и стадии регламента мониторинга с использованием выбираемых администратором XSL-представлений. Обеспечивает запуск процедур регулярного мониторинга в соответствии с заданным регламентом, задания (корректировки) администратором XML-шаблона описания официального сайта, перечня реквизитов метаданных и содержания используемых классификаторов. 1.4.3. Подсистема обеспечения регулярного обследования (мониторинга) соответствия официальных сайтов государственных органов требованиям законодательства, включающая несколько стадий обследования: АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 5 Дата Копировал Формат А4 формирование плана (администратором). (расписания) Автоматическую мониторинга генерацию и руководителем отправку назначенным экспертам опросных листов (анкет) в соответствии с формами. Поддержку работы экспертов (заполнения опросных листов, хранение промежуточных результатов, обсуждение рабочих вопросов с использованием системы форумов, вызов сервисов автоматизированной оценки). Автоматическое формирование агрегированного отчета на основании данных опросных листов в соответствии с разработанной методикой. Автоматизированное формирование и занесение в реестр сайтов отчетных показателей. Формы анкет и сценарии анкетирования задаются разработанными XML- шаблонами, предусматривающими возможность формирования многостраничных вебформ с произвольными видами вопросов (селекторы, матрицы, свободный ввод и др.) и задания логики переходов между страницами и вопросами в зависимости от предшествующих ответов. 1.4.4. Подсистема автоматизированного мониторинга, включающая комплекс технических сервисов: Сервис валидации веб-интерфейсов, обеспечивающий контроль соответствия предоставляемых официальными сайтами HTML-страниц требованиям стандартизованных спецификаций (HTML, CSS и др.) с использованием рекомендованных консорциумом W3C программ-валидаторов, а также контроль иных параметров доступности, для которых в соответствии с разрабатываемой по п. 2 методикой мониторинга будут предусмотрены автоматизированные процедуры оценки. Предусмотрена возможность использования данного сервиса по запросам АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 6 Дата Копировал Формат А4 экспертов через веб-интерфейс системы в ходе заполнения оценочных листов (анкет), а также предоставление его (в ограниченном во избежание злоупотреблений объеме) иным пользователям для самостоятельной оценки соответствия сайтов требованиям. Сервис контроля доступности зарегистрированных в реестре сайтов путем их автоматического по заданному администраторами системы расписанию с регистрацией результатов опроса (в т.ч. копий указанных HTML-страниц). Данные мониторинга будут предоставляться экспертам, а также иным посетителям сайта, в т.ч. с использованием средств графической визуализации (диаграмм и графиков доступности). 1.4.5. Подсистема раскрытия информации реестра, обеспечивает динамическое формирование страниц сайта реестра, в т.ч.: Предоставление единого веб-интерфейса с системой меню и иных элементов базовой навигации для регламентированного доступа к размещенной в АИС информации (документам и иным информационным объектам) анонимных и зарегистрированных пользователей; Поиск опубликованной информации по заданному фрагменту текста или слову, расширенный поиск по атрибутам опубликованных документов и иных информационных объектов системы. Публикацию автоматически формируемых отчетов по результатам с комментариями экспертов и редакторов сайтов (в т.ч. в формате PDF) с применением средств визуализации данных (диаграмм и графиков). АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 7 Дата Копировал Формат А4 Отображение динамически формируемых по заданным правилам графиков (диаграмм), наглядно отображающих результаты мониторинга официальных сайтов, а также различных видов рейтингов анализируемых сайтов. Поддержку произвольных древовидных классификаторов публикуемых документов (информационных объектов) с возможностью привязки к документу любого количества классификаций одновременно. Публикацию новостей, информационных статей, сопутствующих и рабочих материалов, а также нормативно-технических документов с поддержкой настраиваемых административных регламентов редакционной подготовки и утверждения. Поддержку вложения в публикуемые документы файлов, в т.ч. в форматах распространенных офисных пакетов (текстовых процессоров) с автоматическим преобразованием форматов по запросу пользователей (ODF, MS Office .doc, PDF). Поддержку процедур общественного обсуждения опубликованных документов (в виде комментариев к конкретным документам и в виде электронной конференции – форума с произвольной классификацией по тематике обсуждений) с возможностью администрирования (модерирования) дискуссий. Представление опубликованных на портале информационных объектов через машинно-машинный интерфейс на базе сервис-ориентированной архитектуры (по протоколу SOAP) и в виде RSS-потоков; Публикацию на сайте информации из определяемых администратором внешних RSS-потоков. Проведение простых веб-опросов (голосований). АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 8 Дата Копировал Формат А4 2. ОПИСАНИЕ СИСТЕМЫ 2.1. Структура системы 2.1.1. Система функционирует по клиент-серверной схеме со стандартным тонким клиентом. Основные данные и программное обеспечение системы размещается на серверном программно-техническом комплексе, далее именуемом «серверной частью системы». В состав поставки системы входят: 2.1.1.1. специальное программное обеспечение, разрабатываемое Исполнителем; 2.1.1.2. информационное обеспечение в виде первоначального набора данных (электронных регламентов, форм документов, справочных материалов, стандартов и спецификаций, реестра сайтов) – контента АИС реестра официальных сайтов государственных органов. Информационное наполнение системы осуществляется на этапе опытной эксплуатации системы. 2.1.1.3. Организационно-методическое обеспечение, нормативная и рабочая документация. 2.1.2. Для функционирования системы необходимы следующие дополнительные виды обеспечения: 2.1.2.1. общее программное обеспечение. Требования к составу общего программного обеспечения приведены в подразделе 2.3.1, п. 2.4.1. 2.1.2.2. средства технического обеспечения системы, включающие центральный сервер, телекоммуникационное оборудование, персональные компьютеры (АРМ) персонала системы. Требования к составу общего программного обеспечения приведены в подразделе 2.3.1, п. 2.4.3. АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 9 Дата Копировал Формат А4 2.1.2.3. программно-техническое обеспечение автоматизированных рабочих мест (АРМ) пользователей (персонала) на базе персональных компьютеров, оснащенных произвольным клиентским приложением - веб-браузером, поддерживающее спецификации HTTP 1.1, HTML 4.0. XHTML 1.0, CSS 2, JavaScript 1.3. Пользователь подключается и работает с системой через информационные сети общего пользования (Интернет), функционирующие на основе стека протоколов TCP/IP. HTML-код и иные пересылаемые на клиентскую сторону компоненты системы разрабатывались и тестировались на совместимость со следующими наиболее распространенными реализациями клиентских приложений: - Microsoft Internet Explorer (MSIE) версии 6.0 и выше. - Mozilla Firefox версии 2.0 и выше. 2.2. Архитектура системы 2.2.1. С архитектурной точки зрения система построена на основе модульной многоуровневой архитектуры. В системе выделяются четыре основных уровня: уровень представления, уровень бизнес-логики, уровень сервисов и уровень хранилища (см. рис. 1). Представление XSLT Формирование пользовательског о интерфейса (html) Бизнес-логика Сервисы Хранилище Portlets, Web Services, Servlets EJB JDBC Реализация бизнес-логики и взаимодействие с внешними системами Не сохраняющие состояние сессионные EJBкомпоненты СУБД Может быть размещено на другом сервере Рисунок 1. Архитектура АИС реестр официальных сайтов государственных органов АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 10 Дата Копировал Формат А4 2.2.2. Уровень хранилища обеспечивает хранение данных системы в реляционной СУБД, которая, в зависимости от требований масштабируемости, может быть как локальной, так и удалённой. Данный уровень взаимодействует только с уровнем сервисов. 2.2.3. Уровень сервисов скрывает от приложения детали и способ хранения информации, предоставляя методы доступа к данным и структурам. Он взаимодействует с уровнем хранилища для получения и изменения данных. Этот уровень реализован с использованием не сохраняющих состояние сессионных EJB-компонентов. 2.2.4. Уровень бизнес-логики реализован с помощью портлетов, веб-сервисов и сервлетов, обеспечивая формирование данных и обработку пользовательских запросов. 2.2.5. Уровень представления системы формирует пользовательский интерфейс на основе данных, сформированных уровнем бизнес-логики. Уровень реализован с использованием множества XSL-трансформеров. 2.3. Компонентная модель системы 2.3.1. Программное обеспечение системы строится по модульному принципу с разделением функций по компонентам. В состав компонентов входят: 2.3.1.1. J2EE-сервер. Обеспечивает работу базовых подсистем, сервисов и приложений портала, их взаимодействие на различных этапах жизненного цикла. Состав: - Сервер приложений - Главное портальное приложение - Подсистема реестра официальных сайтов АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 11 Дата Копировал Формат А4 - Подсистема обеспечения регулярного обследования (мониторинга) - Подсистема автоматизированного мониторинга - Подсистема раскрытия информации реестра Взаимосвязь с другими компонентами: - через JDBC связан с сервером баз данных; - через HTTP (SOAP, RSS) связан с внешними источниками данных Способ реализации: JBoss 4.0.5 в качестве J2EE-контейнера и совокупность сервисов (war, jar) портала, работающих под его управлением. 2.3.1.2. Сервер приложений. Включает в себя портлет-контейнер (ExoPortal 1.1.2), обеспечивающий функционирование портлетов и аутентификацию пользователей портала. Кроме того, в состав сервера приложений входит модуль поддержки SOAPпротокола. 2.3.1.3. Главное портальное приложение. Включает в себя базовые портлеты и сервисы портала, обеспечивающие управление и отображение основных объектов портала (документов, статических элементов интерфейса и пр.), управление учетными записями пользователей и их ролями. Кроме того, обеспечивает размещение, поиск, извлечение и изменение хранящихся в БД портала документов и метаданных, их привязку к разделам классификаторов. 2.3.1.4. Подсистема реестра официальных сайтов, обеспечивает регистрацию, хранение и предоставление пользователям информации об являющихся объектами мониторинга официальных сайтов государственных органов, включая поиск официальных сайтов в реестре по реквизитам, просмотр выборок из реестра по разделам утвержденной классификации, в т.ч. с учетом текущего статуса документов в регламенте мониторинга, а также АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 12 Дата Копировал Формат А4 статусов и результатов мониторинга по состоянию на указанную пользователем дату. Частью подсистемы регламентов является сервис журналирования операций, позволяющий фиксировать информацию о типе совершаемой операции, моменте времени, в который она совершается, а так же пользователе системы и объекте, по отношению к которому выполняется действие. Средства удаления или редактирования записей журнала операций в системе отсутствуют, что обеспечивает неизменяемость данных журнала. Действия по фиксированию операций с объектами ИС определяются электронными регламентами этих объектов. 2.3.1.5. Подсистема обеспечения регулярного обследования (мониторинга) соответствия, формирует план (расписание) мониторинга руководителем (администратором), автоматическую генерацию и отправку назначенным экспертам опросных листов (анкет) в соответствии с формами, разработанным в рамках работ. Поддержку работы экспертов (заполнения опросных листов, хранение промежуточных результатов, обсуждение рабочих вопросов с использованием системы форумов, вызов сервисов автоматизированной оценки), а также автоматическое формирование агрегированного отчета на основании данных опросных листов в соответствии с разработанной методикой. Автоматизированное формирование и занесение в реестр сайтов отчетных показателей. Формы анкет и сценарии анкетирования задаются разрабатываемыми исполнителем XML-шаблонами, предусмотрена возможность формирования многостраничных веб-форм с произвольными видами вопросов (селекторы, матрицы, свободный ввод и др.) и задания логики переходов между страницами и вопросами в зависимости от предшествующих ответов. 2.3.1.6. Подсистему автоматизированного мониторинга соответствия официальных сайтов. Позволяет создавать сервис контроля доступности зарегистрированных в реестре сайтов путем их автоматического по заданному администраторами системы расписанию с регистрацией результатов опроса. Подсистема включает в себя: АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 13 Дата Копировал Формат А4 – Сервисы: o Сервис валидации веб-интерфейсов, обеспечивающий контроль соответствия предоставляемых официальными сайтами HTML-страниц. o Сервис подбора зарегистрированных сайтов на основе пользовательского XML o Сервис межмашинного взаимодействия для поиска и получения обмена данными o Автоматизированные процедуры оценки и контроль иных параметров доступности. – Веб-приложение: o Портлет реестр официальных сайтов органов государственной власти o Портлет аналитические обзоры o Портлет нормативные и методические документы o Портлет карточка сайтов, редактирования и просмотра типов данных «Описание сайта». o – Портлет отчеты о мониторинге Информационное обеспечение Способ реализации: портлеты веб-приложения помещены в war-файл, сервисы реализованы в виде Session EJB и помещены в JAR-файлы. 2.3.1.7. Сервер баз данных. Позволяет создавать, использовать и администрировать базы данных. Взаимосвязь с другими компонентами: через JDBC связан с сервером J2EE. АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 14 Дата Копировал Формат А4 Способ реализации: SQL-92-совеместимая СУБД, например, PostgreSQL 8.0. АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 15 Дата Копировал Формат А4 2.4. Сведения, необходимые для обеспечения эксплуатации системы 2.4.1. Состав общего программного обеспечения (ОПО) серверной части системы, функции и специальные требования к настройкам приведены в табл. 1. Порядок установки и настройки общего программного обеспечения приводится в Руководстве системного администратора, разрабатываемом в составе пакета рабочей документации. Таблица 1. Общее программное обеспечение системы Назначение (комплекс задач) ком- Используемый программный продукт, версия, понента общего программного условия поставки (вид лицензии, источник) обеспечения Виртуальная машина Java (интер- Продукт: претатор байт-кода, библиотека базовых классов) Java Virtual Machine Версия: J2SE 1.4.2_08 SDK Вид лицензии: Binary Code License Agreement Производитель: Sun Microsystems, http://java.sun.com/ Сервер приложений, реализующий Продукт: JBoss спецификацию J2EE Версия: 4.0.5 Вид лицензии: LGPL (Lesser General Public License) Производитель: JBoss Inc. (http://www.jboss.org/) АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 16 Дата Копировал Формат А4 Портальная платформа (реализация Продукт: Exo Portal спецификации JSR168) Версия: 1.1.2 Вид лицензии: GNU GPL Производитель: The eXo Platform SARL, http://www.exoplatform.com/ Сервер РСУБД Продукт: PostgreSQL Версия: 8.0.4 Вид лицензии: BSD License Производитель: The PostgreSQL Global Development Group, http://www.postgresql.org/ 2.4.2. В качестве дополнительных и вспомогательных средств общего программного обеспечения (в т.ч. используемых для настройки, диагностики, обслуживания, обеспечения процесса опытной эксплуатации) рекомендуется использование программных продуктов, перечисленных в табл. 2. Системный администратор (или иной уполномоченный обслуживающий персонал) может принимать решения по изменению (в т.ч. расширению и сокращению) состава вспомогательного ПО исходя их фактических условий эксплуатации АИС. Таблица 2. Вспомогательные и инструментальные программные средства Назначение инструмен- Рекомендуемый программ- Примечания, указания по тального компонента ный продукт, условия по- применимым нормативам ставки (вид лицензии, ис- и регламентам точник). Возможные альтернативы. АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 17 Дата Копировал Формат А4 Резервное копирование Система автоматизирован- Способна работать с ис- ного резервного копирова- пользованием любого ленния AFBackup 3.3.8 точного накопителя Вид лицензии: GNU GPL Производитель: http://afbackup.sf.net/ АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 18 Дата Копировал Формат А4 2.4.3. Требования к средствам технического обеспечения серверной части системы приведены в табл. 3. Таблица 3. Средства технического обеспечения серверной части Характеристика Минимальные требования Рекомендуемые параметры Серверная платформа IA-32 IA-32 Процессор Pentium IV 3.0ГГЦ с под- 2 x Intel Xeon 3.0 GHz Оперативная память держкой технологии HT (512Kb, 533MHz) BOX 1024Мб pc3200 4 x DIMM DDR266 1024Mb регистровая ECC Материнская плата Материнская плата на чип- Intel System Board сете i865 или i875, с под- SE7501CW2 (до двух ЦП держкой двухканальной ар- Xeon, до 8Гбайт ОЗУ, двуххитектуры доступа к памя- канальная архитектура доти, технологии HyperThread- ступа к памяти, две интеing и возможностью уста- грированных сетевых карты новки до 2Гб ОЗУ Intel PRO/100+ и PRO/1000, интегрированная видеокарта ATI RAGE XL) Дисковая подсистема не менее 100 Гбайт свобод- 2 x 160 Gb WD Caviar ного дискового простран- WD1600PB 7200rpm ства, скорость обмена с кон- 2 x 60 Gb Maxtor Diaтроллером не ниже 500 mondMax Plus 9 7200rpm Мбит/сек, RAID-5 АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 19 Дата Копировал Формат А4 Сетевой интерфейс Полоса пропускания не ни- Интегрированние на матеже 100Мбит/сек ринской плате сетевые карты Intel PRO/100+ и PRO/1000, Корпус ATX-II, обеспечивающий Intel Server Chassis SC5250E электропитание и вентиля- (KPTBASE450BLK) цию компонентов в соответствии с требованиями их разработчиков. Источник бесперебойного Обеспечивающий поддерж- APC Smart UPS 700 VA питания ку работы сервера в течение (SU700INET) не менее чем 30 минут. Средства резервного копи- Обеспечивающие разовое HP surestore ultrium 230 рования рабочей сохранение всей информации системы на одном съемном носителе. Канал связи 256кБит 256кБит 2.4.4. Приведенные в п. 2.4.3 характеристики технических средств определены из расчета размещения всех компонентов общего и специального программного обеспечения системы на одном физическом сервере. С целью повышения производительности системы допускается размещать структурные компоненты, перечисленные в табл. 4, на различных физических серверах, расположенных в пределах одного защищаемого сегмента локальной сети и объединенных локальной сетью с полосой пропускания не ниже 100Мбит. Требования к параметрам средств технического обеспечения (серверов), используемых АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 20 Дата Копировал Формат А4 для размещения компонентов, в этом случае определяются в соответствии с указаниями разработчика (поставщика) соответствующих средств общего программного обеспечения. Таблица 4. Организация межкомпонентного взаимодействия Наименование компонента Связанные компоненты. Способы организации межкомпонентного взаимодействия (протоколы, регламенты) Примечания, доп. указания по организации межкомпонентного взаимодействия. Сервер баз данных. Взаимо- J2EE-сервер действие производится посредством JDBC Сервер баз данных J2EE-сервер. Взаимодей- Инициация взаимодействия ствие производится посред- производится только приством JDBC ложениями, под работающими управлением J2EE- сервера 2.4.5. Технические средства должны размещаться на специальной технологической площадке, спроектированной в соответствии с действующими строительными нормами для машинных залов ЭВМ и удовлетворяющей следующим требованиям: 2.4.5.1. Помещение площадки должно быть оборудовано системами пожарной и охранной сигнализации и средствами физического ограничения доступа в помещение. 2.4.5.2. На площадке должна быть предусмотрена система промышленного кондиционирования, обеспечивающая параметры окружающей среды не хуже, чем установлены в ГОСТ 15150-69 для исполнения УХЛ, категория размещения 4 (закрытые отапливаемые помещения с искусственно регулируемыми климатическими условиями). со следующими дополнительными ограничениями АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 21 Дата Копировал Формат А4 - рабочее значение температуры окружающего воздуха от 10 до 35 С0, предельное верхнее значение для СВТ - 40 С0, предельное нижнее значение – 3 С0, возможное изменение температуры с темпом 5 С0/ час - верхний предел относительной влажности - до 65% при температуре, равной 20 С (согласно нормам проектирования ВСН 60-89 пункт 4.10.7); - Содержание пыли в помещении - не более 0,75 мг/м3 (согласно нормам СН 51278). 2.4.5.3. Система вентиляции должна создавать в помещении серверного ПТК избыточное давление, а её производительность должна обеспечивать минимум однократную полную смену воздуха в час. Превышение притока над вытяжкой должно составлять 20% (согласно нормам РД 45.120-2000, пункт 17.30). 2.4.5.4. Площадь помещений технологической площадки должна быть достаточной для размещения всего технического обеспечения системы, а также рабочих мест обслуживающего персонала. Основное техническое обеспечение системы должно размещаться в специализированных шкафах (стойках) с монтажным размером 19". Силовая и сигнальная электропроводка должна размещаться в специальных коробах (настенных, потолочных и т.п.), обеспечивающих возможность доступа к ней для ремонта и перекоммутации. 2.4.5.5. Первичным источником электропитания всех технических средств системы, включая средства представления информации, должна являться трехфазная сеть переменного тока напряжением 380/220 В частотой 50 Гц с глухозаземленной нейтралью. Электроснабжение помещений серверной части системы должно быть выполнено по первой категории надежности. АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 22 Дата Копировал Формат А4 2.4.6. Для электропитания устройств ПТК должны использоваться агрегаты бесперебойного питания, входящие в состав поставки системы и позволяющие вести оперативный контроль за состоянием системы электропитания ПТК. 2.4.7. Соответствие площадки вышеуказанным требованиям к условиям размещения системы должна обеспечивать эксплуатирующая организация. 2.4.8. В качестве АРМ пользователя (персонала) системы рекомендуется использовать персональный компьютер с характеристиками не хуже, чем P-III/800 Мгц/128 Мб ОЗУ/видеоадаптер 1024х768х16 bit, оснащенный одним из следующих веб-браузером: - Microsoft Internet Explorer (MSIE) версии 6.0 и выше. - Mozilla Firefox версии 2.0 и выше. Допускается использование аналогичного по производительности и функциональным возможностям программно-технический комплекс, реализующий работу в графическом режиме и обеспечивающий полную поддержку спецификаций HTTP 4.0, CSS 2, JavaScript 1.3. При использовании браузеров, отличных от рекомендованных в рабочей документации, допускаются незначительные отклонения в отображении отдельных элементов страниц портала и работе загружаемых сценариев, не влияющие на логику функционирования серверной части и связанные с особенностями и ошибками в реализации протоколов и спецификаций на уровне конкретного браузера. 2.4.9. Обслуживающий персонал системы включает: 2.4.9.1. системного администратора, выполняющего регламентные работы по обслуживанию системы, настройку систему в случае изменения сетевой среды, в которой она функционирует, принятие экстренных мер в случае отказов и восстановление работоспособности системы в случае повреждения ее программного обеспечения и данных; АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 23 Дата Копировал Формат А4 2.4.9.2. техника, обеспечивающего текущее обслуживание средств технического и телекоммуникационного обеспечения системы и устранение его отказов в случаях, допускаемых инструкциями по эксплуатации технических средств, выпущенными их производителями. 2.4.9.3. администратора безопасности, обеспечивающего обслуживание средств информационной безопасности и выполнение регламентных работ по противодействию несанкционированному доступу. 2.4.10. Квалификация обслуживающего персонала должна соответствовать требованиям, устанавливаемым производителем средств технического и общесистемного программного обеспечения, используемого на серверной части системы. Обслуживающий персонал должен иметь профильное высшее или специальное образование и опыт работы с аналогичными по составу обеспечения системами не менее 1 года. Нормы рабочего времени обслуживающего персонала рекомендуется определять на основании нормативов, приведенных в Постановлении Минтруда России № 28 от 23 июля 1998 г. «Об утверждении межотраслевых типовых норм времени на работы по сервисному обслуживанию персональных электронно-вычислительных машин и организационной техники и сопровождению программных средств». Состав регламентных работ должен быть определен в технологических инструкциях, разрабатываемых на стадии «Рабочая документация». Допускается совмещение обязанностей обслуживающего персонала, а также использование одного и того же персонала для обслуживания нескольких систем на сходной технологической базе и расположенных на одной технологической площадке. При этом общее количество и режим работы обслуживающего персонала должны обеспечивать непрерывное круглосуточное обслуживание системы (путем организации трехсменной работы). Условия сменной работы определяются в соответствии с КЗОТ. АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 24 Дата Копировал Формат А4 2.4.11. Деятельность персонала и обслуживающего персонала системы по ее технической эксплуатации регламентируется следующими документами, разрабатываемыми на стадии «Рабочая документация»: 2.4.11.1. Руководство системного администратора АИС реестр официальных сайтов государственных органов; 2.4.11.2. Руководство пользователя АИС реестр официальных сайтов государственных органов (допускается разбивка руководства на части в соответствии с ролевой моделью пользователей); 2.4.11.3. Технологическая инструкция по регламентным операциям обслуживания (резервное копирование, диагностика, настройка). Содержание эксплуатационных документов регламентируется РД 50-34.698-90 «Автоматизированные системы. Требования к содержанию документов». Комплект документации на систему может дополняться руководствами и инструкциями по эксплуатации, поставляемыми разработчиками и изготовителями средств общего программного и технического обеспечения системы. 2.4.12. Квалификационные требования к пользователям АИС реестр официальных сайтов государственных органов не регламентируются. Максимальная численность зарегистрированных пользователей системы может составлять до 100 тыс. человек. Число пользователей, одновременно работающих с системой определяется параметрами производительности используемого технического оборудования и арендуемых каналов связи и может масштабироваться по мере необходимости путем замены оборудования на более мощное. С точки зрения организации доступа к системе выделяются следующие группы пользователей: АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 25 Дата Копировал Формат А4 2.4.12.1. не зарегистрированные (анонимные) пользователи. Имеют доступ ко всем информационным разделам и сервисам АИС реестр официальных сайтов государственных органов. Не имеют возможности персонализации настроек портала и модификации его содержимого. 2.4.12.2. зарегистрированные пользователи. Имеют возможность персонализации настроек АИС реестр официальных сайтов государственных органов. Зарегистрированным пользователям могут присваиваться роли, обеспечивающие доступ к административным функциям АИС реестр официальных сайтов государственных органов. АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 26 Дата Копировал Формат А4 2.5. Описание функционирования системы При условии регулярного регламентного обслуживания и мониторинга параметров работы, система обеспечивает длительно-непрерывное, круглосуточное функционирование в пользовательском, административном и наладочном режимах. При переходе в наладочный режим допускается полная или частичная приостановка работы системы в пользовательском и административном режимах. 2.5.1. Пользовательский режим является основным рабочим режимом. В нем осуществляются следующие операции, функции и группы функций системы: доступ к документам и иной прикладной информации, размещенной в системе в соответствии с ее назначением; регистрация пользователей для получения доступа к регламентным функциям системы в рамках ролевой модели; выполнение зарегистрированными пользователями регламентных операций с документами и иной информацией в рамках автоматизируемых системой процессов в рамках назначенной пользователю роли; настройка пользователем персональных предпочтений отображения информации в веб-интерфейсах портального приложения. Доступ к функциям пользовательского режима осуществляется исключительно через вебинтерфейс. 2.5.2. В режиме администрирования осуществляются следующие операции, функции и группы функций системы: управление ролевой моделью и системой прав пользователей, назначение ролей пользователям, добавление, удаление и блокировка учетных записей пользователей; управление общей структурой страниц веб-интерфейсов системы; АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 27 Дата Копировал Формат А4 управление взаимным расположением компонентов веб-интерфейса для всех пользователей системы; редактирование справочников, контролируемых словарей и иных общесистемных информационных ресурсов; модификация регламентов выполнения отдельных функций системы. 2.5.3. В наладочном режиме осуществляются следующие операции, функции и группы функций системы: пуск, останов и перезапуск системы; установка (деплоймент) новых или доработанных компонентов системы; модификация общесистемных ресурсов (базовых шаблонов, файлов стилей, графических элементов дизайна) выполнение регламентных операций по обслуживанию прикладной программной платформы (резервное копирование данных, антивирусное сканирование и т.п.) настройка общих параметров прикладной программной платформы и сетевого окружения. 2.5.4. Диагностирование системы осуществляется путем анализа записей в системных журналах СУБД, веб-сервера, сервера приложений и операционной системы, а также с помощью встроенных средств диагностирования общего программного обеспечения системы. Диагностированию подлежат: 2.5.4.1. отклонения от заданных параметров быстродействия системы; 2.5.4.2. ошибки протокола HTTP; 2.5.4.3. случаи аварийных остановов и самопроизвольной перезагрузки программного обеспечения; АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 28 Дата Копировал Формат А4 2.5.4.4. случаи нарушений целостности баз данных и файловой системы; 2.5.4.5. исключительные ситуации, генерируемые Java-компонентами; 2.5.4.6. сбои при выполнении регламентных операций резервного копирования. 2.5.5. Для предоставления зарегистрированному пользователю дополнительных прав, в том числе прав доступа к функциям персонала, ему могут присваиваться следующие функциональные роли (в любых сочетаниях): 2.5.5.1. Корректоров. Имеют возможность вносить изменения в предлагаемые для публикации документы, принимать решение о направлении документа редактору для принятия окончательного решения о публикации или возвращать документ автору на доработку. 2.5.5.2. Редакторов. Имеют возможность вносить изменения в предлагаемые для публикации документы, разрешать их публикацию для всеобщего обозрения, снимать объекты с публикации, прекращать внерегламентное обсуждение опубликованного документа, управлять структурой классификаторов системы. 2.5.5.3. Авторов. Имеют возможность осуществлять загрузку в библиотеку документов определенных типов в виде XML-файлов, создание новых документов с использованием формы в веб-интерфейсе, а так же произвольных файлов (иллюстраций, приложений) с привязкой к созданному или загруженному документу, просматривать список загруженных ранее документов, добавлять метаописания к созданным документам, редактировать и удалять загруженные документы. 2.5.6. Все документы, хранящиеся и обрабатываемые системой существуют в рамках типового процесса обработки – жизненного цикла (ЖЦ) объекта, обеспечиваемого подсистемой электронных регламентов. Особенности жизненных циклов для различных типов объектов описываются с помощью XML-документов. АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 29 Дата Копировал Формат А4 3. ОПИСАНИЕ ВЗАИМОСВЯЗЕЙ С ДРУГИМИ СИСТЕМАМИ 3.1. Связанные системы 3.1.1. Система предусматривает потенциальную возможность взаимодействия с системами смежных ведомств, межведомственными системами и системами организаций, осуществляющих доступ к документам, опубликованным в АИС РОСГО, с целью получения информации из этих документов. Для взаимодействия со смежными системами используются стандартизованные спецификации и протоколы информационного обмена UDDI, SOAP, WDSL, XML, RSS. 3.1.2. Взаимодействие с системами смежных ведомств, межведомственными системами и системами организаций, осуществляющие регламентный доступ к документам, хранящимся в АИС РОСГО, осуществляется на уровне обмена XML-представлениями документов, хранящихся в информационной системе. Обмен производится по протоколу SOAP, в качестве протокола транспортного уровня используется HTTP. Выгрузка опубликованных документов инициируется системой-получателем. Взаимодействие со смежными системами осуществляется с использованием UDDI-сервера. 3.1.3. Описание функционирования веб-сервисов, на основе которого строится взаимодействие со смежными системами, приведено ниже. 3.1.3.1. Сервис получения опубликованных документов Назначение Сервис предназначен для предоставления доступа к зарегистрированным в АИС описаниям сайтов, рейтингам, НПА и аналитической информации. Размещение http://адрес ИС/core/ws/documents Реализуемые функции: АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 30 Дата Копировал Формат А4 Функция getDocumentsList Функция обеспечивает получение краткой информации об опубликованных доку- ментах заданного типа. Входные параметры: № 1 Имя поля min-date Тип Описание Минимальное время публикации dateTime документа. Необязательный параметр 2 type Имя типа документов. Необяза- string тельный параметр Возвращаемый результат (список объектов типа documentInfo): № Имя поля 1 result Тип documentInfo Описание Список объектов с результатами поиска 1.1 uid Уникальный идентификатор до- string кумента 1.2 title string Заголовок документа 1.3 state string Состояние документа 1.4 type string Тип документа 1.5 publica- dateTime Дата публикации документа tionDate Функция getDocument Функция обеспечивает получение содержания документа. Входные параметры: № Имя поля Тип Описание АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 31 Дата Копировал Формат А4 1 uid Идентификатор документа. Обяза- string тельный параметр Возвращаемый результат: № 1 Имя поля result Тип Описание XML-документ, содержащий anyType описание и данные запрашиваемого документа. 3.1.3.2. Формальное описание данных решений представлено в виде wsdl: 3.1.3.2.1. Сервис получения опубликованных документов <definitions name='PortalDocuments' targetNamespace='http://ws.services.portal.[…].ru/' xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:tns='http://ws.services.portal. […].ru/' xmlns:xsd='http://www.w3.org/2001/XMLSchema'> <types> <xs:schema targetNamespace='http://ws.services.portal. […].ru/' version='1.0' xmlns:tns='http://ws.services.portal. […].ru/' xmlns:xs='http://www.w3.org/2001/XMLSchema'> <xs:element name='getDocument' type='tns:getDocument'/> <xs:element name='getDocumentResponse' type='tns:getDocumentResponse'/> <xs:element name='getDocumentsList' type='tns:getDocumentsList'/> <xs:element name='getDocumentsListResponse' type='tns:getDocumentsListResponse'/> <xs:complexType name='getDocument'> <xs:sequence> <xs:element minOccurs='0' name='uid' type='xs:string'/> </xs:sequence> </xs:complexType> <xs:complexType name='getDocumentResponse'> <xs:sequence> <xs:element minOccurs='0' name='result' type='xs:anyType'/> </xs:sequence> </xs:complexType> <xs:complexType name='getDocumentsList'> <xs:sequence> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 32 Дата Копировал Формат А4 <xs:element minOccurs='0' name='min-date' type='xs:dateTime'/> <xs:element minOccurs='0' name='type' type='xs:string'/> </xs:sequence> </xs:complexType> <xs:complexType name='getDocumentsListResponse'> <xs:sequence> <xs:element maxOccurs='unbounded' minOccurs='0' name='result' type='tns:documentInfo'/> </xs:sequence> </xs:complexType> <xs:complexType name='documentInfo'> <xs:sequence> <xs:element minOccurs='0' name='uid' type='xs:string'/> <xs:element minOccurs='0' name='title' type='xs:string'/> <xs:element minOccurs='0' name='state' type='xs:string'/> <xs:element minOccurs='0' name='type' type='xs:string'/> <xs:element minOccurs='0' name='publicationDate' type='xs:dateTime'/> </xs:sequence> </xs:complexType> </xs:schema> </types> <message name='DocumentsWS_getDocumentsListResponse'> <part element='tns:getDocumentsListResponse' name='getDocumentsListResponse'></part> </message> <message name='DocumentsWS_getDocumentsList'> <part element='tns:getDocumentsList' name='getDocumentsList'></part> </message> <message name='DocumentsWS_getDocument'> <part element='tns:getDocument' name='getDocument'></part> </message> <message name='DocumentsWS_getDocumentResponse'> <part element='tns:getDocumentResponse' name='getDocumentResponse'></part> </message> <portType name='DocumentsWS'> <operation name='getDocument' parameterOrder='getDocument'> <input message='tns:DocumentsWS_getDocument'></input> <output message='tns:DocumentsWS_getDocumentResponse'></output> </operation> <operation name='getDocumentsList' parameterOrder='getDocumentsList'> <input message='tns:DocumentsWS_getDocumentsList'></input> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 33 Дата Копировал Формат А4 <output message='tns:DocumentsWS_getDocumentsListResponse'></output> </operation> </portType> <binding name='DocumentsWSBinding' type='tns:DocumentsWS'> <soap:binding style='document' transport='http://schemas.xmlsoap.org/soap/http'/> <operation name='getDocument'> <soap:operation soapAction=''/> <input> <soap:body use='literal'/> </input> <output> <soap:body use='literal'/> </output> </operation> <operation name='getDocumentsList'> <soap:operation soapAction=''/> <input> <soap:body use='literal'/> </input> <output> <soap:body use='literal'/> </output> </operation> </binding> <service name='PortalDocuments'> <port binding='tns:DocumentsWSBinding' name='DocumentsWSPort'> <soap:address location='http://…………/core/ws/documents'/> </port> </service> </definitions> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 34 Дата Копировал Формат А4 4. ОПИСАНИЕ КОМПОНЕНТОВ 4.1. Компонентная структура системы 4.1.1. Комплексы функциональных задач, перечисленные в подразделе 1.4, реализуются специально разработанным для этой цели программным обеспечением, включающим: 4.1.1.1. подсистему главного портального приложения; 4.1.1.2. подсистему реестра официальных сайтов 4.1.1.3. подсистему обеспечения регулярного обследования (мониторинга) соответствия официальных сайтов государственных органов требованиям законодательства 4.1.1.4. подсистему автоматизированного мониторинга 4.1.1.5. подсистему раскрытия информации реестра 4.1.2. Компоненты системы реализованы с помощью сессионных EJB, портлетов и сервлетов. Сессионные EJB всех подсистем в процессе развёртывания АИС группируются вместе с целью упрощения настройки системы и её обновления. Аналогично, все портлеты АИС помещаются в общий контейнер. 4.1.3. Компоненты системы представляют собой war- и jar-файлы, и устанавливаются на сервере приложений в общий EAR-контейнер 4.2. Состав и назначение компонентов системы Состав и назначение компонентов системы приведен в таблице 5. Таблица 5. Состав и назначение компонентов АИС РОСГО Наименование компонента Назначение компонента Веб-приложение, содержащее портлеты всех подсистем: coreportlets.war - Портлет отображения статического контента АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 35 Дата Копировал Формат А4 - Портлет отображения меню - Портлет отображения классификатора - Портлет поиска и фильтрации документов - Портлет просмотра документов - Портлет отображения случайного документа - Портлет создания и редактирования документов - Портлет авторизации пользователей - Портлет регистрации пользователей - Портлет управления персональной информацией пользователей - Портлет обсуждения документа - Портлет заполнения анкет экспертами Помимо портлетов, в war-файле хранятся необходимые для их функционирования ресурсы: - статические элементы интерфейса (изображения, тексты) - описания стилей элементов интерфейса (CSS) - xslt-файлы с описанием преобразований xmlдокументов, формируемых портлетами в результате своей работы Веб-приложение, содержащее http-сервлеты, фильтры, а core.war АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 36 Дата Копировал Формат А4 также классы и ресурсы, обеспечивающие инициализацию приложения: – сервлет, обеспечивающий выдачу RSS-потоков – сервлет, обеспечивающий выгрузку файлов, присоединённых к документам АИС – сервлет, обеспечивающий преобразование форматов офисных файлов – сервлет, обеспечивающий формирование диалогов взаимодействия с пользователем в рамках исполнения электронных регламентов системы – классы, обеспечивающие генерацию элементов управления для диалогов электронных регламентов – классы, обеспечивающие сборку страниц портала из данных, генерируемых портлетами – класс, обеспечивающий создание и регистрацию объектов системы (ролей, классификаторов, описаний электронных регламентов, начальных документов и т.п.) – ресурсы, предназначенные для начальной загрузки в систему (xml- и xsd-файлы, описания классификаторов, профили системных пользователей и т.п.) АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 37 Дата Копировал Формат А4 Основное веб-приложение АИС РОСГО, конфигурацион- portal.war ные файлы которого связывают все компоненты в единое целое. Помимо конфигурационных файлов, содержит ресурсы (изображения, html-, js-, css-файлы), обеспечивающие функционирование разделов АИС РОСГО «Администрирование» и «Мои документы». Кроме того, содержит xml-документы с описанием структуры страниц портала (формат описания задаётся портлет-контейнером) Контейнер, содержащий сессионные EJB всех подсистем ejb.jar АИС РОСГО. Эти EJB реализуют: – сервис авторизации, обеспечивающий функции управления системой прав и ролями пользователей; – сервис управления документами, обеспечивающий функции создания, получения, поиска и удаления документов, а так же доступа к элементам классификаторов и информации о привязке документов к таксономии; – сервис доступа и управления бинарными приложениями к документам портала; – сервис электронных регламентов, обеспечивающий прохождение документов портала через все этапы их жизненного цикла и взаимодействие с ними прикладных модулей портала. Сервис реали- АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 38 Дата Копировал Формат А4 ует: o разбор схемы жизненного цикла (регламента), заданной в виде XML-документа; o получение информации о текущем статусе документа; o получение списка доступных операций с документом; o получение информации о видимости документа для заданного пользователя; o получение имени xsl-трансформера для отображения документа в зависимости от статуса документа и прав пользователя. o отработку дополнительных (определённых в схеме жизненного цикла) действий, связанных с выполнением той или иной операции, в том числе перевод документа из одного состояния в другое; o автоматическое выполнение действий по наступлению заданного момента времени. – сервис, обеспечивающий сохранение версий документов и работу с ними – сервис, обеспечивающий получение новостных потоков с других сайтов – сервис, обеспечивающий формирование и отправ- АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 39 Дата Копировал Формат А4 ку сообщений по электронной почте – сервис, обеспечивающий управление (создание, изменение, импорт, экспорт) классификаторами – сервис, обеспечивающий xsl-трансформации документов системы и представленных в виде xml результатов работы портлетов – сервис, обеспечивающий взаимодействие с модулями нотаризации событий (time-stamping providers) – сервис, обеспечивающий взаимодействие с внешними валидаторами сайтов гос.органов – сервис, обеспечивающий поддержку работы экспертов по заполнению опросных листов – сервис, обеспечивающий проведение голосований Помимо сессионных EJB, в контейнере так же содержатся классы, реализующие веб-сервисы системы. 4.3. Внутримашинные информационные базы В состав внутримашинных информационных баз системы входят: реляционная СУБД, предназначенная для хранения документов, служебных данных, относящихся к поддержке их жизненного цикла, сведений о пользователях системы и др. файловое хранилище системных журналов и конфигурационных параметров, используемое обслуживающим персоналом для настройки и диагностирования АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 40 Дата Копировал Формат А4 системы. Описания таблиц реляционной внутримашинной базы АИС РОСГО приведены в таблице ниже Таблица 6. Описания таблиц реляционной внутримашинной базы АИС РОСГО Имя таблицы Имя сервиса Сервис авторизации acl_entry Назначение таблицы Список пользователей, имеющих индивидуальные права доступа к документу (при использовании регламентов, основанных на списках контроля доступа, а не на правилах) Сервис авторизации acl_types Типы записей индивидуальных об правах доступа («чтение», «запись», «удаление») attachment Сервис доступа и Приложения управления документам (файлы) к бинарными приложениями к документам портала attachment_desc Сервис доступа и Описания управления документам приложений к бинарными приложениями к документам портала binding_type binding_type_text Сервис доступа к Справочник типов привязок к документам узлам рубрикаторов Сервис доступа к Справочник документам типов наименований привязок к узлам АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 41 Дата Копировал Формат А4 рубрикаторов Сервис развертывания Информация database_updates приложения о произведённом последнем обновлении БД Сервис доступа к document Документы АИС РОСГО документам Сервис авторизации document_access_log Информация о последнего времени просмотра документа пользователем Сервис авторизации document_acl Уровень индивидуального доступа («чтение», «удаление», …) к документу («для владельца», «для списка», «для всех») document_comment document_lc Сервис проведения Связь между документами и обсуждений обсуждениями Сервис электронных Соответствие регламентов жизненного схем цикла типам типов связей, документов document_link_set Сервис доступа к Справочник документам допустимых между различными типами документов document_link_text Сервис доступа к Справочник документам типов наименований связей между документами document_link_type document_links Сервис доступа к Справочник типов связей документам между документами Сервис доступа к Связи между документами документам АИС РОСГО АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 42 Дата Копировал Формат А4 document_source document_source_text Сервис электронных Справочник источников регламентов появления документов Сервис электронных Справочник наименований регламентов источников появления документов Сервис доступа к document_status Статусы документов документам document_storages Сервис доступа к Справочник документам расширений классовдля сервиса доступа к документам document_tag Сервис доступа к Теги документов, не документам имеющие значений и общие для всех пользователей document_tags Сервис доступа к Справочник тегов документа, документам не имеющий общих значений для и всех пользователей document_tax_links document_taxonomy document_type document_type_tags Сервис доступа к Связи между документами с документам привязкой к классификатору Сервис доступа к Привязки документов АИС документам РОСГО к рубрикаторам Сервис доступа к Справочник документам документов Сервис доступа к Перечень документам метаданных типов допустимых для типа документов document_type_text document_versions Сервис доступа к Справочник наименований документам типов документов Сервис электронных Информация о версиях АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 43 Дата Копировал Формат А4 регламентов document_versions_comments Сервис электронных регламентов document_versions_sys_tags Сервис доступа к документам документов Комментарии к версиям документов Внутрисистемная дополнительная информация о версиях документов events_log feed_last_update Сервис электронных Информация об операциях, регламентов совершённых с документом Сервис получения Информация о новостных потоков с последнего других сайтов времени получения данных из RSS-источников, используемых в АИС forum Сервис проведения Связь между обсуждений обсуждения и темой разделом классификатора forum_message forum_theme Сервис проведения Сообщения в обсуждениях обсуждений документов или на форуме Сервис проведения Темы (ветки) обсуждения обсуждений Сервис авторизации group_role Перечень ролей, которые автоматически выдаются пользователям при добавлении их в группу groups Сервис авторизации Группы пользователей language Сервис доступа к Служебная таблица (список документам поддерживаемы языков интерфейса) Сервис электронных lc_state Состояния документов регламентов АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 44 Дата Копировал Формат А4 lc_states lc_template lc_template_text lc_var_values Сервис электронных Справочник состояний регламентов жизненных циклов Сервис электронных Справочник схем жизненного регламентов цикла Сервис электронных Справочник регламентов схем жизненного цикла Сервис электронных Значения регламентов жизненного наименований атрибутов цикла для документов lc_vars lcclasses Сервис электронных Справочник атрибутов регламентов жизненного цикла Сервис электронных Справочник регламентов расширений классовдля сервиса жизненного цикла mail_attachments Сервис почты и Файловые рассылок сообщениям, вложения к рассылаемым по e-mail Сервис почты и mail_messages Очередь сообщений рассылок mail_queue mail_queue_email mail_status maillist_queue Сервис почты и Адресаты сообщений — рассылок пользователи системы Сервис почты и Адресаты сообщений — e- рассылок mail Сервис почты и Справочник рассылок сообщений Сервис почты и Очередь рассылок статусов рассылок Сервис доступа к node_alias Коды узлов рубрикаторов документам АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 45 Дата Копировал Формат А4 Сервис управления person Пользователи АИС РОСГО посетителями person_cookie Сервис управления Идентификаторы посетителями пользователей, используемые для (cookies) автоматической аутентификации Сервис управления person_role Роли пользователей посетителями person_state person_state_text portal_exo_tables_mtime Сервис управления Справочник состояний посетителями пользователей Сервис управления Справочник посетителями состояний пользователей наименований Сервис развертывания Структура страниц портала приложения Сервис управления role_delegation Иерархия ролей посетителями Сервис управления role_type Справочник ролей посетителями role_type_text rolescope Сервис управления Справочник наименований посетителями ролей Сервис управления Область действия роли посетителями rolescope_text rxml_document Сервис управления Справочник наименований посетителями для областей действия ролей Сервис доступа к Хранилище xml-документов документам Сервис доступа к rxml_nodes Хранилище xml-документов документам Сервис доступа к rxml_ns Хранилище xml-документов АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 46 Дата Копировал Формат А4 документам Сервис доступа к rxml_xpath1 Хранилище xml-документов документам Сервис доступа к rxml_xpath2 Хранилище xml-документов документам stat_action stat_actions stat_activity stat_document stat_ip stat_referers stat_serverpage stat_visits sys_tag_values sys_tags tag_values tags Сервис управления Статистика посещения посетителями журнал действий на сайте Сервис управления Статистика посетителями журнал действий на сайте Сервис управления Статистика посетителями журнал действий на сайте Сервис управления Статистика посетителями журнал действий на сайте Сервис управления Статистика посетителями журнал действий на сайте Сервис управления Статистика посетителями журнал действий на сайте Сервис управления Статистика посетителями журнал действий на сайте Сервис управления Статистика посетителями журнал действий на сайте Сервис доступа к Значения документам метаданных документов Сервис доступа к Справочник документам метаданных документов Сервис доступа к Значения документам документов Сервис доступа к Справочник метаданных посещения посещения посещения посещения посещения посещения посещения и и и и и и и и системных системных метаданных документам АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 47 Дата Копировал Формат А4 tags_text taxonomy_attr Сервис доступа к Справочник наименований документам метаданных Сервис управления Справочник классификаторами и разделов рубрикаторов наименований рубрикаторами Сервис управления taxonomy_roots Справочник рубрикаторов классификаторами и рубрикаторами taxonomy_roots_text Сервис управления Справочник классификаторами и рубрикаторов наименований рубрикаторами taxonomy_state Сервис управления Справочник классификаторами и рубрикаторов состояний рубрикаторами taxonomy_state_text Сервис управления Справочник наименований классификаторами и состояний рубрикаторов рубрикаторами Сервис управления taxonomy_tree Структура рубрикаторов классификаторами и рубрикаторами validation_issues validation_queue voting_results Сервис валидации Результаты валидации сайтов сайтов гос.органов гос.органов Сервис валидации Очередь сайтов гос.органов сайтов гос.органов на валидацию Сервис проведения Результаты голосований голосований, проводимых на простых портале Сервис xsltemplates Справочник xsl-шаблонов трансформации АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 48 Дата Копировал Формат А4 5. ОПИСАНИЕ ЖИЗНЕННОГО ЦИКЛА В процессе существования на портале документы могут находиться в различных состояниях, отличающихся друг от друга набором возможных действий с документом, видимостью для разных категорий пользователей, способом отображения документа. Все эти особенности описываются схемой жизненного цикла документа. Интерпретатор [схемы] жизненного цикла обеспечивает: – разбор схемы ЖЦ, заданной в виде XML-документа; – получение информации о текущем статусе документа; – получение списка доступных операций с документом; – получение информации о видимости документа для заданного пользователя; – получение имени xsl-трансформера для отображения документа в зависимости от статуса документа и прав пользователя. – формирование SQL-подзапроса, обеспечивающего выборку документов заданного типа с учётом их видимости для заданного пользователя и возможности совершения заданной операции; – отработку дополнительных (определённых в схеме ЖЦ) действий, связанных с выполнением той или иной операции, в том числе перевод документа из одного состояния в другое; – автоматическое выполнение действий по наступлению заданного момента времени. 5.1. Основные термины и понятия Схема жизненного цикла (Схема ЖЦ): Описание жизненного цикла документа в виде перечня состояний, правил перехода между ними, видимости для пользователей, возможных действий с документом, описания связанных объектов. Состояние (этап) жизненного цикла: Состояние, в котором может находиться документ. Каждый этап характеризуется идентификатором, названием, перечнем критериев доступа и набором действий над документом. АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 49 Дата Копировал Формат А4 Связанный объект: Объект(ы) базы данных (документ, пользователь или любой другой объект), который имеет логическое отношение к жизненному циклу документа, описан в соответствующем разделе схемы ЖЦ и может быть использован в качестве параметра критериев доступа или действия. Действие: Последовательность неинтерактивных операций над документом (переход на другой этап, изменение содержания, установка тега, отправка уведомления, создание нового документа). Взаимодействие с пользователем должно производиться до выполнения действия (т.е. приложение должно тем или иным образом отличать известные ему интерактивные действия, и после получения данных от пользователя инициировать нужное действие) Критерий доступа: Набор правил, которые динамически (в зависимости от текущего пользователя, состояния документа и связанных объектов) определяют принадлежность документа к той или иной группе объектов (выборке). АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 50 Дата Копировал Формат А4 5.2. Описание жизненного цикла <lifecycle initial-stage="created" code="test" version="1" xmlns:expr="urn:lifecycle:parameters:expression" xmlns:obj="urn:lifecycle:parameters:objects" xmlns:arg="urn:lifecycle:parameters:arguments" > <creation-check action="utils:SimpleACL"> <param name="acl" value="editor,chief"/> <param name="edit-transformer" value="create-test"/> </creation-check> <default-transformer code="view-test"/> <objects> ............... </objects> <common-events id=""> ............... </common-events> <stage id="stage 1"> ............... </stage> <stage id="stage 2"> ............... </stage> </lifecycle> Описание схемы ЖЦ включает в себя: идентификатор (код) схемы ЖЦ и номер версии регламента <lifecycle initial-stage="created" code="test" version="1" xmlns:expr="urn:lifecycle:parameters:expression" xmlns:obj="urn:lifecycle:parameters:objects" xmlns:arg="urn:lifecycle:parameters:arguments" > АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 51 Дата Копировал Формат А4 имя начального состояния <lifecycle initial-stage="created" code="test" version="1" xmlns:expr="urn:lifecycle:parameters:expression" xmlns:obj="urn:lifecycle:parameters:objects" xmlns:arg="urn:lifecycle:parameters:arguments" > условия и ограничения для создания нового документа с этой схемой ЖЦ <creation-check action="utils: SimpleACL "> <param name="acl" value="editor,chief"/> <param name="edit-transformer" value="create-test"/> </creation-check> название xsl-трансформера, используемого для отображения документа, если в правилах доступа к документу не указан иной xsl-трансформер <default-transformer code="view-test"/> описание связанных объектов <objects> ............... </objects> описания часто используемых действий <common-events id=""> ............... </common-events> описания состояний документа <stage id="stage 1"> ............... </stage> <stage id="stage 2"> ............... </stage> Выполнение условий и ограничений не является обязательным для создания нового документа — это указания, которые используются только при формировании нового доАИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 52 Дата Копировал Формат А4 кумента вне какого-либо контекста. Если же новый документ создаётся на основе другого документа или в его контексте (например, комментарий к существующему документу), то условия и ограничения на создание, как правило, задаются как права на выполнение соответствующего действия в схеме ЖЦ исходного документа. Более подробно блок описан в разделе «Условия и ограничения на создание нового документа». Связанные объекты позволяют описывать сложные зависимости между объектами системы, соответствующие отношениям реального мира — например, предоставлять всем пользователям — сотрудникам некоей организации доступ к документу, созданному одним из них, не создавая при этом в системе дополнительных групп пользователей или ролей, ограничившись только информацией о наличии связи между профилям пользователей и описанием организации. <objects> <object name="subscribers" method="select-slave" relation="Notify"/> <object name="creator" method="document-creator" object="this"/> <object name="organizations" method="select-master" relation="employee" object="creator" /> <object name="co-workers" method="select-slave" relation="employee" object="organizations" /> </objects> Связанные объекты описываются: уникальным (в рамках схемы ЖЦ) именем, методом их получения, необязательной ссылкой на другие связанные объекты, в контексте которых будет работать указанный метод, АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 53 Дата Копировал Формат А4 дополнительными параметрами, специфичными для метода. Подробное описание приведено в разделе «Описание связанных объектов». Описания часто используемых действий работают как макроопределения, т.е. включаются в текст описания состояния и интерпретируются в его контексте. <common-events id="discussion"> <waitfor event="create-comment"> <create <send-text-message title="Новый комментарий" obj:to="subscribers[]" expr:template="concat('Получен http://test.portal/?',docid)" новый комментарий к документу /> </waitfor> </common-events> ............... <stage id="stage 1"> <include common-events="discussion"/> </stage> В каждый момент своего существования в системе документ находится в том или ином (но только одном) состоянии своего жизненного цикла. В различных состояниях к документу могут иметь доступ разные группы пользователей, каждой из которых может быть назначен особый способ отображения документа. <stage id="stage 1"> <access> <all view="restricted-view"/> <registered view="view-contact-info"/> <role view="view-all-fields">editor, sysadmin, chief</role> </access> </stage> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 54 Дата Копировал Формат А4 Состояние документа также характеризуется набором действий, которые пользователи могут производить с документом и обработчиками автоматических событий — переход в состояние, наступление заданного момента времени. <stage id="stage 1"> <on-enter> <set var="expiration">addHours(now(),12)</set> </on-enter> <waitfor event="edit"> ........... </waitfor> <waitfor timeout="expiration"> ........... </waitfor> </stage> 5.3. Начальное состояние документа Начальное состояние документа в первую очередь зависит от источника возникновения этого документа на портале. Под источниками понимаются: деятельность пользователей, создающих документы в интерактивном режиме («локальные документы»); сторонние системы (например, импорт новостей по RSS); механизмы автоматического создания документов (например, наполнение системы начальными данными или генерация периодических отчётов); любые другие источники, обусловленные спецификой системы (например, создание документов веб-сервисом по запросу от сторонних систем или восстановление документов из архивного хранилища). Каждому типу документов и источнику может быть сопоставлен тот или иной электронный регламент из зарегистрированных в системе и описанное в этом регламенте состояние, которое будет использоваться в качестве начального. Например, для типа документов «Новость» и двух источников – «локальные документы» и «импорт» — может быть назначен один и тот же регламент с различными начальными состояниями – «черновик» для «локальных» и «опубликовано» для импортируемых новостей. АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 55 Дата Копировал Формат А4 Если начальное состояние для источника не задано явным образом, то используется информация из xml-описания регламента – настройки блоков условий и ограничений на создание нового документа. Если необходимой информации нет и там, то используется значение атрибута initial-stage корневого элемента xml-описания регламента. 5.4. Условия и ограничения на создание нового документа Блок описания условий и ограничений для создания нового документа используется, в основном, при визуальном конструировании новых документов (в редакторе) и служит для задания нескольких параметров: 1. Метода проверки условий и ограничений, и его параметров – например, статуса и ролей пользователя, необходимых для создания документов этого типа; 2. Кода xsl-трансформа, который должен быть использован редактором при создании документа; 3. Дополнительных опций (например, явно указанного идентификатора начального состояния). В схеме жизненного цикла может быть определено несколько таких блоков, что даёт возможность использовать различные представления редактора и начальные состояния документа для разных пользователей. Если статусу и ролям пользователя соответствует несколько блоков, то будет использован первый из них (в том порядке, в котором они описаны в xml жизненного цикла). Блок описания условий и ограничений оформляется в виде тега с именем creationcheck и обязательным атрибутом action, в котором указывается метод проверки. Все остальные параметры задаются в виде дочерних элементов param этого тега. Атрибут name тега param определяет имя параметра, атрибут value — его значение. Методы проверки и их параметры № Код метода Описание и параметры 1 Метод проверяет наличие у пользователя одной из перечис- utils:simpleACL ленных ролей. Параметры: «acl» — список кодов ролей АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 56 Дата Копировал Формат А4 2 Метод проверяет, авторизовался ли пользователь на сайте utils:registered Параметры: нет 3 Метод проверяет, является ли пользователь анонимным utils:unregistered Параметры: нет 4 Метод разрешает создание документа любому посетителю utils:all сайта Параметры: нет 5 Метод запрещает создание документа любому посетителю utils:nobody сайта. Может быть использовано при описании жизненного цикла документов, которые создаются только программно. Параметры: нет Код xsl-трансформа для редактора документов задаётся в параметре с именем «edittransformer» и является обязательным для документов, которые можно создавать через редактор. Начальное состояние задаётся в параметре с именем «stage». Пример: <lifecycle initial-stage="created" code="declaration" version="1"> <creation-check action="utils:Registered"> <param name="edit-transformer" value="create-declaration"/> <param name="stage" value="created"/> </creation-check> <creation-check action="utils:Unregistered"> <param name="edit-transformer" value="create-declaration"/> <param name="stage" value="anonymous"/> </creation-check> <stage id="created"/> <stage id="anonymous"/> </lifecycle> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 57 Дата Копировал Формат А4 В данном случае регламент настроен таким образом, что объекты типа «declaration» могут создаваться как зарегистрированными, так и незарегистрированными пользователями. В обоих случаях будет использован один и тот же xsl-трансформ («createdeclaration»), но декларации, созданные зарегистрированными пользователями, будут находиться в состоянии «created», а незарегистрированными или не вошедшими в систему – «anonymous». 5.5. Описание связанных объектов Несмотря на то, что текущая реализация интерпретатора ЖЦ ориентирована на работу с объектами типа «документ», в качестве параметров операций над документами могут выступать объекты других типов — пользователи, группы пользователей, темы обсуждений, узлы классификаторов и т.п. Сами документы могут быть связаны друг с другом как напрямую, так и косвенно, через цепочку связей с другими объектами или документами, пример показан на рисунке 2: Тема обсуждения документ Сообщение Сообщения темы темы Автор сообАвторы сощения общений объект объект объект объект Анкета Анкеты Профиль создателя объект Шаблон анкеты документ документ документ Профиль автора документ (эксперта) документ Рисунок 2 – Связи объектов Прямая связь двух документов может существовать как в контексте всего портала, так и в контексте какого-либо узла классификатора. В любом случае, один из документов считается главным (master), а второй — подчинённым (slave). Сама связь характеризуется не только фактом своего существования, но и типом — одни и те же документы могут быть связаны друг с другом несколькими типами связей. Определённые в регламенте связи могут быть использованы: при описании других связей; АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 58 Дата Копировал Формат А4 при описании критериев доступа к документу (например, «профиль пользователя принадлежит к списку»); при описании прав на выполнение действий с документом (например, «ещё не существует таких-то объектов»); при параметризации действий с документами (см. раздел «Действия пользователя»); в программной части системы для получения списка объектов с фиксированным идентификатором, но неизвестной заранее (настраиваемой) схемой взаимосвязи с обрабатываемым документом. Шаблон описания связанных объектов <objects> <object name="имя связи" method="метод получения связанных объектов" object="ссылка на описанную ранее связь" ...дополнительные атрибуты... /> ...другие теги object... </objects> Связи между объектами системы описываются в отдельном разделе электронного регламента (тег «objects»). Каждая связь характеризуется: уникальным (в рамках регламента) именем (атрибут «name»); методом получения связанных объектов (атрибут «method»); необязательной ссылкой на описанную ранее связь, в контексте которой будет работать указанный метод (атрибут «object»); дополнительными параметрами, специфичными для метода. Метод получения связанных объектов неявно добавляет к характеристикам связи ещё одно свойство — тип возвращаемых объектов (документ, пользователь, группа, тег), который не может быть изменён составителем регламента. Свойство используется для обеспечения логической целостности системы связей. АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 59 Дата Копировал Формат А4 Полный список методов получения связанных объектов приведён в разделе «Error! Reference source not found.». 5.6. Описание состояния документа Главная (и обязательная) часть схемы жизненного цикла документа — это описание набора состояний, в которых может находиться документ. В каждый момент своего существования в системе документ находится в том или ином (но только одном) состоянии. В различных состояниях к документу могут иметь доступ разные группы пользователей, и для каждой из этих групп может быть задан свой перечень допустимых действий и способ отображения документа. 5.7. Общая схема <stage id=""> <name lang="">...</name> <access>...</access> <acl id="">...</acl> <include common-events="">...</include> <on-enter>...</on-enter> <waitfor event="">...</waitfor> <waitfor timeout="">...</waitfor> </objects> Описание состояния жизненного цикла включает в себя: уникальный (в пределах схемы) идентификатор состояния <stage id=""> название состояния на одном или нескольких используемых в системе языках <name lang="код языка, например, RU">название</name> описание критериев доступа к документу (подробнее см. в разделе «Критерии доступа») <access>...</access> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 60 Дата Копировал Формат А4 описание требований к правам пользователя, которые одинаковы для нескольких действий (подробнее см. в разделе «Перекрёстные ссылки в описании состояния») <acl id="">...</acl> ссылки на общие для нескольких состояний наборы действий пользователя <include common-events="идентификатор">...</include> перечень операций, автоматически выполняемых при переходе документа в данное состояние. Описание состояния может содержать не более одной секции «on-enter». Описание операций дано в разделе «Действия пользователя», а пример использования секции «on-enter» — в разделе «Автоматические события». <on-enter>операции</on-enter> перечень возможных действий пользователя по отношению к документу (подробнее см. в разделе «Действия пользователя») и реакции системы на них. В текущей реализации системы порядок, в котором возможные действия пользователя перечислены в описании состояния, соответствует порядку действий в контекстных меню. <waitfor event="">...</waitfor> <waitfor event="">...</waitfor> ... <waitfor event="">...</waitfor> перечень обработчиков событий, связанных с наступлением заданного момента времени (подробнее см. в разделе «Автоматические события») <waitfor timeout="">...</waitfor> <waitfor timeout="">...</waitfor> ... <waitfor timeout="">...</waitfor> Все элементы описания, кроме идентификатора, названия и критериев доступа, являются необязательными. Порядок, в котором описаны состояния, не имеет значения. АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 61 Дата Копировал Формат А4 5.8. Критерии доступа Критерии доступа позволяют разработчику регламента назначить документу в его текущем состоянии один или несколько логических статусов. Логические статусы могут объединять документы, находящиеся в различных состояниях различных схем ЖЦ. Примером может служить статус «Требует внимания» — документ может требовать чьей-то реакции при нахождении на нескольких состояниях своего регламента (не на всех). Кто именно из пользователей увидит документ в этом статусе — определяется критериями доступа. В интерпретаторе ЖЦ существует один предопределённый логический статус, используемый в соответствующих случаях как значение по умолчанию. Код этого статуса — «public»; он объединяет все документы, видимые в интерфейсах системы. Если у состояния документа отсутствует описание критериев доступа для статуса «public», то в этом состоянии документ будет виден пользователям только в специализированных интерфейсах, предназначенных для просмотра документов с конкретными статусами («требует внимания», «черновик»). Назначение статусов описывается следующим образом: <access> <for id="код статуса"> ...критерии... </for> <for id="код статуса"> ...критерии... </for> ... </access> Если единственный статус, описываемый в данном состоянии — «public», то можно использовать упрощённую форму записи, опуская тег «for»: <access> ...критерии... </access> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 62 Дата Копировал Формат А4 Несколько описаний с одинаковым кодом статуса будут автоматически объединены в одно. Критерии задаются в виде xml-тегов (полный список приведён в разделе «Error! Reference source not found.»), которые объединены между собой логическим «ИЛИ» — для назначения достаточно срабатывания хотя бы одного критерия. Существуют также служебные критерии, позволяющие объединять другие критерии логическим «И», «ИЛИ» и конструировать более сложные условия назначения логических статусов: <access> <!-- автор документа --> <creator/> <!-- …или пользователи с ролью sysadmin --> <role>sysadmin</role> <!-- …или любой зарегистрированный пользователь, если стоит тег «Важно» --> <and> <has-tags>important</has-tags> <registered/> </and> </access> Каждому критерию можно назначить атрибут с именем «view», в котором указывается имя xsl-трансформа. Если данный критерий был последним, сработавшим для текущего пользователя, то для просмотра документа будет использован соответствующий xslтрансформ: <default-transformer code="view-test"/> ............ <!— Простые посетители системы видят документ, отображённый с помощью xsl-трансформа с именем «view-test», т.к. у тега <all/> (любой пользователь системы) не задано никакого специального xsl-трансформа, и будет использовано значение по умолчанию, указанное в <default-transformer/>. Автор документа видит его с помощью xsl-трансформа «view-test:all-fields». Пользователи, у которых есть роль «expert» или «sysadmin», видят документ с помощью xsl-трансформа «view-test:with-expert-resume». Если у автора документа есть одна из этих АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 63 Дата Копировал Формат А4 ролей, то он тоже видит документ с помощью этого трансформа, т.к. критерий <role> сработает последним. Если переместить критерий <all/> в конец списка критериев, то все пользователи, независимо от их роли и статуса, видят документ с помощью xsl-трансформа «view-test». --> <access> <all/> <creator view="view-test:all-fields"/> <role view="view-test:with-expert-resume">expert, sysadmin</role> </access> Поскольку при объединении критериев по логическому «И» для выполнения условия должен выполняться каждый из них, и понятие «последнего сработавшего критерия» теряет свой первоначальный смысл — xsl-трансформ в этом случае должен указываться непосредственно у тега <and>. 5.9. Действия пользователя Список действий, которые можно производить с документом, очевидным образом зависит от текущего состояния документа. Дополнительные ограничения на этот список накладывает также статус пользователя, его роли, а также состояние других объектов системы. В схеме ЖЦ описание действия пользователя включает в себя: идентификатор действия; категория действия; описание условий, необходимых для выполнения действия; параметры; перечень операций, составляющих это действие. Обязательным является только идентификатор действия, прочие параметры могут быть опущены. <waitfor event="идентификатор действия" alias="категория"> <acl><!-- описание условий, необходимых для выполнения --></acl> <params> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 64 Дата Копировал Формат А4 <!-- параметры --> <param name="" value=""/> <param name="" object=""/> </params> <!-- перечень операций --> </access> Идентификатор действия должен быть уникален в пределах описания одного состояния. Как правило, ему соответствует запись в общем для всей системы файле настроек пользовательского интерфейса электронных регламентов «lifecycle-ui.xml» и каком-либо файле текстовых ресурсов. Идентификатор действия должен содержать хотя бы один алфавитно-цифровой символ и не должен содержать символа «:» (двоеточие). Категория действия предназначена для указания характера выполняемых операций («редактирование», «удаление» и т.д.) и может быть использована для автоматического выбора нужного действия регламента. Интерпретатор ЖЦ использует в работе только одну категорию, «delete». К ней рекомендуется относить действие, обеспечивающее корректное удаление документа и тех связанных с ним данных, которые не должны быть доступны после удаления документа. Условия, необходимые для выполнения действия, записываются в виде набора xmlтегов и объединяются между собой операцией логического «ИЛИ». Список возможных условий приведён в разделе «Error! Reference source not found.». Если блок условий отсутствует, то право на выполнение действия есть у любого пользователя, которому документ на данной стадии доступен в статусе «public». Параметры действия предназначены для конфигурирования пользовательского интерфейса — в них, например, может быть указано имя xsl-трансформа для редактирования документа. Каждый параметр оформляется в виде тега «param» с обязательным атрибутом «name», в котором указывается имя параметра. Значение параметра может быть задано несколькими способами: 1. В атрибуте «value» того же тега «param»: <param name="edit-transformer" value="edit-test"/> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 65 Дата Копировал Формат А4 2. В качестве текстового узла этого тега: <param name="message-body"> Здравствуйте, уважаемый(ая) %%name%%! С уважением, Администрация системы «АИС» </param> 3. виде ссылки на описанный в текущей схеме ЖЦ связанный объект <param name="from" object="Current user"/> <param name="to" object="All sysadmins[]"/> Если ссылка на связанный объект заканчивается символами «[]» (две квадратные скобки), то значением параметра будет всё множество объектов системы, найденных в соответствии с описанием связанного объекта. 4. В виде вычислимого выражения <param name="yesterday" variable="formatDate(addDays(now(), -1), 'dd.MM.yyyy')" /> Вычислимые выражения записываются по правилам Unified Expression Language, являющегося частью спецификации JSP 2.1. Функции расширения описаны в разделе «Error! Reference source not found.». После того, как система получит у посетителя портала все данные, необходимые для выполнения действия (согласно конфигурации пользовательского интерфейса ЖЦ в файле lifecycle-ui.xml), происходит вызов действия и выполнение операций, заданных в виде xml-тегов в описании действия. Интерпретатор ЖЦ поддерживает четыре операции: set, switch, terminate и perform. 5.9.1. Установка значения переменной ЖЦ — тег <set> Формат: <set var="имя переменной">выражение</set> или АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 66 Дата Копировал Формат А4 <set var="имя переменной"/> Операция set вычисляет заданное выражение и устанавливает значение переменной ЖЦ. Выражение записывается точно так же, как в параметрах действия — по правилам Unified EL. Если выражение не задано, то переменная удаляется. Поскольку переменные ЖЦ могут использоваться в вычислимых выражениях, их имена должны содержать только символы латинского алфавита, цифры или символа «_» (подчёркивание), и не должны начинаться с цифры. 5.9.2. Смена состояния документа — тег <switch> Формат: <switch to="идентификатор состояния" object="имя связи"/> Операция switch изменяет состояние текущего документа в схеме ЖЦ. Если указан атрибут «object» с именем связанного объекта, то состояние будет изменено у всех документов, соответствующих этой связи. Если по каким-то причинам текущий документ попал в эту выборку, то его состояние изменено не будет. Если атрибут «object» не задан, и состояние с указанным идентификатором отсутствует, то схема ЖЦ считается неверной и не загружается в систему. Так как switch, переключаясь в другое состояние, прерывает выполнение текущего потока операций, наличие любых операций после него считается ошибкой: <waitfor event="test"> <switch to="next stage"/> <set var="resetMe"/> <!-- ошибка — недостижимая операция в схеме ЖЦ --> </waitfor> Сразу после перехода в новое состояние выполняются операции, указанные в блоке «on-enter». Если там указана своя операция <switch>, то состояние будет снова изменено. Секция «on-enter» выполняется и в том случае, когда указанный в switch идентификатор состояния совпадает с текущим состоянием документа. АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 67 Дата Копировал Формат А4 5.9.3. Завершение жизненного цикла — тег <terminate> Формат: <terminate object="имя связи"/> Операция terminate завершает выполнение жизненного цикла — после её выполнения документ не будет доступен ни в одном интерфейсе системы. Необязательный атрибут «object» содержит имя связанного объекта и позволяет завершить жизненный цикл других документов системы (как правило, подчинённых — обсуждений, отзывов и т.п.). Если в текущем состоянии этих документов определено действие, отнесённое к категории «delete», оно будет выполнено перед прекращением ЖЦ. Как и в случае с операцией switch, действие операции terminate с заданным атрибутом «object» не распространяется на текущий документ. Так как terminate, завершая выполнение жизненного цикла, прерывает текущий поток операций, наличие любых операций после него считается ошибкой. 5.9.4. Выполнение пользовательской операции — тег <perform> Формат: <perform action="идентификатор операции"> параметры </perform> Операция perform позволяет использовать в схеме ЖЦ дополнительные операции, расширяющие базовый набор интерпретатора. Эти дополнительные операции оформляются в виде методов java-классов. Идентификатор операции состоит из двух частей, разделённых символом «:» (двоеточие) — пространства имён операции и имени метода, например: <waitfor event="test"> <!-doc -- идентификатор пространства имён, которое может объединять операции, реализованные в нескольких java-классах. setNode -- имя метода (операции) --> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 68 Дата Копировал Формат А4 <perform action="doc:setNode"> <param name="xpath" value="/{urn:test.ns}root-node/@modified"/> <param name="value" variable="formatDate(now(),'yyyy-MM-dd HH:mm')"/> </perform> </waitfor> Операции perform можно параметризовать точно так же, как пользовательские действия, с одним исключением — теги «param» записываются без родительского «params». Кроме того, если нескольким операциям для работы необходимо одно и то же вводимое пользователем значение, но используют они его под разными именами, можно воспользоваться дополнительным способом указания значения параметра: <waitfor event="test"> <perform action="doc:setNode"> <param name="xpath" value="/{urn:test.ns}root-node/text()"/> <!-- операция setNode принимает значение в параметре "value" --> <param name="value" argument="info"/> </perform> <perform action="doc:setTag"> <param name="tag-name " value="comment"/> <!-- операция setTag принимает значение в параметре "tag-value" --> <param name="tag-value" argument="info"/> </perform> </waitfor> Часть пользовательских операций может быть указана в схеме ЖЦ непосредственно в виде xml-тегов, а не с помощью операции perform (для этого реализующие их javaметоды должны быть отмечены специальным образом). Такая форма записи имеет два варианта — полный и упрощённый. Полный вариант записи предполагает использование xml-пространства имён, соответствующего пространству имён оригинальной операции. Такой подход позволяет однозначно определить пользовательскую операцию по имени тега, однако принуждает разработчика схемы ЖЦ указывать дополнительную информацию: <waitfor event="test"> <delete xmlns="urn:lifecycle:metadata"/> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 69 Дата Копировал Формат А4 </waitfor> или <?xml version="1.0"?> <lifecycle xmlns:m="urn:lifecycle:metadata"> ............... <waitfor event="test"> <m:delete/> </waitfor> Упрощённый вариант записи (без указания специального xml namespace) может быть использован для пользовательских операций с уникальными именами xml-тегов. Такой метод несколько проще, однако требует дополнительно контроля при разработке — появление в другом пространстве имён новой пользовательской операции, декларирующей аналогичное имя тега, нарушит работу системы. При описании пользовательских операций в виде xml-тегов параметры операций можно указывать в виде атрибутов. В качестве имён параметров будут использованы имена атрибутов: <waitfor event="test"> <set-node xpath="/{urn:test.ns}root-node/@modified"> <param name="value" variable="formatDate(now(),'yyyy-MM-dd HH:mm')"/> </set-node> </waitfor> Для обозначения того, что заданный в виде атрибута параметр является ссылкой на связанный объект, вычислимым выражением или получен от пользователя, можно использовать специальные xml-пространства имён — urn:lifecycle:parameters:objects, urn:lifecycle:parameters:expression и urn:lifecycle:parameters:arguments соответственно: <?xml version="1.0"?> <lifecycle xmlns:expr="urn:lifecycle:parameters:expression"> ............... <waitfor event="test"> <set-node xpath="/{urn:test.ns}root-node/@modified"> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 70 Дата Копировал Формат А4 expr:value="formatDate(now(),'yyyy-MM-dd HH:mm')" /> </waitfor> Полный список существующих пользовательских операций приведён в разделе «Error! Reference source not found.». 5.10. Автоматические события Автоматические события выполняются по наступлению заданного момента времени. Подобно пользовательским действиям, они индивидуальны для каждого состояния документа; если тайм-аут распространяется на несколько состояний документа, то обработчик события должен быть прописан в каждом из них. Время наступления автоматического события хранится в переменных ЖЦ («Установка значения переменной ЖЦ — тег <set>»), поэтому его повторное вычисление не требуется. <waitfor timeout="имя переменной ЖЦ"> <!-- перечень операций --> </waitfor> В пределах одного состояния документа может быть определено несколько обработчиков автоматических событий. Если одновременно происходит несколько из них, то обработчики вызываются последовательно, в том порядке, в котором они указаны в схеме ЖЦ. Если какой-то обработчик инициирует смену состояния документа, то вызов последующих обработчиков отменяется. Пример описания автоматического события: <stage id="draft"> <!-При переходе в состояние будет автоматически выполнена секция on-enter и будет установлено значение переменной с именем expiration. --> <on-enter> <set var="expiration">addDays(now(), 3)</set> </on-enter> <!-Обработчик автоматического события будет вызван после того, как наступит момент АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 71 Дата Копировал Формат А4 времени, указанный в переменной expiration. --> <waitfor timeout="expiration"> <delete/> <terminate/> </waitfor> </stage> 5.11. Перекрёстные ссылки в описании состояния Интерпретатор ЖЦ поддерживает два вида перекрёстных ссылок — ссылки на описания часто используемых действий (т.е. на фрагменты описания состояния документа) и ссылки на описания требований к правам пользователя, необходимым для выполнения действий. Ссылки на требования к правам пользователя позволяют использовать одни и те же правила в нескольких описаниях действий пользователя без их дублирования. Это уменьшает вероятность ошибки при разработке схемы, упрощает её понимание и изменение. Общие правила записываются на одном уровне с пользовательскими действиями в виде тегов «acl» с атрибутом «id», содержащим идентификатор блока правил. Для их использования надо указать этот идентификатор в атрибуте «ref» тега «acl» в описании пользовательского действия. <stage id="approve"> <name lang="RU">На проверке</name> <access> <!-- Критерии доступа для статуса «Требует внимания» --> <for type="approve"> <role first-exists="true">manager,chief</role> </for> <!-- Критерии доступа для публичного просмотра --> <for type="public"> <creator/> <role first-exists="true">manager,chief</role> </for> </access> <!-- Описание набора правил с именем «approve-acl» --> <acl id="approve-acl"> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 72 Дата Копировал Формат А4 <view type="approve"/> </acl> <waitfor event="set-conformance"> <!-- Ссылка на ранее объявленный набор правил --> <acl ref="approve-acl"/> <!-- ... --> </waitfor> <waitfor event="publish"> <!-- Ссылка на ранее объявленный набор правил --> <acl ref="approve-acl"/> <switch to="approved"/> </waitfor> <waitfor event="refuse"> <!-- Ссылка на ранее объявленный набор правил --> <acl ref="approve-acl"/> <switch to="refused"/> </waitfor> </stage> Описания часто используемых действий могут содержать определения блоков требований к правам пользователя, пользовательских действий и обработчиков автоматических событий. Определяется блок с помощью тега «common-events», у которого есть обязательный атрибут «id» — идентификатор блока, а подключается к определению состояния с помощью тега «include», в атрибуте «common-events» которого указывается идентификатор подключаемого блока. Подключаемый блок должен быть описан до его использования. При подключении блока можно определить локальные требования к правам пользователя, которые будут доступны только действиям этого блока. Это даёт возможность использовать одни и те же описания часто используемых действий в нескольких состояниях документа, где к правам пользователей предъявляются различные требования. <!-- Определение блока часто используемых действий --> <common-events id="Bookmark"> <!-- ... --> </common-events> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 73 Дата Копировал Формат А4 <!-- Определение ещё одного блока часто используемых действий --> <common-events id="Edit document"> <!-- Описание действия пользователя — редактирования документа --> <waitfor event="edit"> <!-Ссылка на требования к правам пользователя, которые описаны за пределами текущего блока common-events --> <acl ref="edit-acl"/> <params> <param name="edit-transformer" value="edit-test"/> </params> <perform action="metadata:Edit"/> </waitfor> <!-- Описание действия пользователя — удаления документа --> <waitfor event="delete" alias="delete"> <acl ref="edit-acl"/> <terminate object="versions"/> <delete/> <terminate/> </waitfor> </common-events> <!-- Описание состояния документа --> <stage id="approve"> <name lang="RU">На проверке</name> <access> <!-- Критерии доступа для статуса «Требует внимания» --> <for type="approve"> <role first-exists="true">manager,chief</role> </for> <!-- Критерии доступа для публичного просмотра --> <for type="public"> <creator/> <role first-exists="true">manager,chief</role> </for> </access> <!-- Простое подключение блока часто используемых действий --> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 74 Дата Копировал Формат А4 <include common-events="Bookmark"/> <!— Подключение блока часто используемых действий с определением локальных требований к правам пользователя --> <include common-events="Edit document"> <acl id="edit-acl"><view type="approve"/></acl> </include> </stage> <!-- Описание состояния документа --> <stage id="published"> <name lang="RU">Опубликован</name> <access> <!-- Критерии доступа для публичного просмотра --> <all/> </access> <!-- Простое подключение блока часто используемых действий --> <include common-events="Bookmark"/> <!— Подключение блока часто используемых действий с определением локальных требований к правам пользователя. Требования отличаются от тех, что были определены при подключении блока в состоянии «approve» --> <include common-events="Edit document"> <acl id="edit-acl"><role>sysadmin</role></acl> </include> </stage> 5.12. Структура lifecycle-ui.xml Файл lifecycle-ui.xml содержит описания диалогов и форм, используемых сервисом электронных регламентов для взаимодействия с пользователем — подтверждения действий, получения дополнительной информации, необходимой для выполнения какоголибо действия, обработки результатов выполнения действий. Использование декларативного подхода к описанию форм позволяет: значительно упростить разработку и развитие системы; уменьшить трудоёмкость добавления новых действий в описание электрон- АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 75 Дата Копировал Формат А4 ного регламента; повысить надёжность системы за счёт централизации проверок введённых пользователем данных; унифицировать пользовательский интерфейс. Каждому событию, описанному в электронных регламентах, может соответствовать одна форма. Генерируемые по описаниям из файла lifecycle-ui.xml формы состоят из контейнера, включающего в себя один или несколько диалогов. Диалоги, в свою очередь, содержат произвольное число элементов управления, которые обеспечивают получение информации от пользователя. XML-файл содержит объявления: контейнеров; диалогов; источников данных; элементов управления; событий. и схематично выглядит следующим образом: <lifecycle-ui> <container/> <dialog/> <datasource/> <control/> <event/> <default-container/> <default-success/> </lifecycle-ui> Порядок элементов может быть произвольным. Элемент default-container предназначен для установки контейнера по умолчанию. Его синтаксис полностью аналогичен обычному объявлению контейнера за исключением отсутствия необходимости в атрибуте id. АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 76 Дата Копировал Формат А4 При помощи элемента default-success можно указать настройки для диалога об успешном завершении операции по-умолчанию. Идентификатор диалога указывается в атрибуте dialog. В теле элемента указывается сообщение об успехе. То, как использовать сообщение (и использовать ли вообще) зависит от реализации диалога. <default-success dialog="идентификатор диалога"> Операция успешно выполнена! </default-success> 5.13. Объявление контейнеров В элементе объявления контейнера должен быть указан его идентификатор (атрибут id) и java-класс контейнера (через атрибут class или дочерний элемент class). Для контейнера могут быть так же указаны дополнительные свойства, перечень и назначение которых будет зависеть от конкретного класса контейнера. Схематично объявление контейнера выглядит следующим образом: <container id="идентификатор контейнера"> <class>полное имя java-класса</class> <property name="свойство 1">значение 1</property> <property name="свойство 2">значение 2</property> ... <property name="свойство N">значение N</property> </container> Существуют следующие типы контейнеров: 1. ru.ktelabs.portal.lcui.SimpleContainer Настроек нет Простейший контейнер, который лишь обеспечивает выполнение кода сгенерированного диалогом, ничем не дополняя его. 2. ru.ktelabs.portal.lcui.DefaultContainer Контейнер обеспечивающий диалогу Настройки: вывод модальном окне АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. в Лист 77 Дата Копировал Формат А4 реализованном jquery-home – путь к js-файлам jQuery средствами overlay – обеспечивает затемнениие страницы под Помимо jQuery. содержимого, определяемого диалогом; значение – процент затемнения (opacity) диалогом окно содержит resizable – может ли пользователь изменять размер кнопки для его закрытия с сохранением и без диалога; возможные значения – true и false («ОК» и «Cancel») width, height – ширина и высота диалога в пикселях 5.14. Объявление диалогов В элементе объявления диалога должен быть указан его идентификатор (атрибут id) и java-класс диалога (через атрибут class или дочерний элемент class). Для диалога могут быть так же указаны дополнительные свойства, перечень и назначение которых будет зависеть от конкретного класса диалога. Схематично объявление диалога выглядит следующим образом: <dialog id="идентификатор диалога"> <class>полное имя java-класса</class> <property name="свойство 1">значение 1</property> <property name="свойство 2">значение 2</property> ... <property name="свойство N">значение N</property> </dialog> Существуют следующие типы диалогов: 1. ru.ktelabs.portal.lcui.render.SimpleDialog Диалог, выводящий все содержащиеся в нем элементы управления, без Настроек нет какой либо дополнительной функциональности 2. ru.ktelabs.portal.lcui.render.RedirectDialog Диалог, осуществляющий при отображении переход на другую Настроек нет страницу. АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 78 Дата Копировал Формат А4 3. ru.ktelabs.portal.lcui.render.SuccessDialog Диалог для отображения сообщения об успехе Настроек нет выполнения операции. Выводит сообщение пользователю, заменяя в нем подстроку «%event%» названием события. 4. ru.ktelabs.portal.lcui.render.TwoColumnDialog Диалог renderer – идентификатор используемый для диалога, позволяющий отобразить содержимое в две колонки. отображения колонок (разные диалоги для разных колонок установить нельзя) Для всех диалогов есть одна дополнительная настройка – container, используемый диалогом контейнер. Задается она аналогично другим элементам property: <property name="container">идентификатор контейнера</property> 5.15. Объявление источников данных В элементе объявления источника данных должен быть указан его идентификатор (атрибут id) и java-класс источника данных (через атрибут class или дочерний элемент class). Для источника данных могут быть так же указаны дополнительные свойства, перечень и назначение которых будет зависеть от конкретного класса источника данных. Схематично объявление источника данных выглядит следующим образом: <datasource id="идентификатор источника данных"> <class>полное имя java-класса</class> <property name="свойство 1">значение 1</property> <property name="свойство 2">значение 2</property> ... <property name="свойство N">значение N</property> </datasource> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 79 Дата Копировал Формат А4 Существуют следующие типы источников данных: 1. ru.ktelabs.portal.lcui.ds.Array Настройки: Получает данные через HTTP- запрос. Страница с url – ссылка на страницу для получения данных которой получаются данные timeout – таймаут для HTTP-запроса к странице должна предоставлять их root – массив внутри возвращаемой структуры, из которой в формате JSON. следует читать данные. map – устанавливает имена для полей полученного по HTTP массива данных. Состоит из элементов property. Имя свойства внтуреннго property – имя колонки в источнике данных, значение настройки – соответствующий номер в массиве. Пример: <datasource id="userlist"> <class>ru.ktelabs.portal.lcui.ds.Array</class> <property name="url">/portal/ds/userlist.jsp</property> <property name="root">data</property> <property name="map"> <property name="id">0</property> <property name="name">1</property> <property name="login">2</property> <property name="mail">3</property> </property> </datasource> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 80 Дата Копировал Формат А4 5.16. Объявление элементов управления В объявление элемента управления должен быть указан его идентификатор (атрибут id) и java-класс элемента управления (через атрибут class или дочерний элемент class). Для элемента управления могут быть так же указаны дополнительные свойства, перечень и назначение которых будет зависеть от конкретной реализации. Схематично объявление элемента управления выглядит следующим образом: <control id="идентификатор элемента управления"> <class>полное имя java-класса</class> <property name="свойство 1">значение 1</property> <property name="свойство 2">значение 2</property> ... <property name="свойство N">значение N</property> </control> Существуют следующие элементы управления: 1. ru.ktelabs.portal.lcui.controls.Checkbox «нет» Настроек нет 2. Поле позволяющее выбрать «да» или ru.ktelabs.portal.lcui.controls.Classifier Отображает дерево с возможностью множественного Настроек нет выбора его узлов 3. ru.ktelabs.portal.lcui.controls.Datepicker Поле для выбора даты Настроек нет 4. ru.ktelabs.portal.lcui.controls.EditTags Создает несколько текста Настроек нет полей с ввода подписями соответствующих полям метаданных разрешенных для документа 5. ru.ktelabs.portal.lcui.controls.GridSelect multiple – позволяет выбрать несколько Выводит список вариантов в виде таблицы с возможностью АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 81 Дата Копировал Формат А4 записей или только одну фильтрации элементов списка. Позволяет выбрать один или несколько элементов списка в зависимости от настроек 6. ru.ktelabs.portal.lcui.controls.MyDocsPopup Элемент управления страницу Настроек нет в открывает popup-окне. Предназначен для открытия окон просмотра и редактирования на странице «Мои документы». На других страницах не работает. 7. ru.ktelabs.portal.lcui.controls.RadiobuttonsGroup Поле с выбором одного варианта из нескольких при помощи группы Настроек нет «радиокнопок» 8. Выбор ru.ktelabs.portal.lcui.controls.Select multiple – позволяет ли выбрать несколько одного или нескольких вариантов из предложенных. записей или только одну 9. Выводит статический текст ru.ktelabs.portal.lcui.controls.StaticText Настроек нет Поле 10. ru.ktelabs.portal.lcui.controls.TextArea height – высота поля ввода по-умолчанию для ввода многострочного текста Поле для ввода строки 11. ru.ktelabs.portal.lcui.controls.TextInput Настроек нет 12. ru.ktelabs.portal.lcui.controls.FileUpload url – адрес страницы через которую Элемент управления позволяет загрузить файл на сервер. осуществляется загрузка файлов loading – строка которая будет выводиться во время отправки файла АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 82 Дата Копировал Формат А4 loaded – строка которая будет выводиться после того как файл загрузился. Можно использовать подстроку %filename% для подстановки имени файла 5.17. Объявление событий В объявление элемента обязательными являются атрибуты id (указывает идентификатор объявляемого события) и dialog (устанавливает идентификатор диалога, используемого для данного события). Содержимое же элемента содержит настройки для используемого диалога и его контейнера, а потому зависит от их конкретных реализаций. Поля относящиеся к настройкам контейнера и диалога выделяются разными пространствами имен: «urn:ru.ktelabs:container» и «urn:ru.ktelabs:dialog» соответственно. Схематично объявление события выглядит следующим образом: <event dialog="идентификатор события" dialog="идентификатор диалога" xmlns:container="urn:ru.ktelabs:container" xmlns:dialog="urn:ru.ktelabs:dialog"> <container:title/> <dialog:field/> ... </event> 5.17.1. Настройки контейнеров для событий 1. ru.ktelabs.portal.lcui.DefaultContainer № Название Описание элемента 1. путь к js-файлам jQuery. По-умолчанию используется путь jquery-home прописанный аналогичной настройкой при объявление АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 83 Дата Копировал Формат А4 контейнера Пример: <container:jquery-home>/portal/js</container:jquery-home> 2. обеспечивает затемнениие страницы под диалогом; значение – overlay процент затемнения (opacity). По-умолчанию используется путь прописанный аналогичной настройкой при объявление контейнера Пример: <container:overlay>50</container:overlay> 3. может ли пользователь изменять размер диалога; возможные resizable значения – true и false. По-умолчанию используется путь прописанный аналогичной настройкой при объявление контейнера Пример: <container:resizable>true</container:resizable> 4. Ширина диалога в пикселях. По-умолчанию используется путь width прописанный аналогичной настройкой при объявление контейнера Пример: <container:width>500</container:width> 5. Высота диалога в пикселях. По-умолчанию используется путь height прописанный аналогичной настройкой при объявление контейнера Пример: <container:height>200</container:height> 6. Текст заголовка выводимого окна. title Пример: <container:title>Заголовок</container:title> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 84 Дата Копировал Формат А4 5.17.2. Настройки диалогов для событий 1. ru.ktelabs.portal.lcui.render.SimpleDialog № Название Описание элемента 1. Позволяет field добавить элемент управления в диалог. Идентификатор элемента управления указывается через атрибут control. Для элементов управления, предполагающие ввод данных с последующей отправкой на сервер, необходимо указать имя уникальное в пределах описания события. Сделать это можно при помощи атрибута name. По-умолчанию элементы управления создается с подписью. Текст для подписи получается из каталога сообщений портала по следующему коду: text:<код события>/<имя элемента управления> Что бы не выводить подпись можно указать атрибут hideLabel со значением true. Также можно создать место под подпись, но с пустым сообщением задав атрибут emptyLabel со значением true. В качестве содержимого элемент может содержать настройки для данного элемента управления. Перечень настроек зависит от конкретного элемента управления, он приведен в таблице ниже. Пример: АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 85 Дата Копировал Формат А4 <dialog:field control="идентификатор элемента управления" name="имя элемента управления" hideLabel="false" emptyLabel="true"> ... </dialog:field> 2. Позволяет изменить надписи на кнопках OK и Cancel. Атрибут button code указывает на код кнопки (OK/Cancel, регистр не важен), в содержимом элемента указывается текст надписи. Пример: <dialog:button code="ok">Принять</dialog:button> Настройки элементов управления, допустимые в dialog:field: 1. ru.ktelabs.portal.lcui.controls.Checkbox Через параметр text настраивается текст вопроса для поля Шаблон настроек: <text> текст вопроса</text> 2. ru.ktelabs.portal.lcui.controls.Classifier Через параметр url настраивается адрес страницы для получения дерева Шаблон настроек: классификаторов. Параметры и width height <url>/portal/classification.jsp</url> позволяют настроить размеры <width>300</width> окна <height>100</height> дерево <classifiers больших для заданных размеров, >main.menu regions</classifiers> то создаются панели прокрутки). классификатора оказывается (если слишком Параметр classifiers позволяет задать список названий классификаторов (разделителями АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 86 Дата Копировал Формат А4 служат пробелы, запятые или точки с запятой). Список добавляется к URL страницы для получения дерева в качестве параметра «roots». 3. ru.ktelabs.portal.lcui.controls.Datepicker Нет настроек 4. ru.ktelabs.portal.lcui.controls.EditTags Нет настроек 5. ru.ktelabs.portal.lcui.controls.GridSelect Параметры width и height позволяют настроить Через Шаблон настроек: размеры параметр можно таблицы. column-title настроить заголовок <column-title>Заголовок</column-title> столбца с названиями вариантов <width>300</width> ответа. <height>100</height> Источник <datasource данных через ref="идентификатор источника данных"> <property name="value">id</property> <property name="text">name</property> </datasource> настраивается параметр атрибутом datasource: задается ref идентификатор данных. источника Какое из полей источника данных использовать как значение, а какое в качестве названия варианта указывается через свойства именем (элементы property с с именем свойства в атрибуте name и значением в элемента) value содержимом и text соответственно. 6. ru.ktelabs.portal.lcui.controls.MyDocsPopup Этот элемент управления является служебным и предназначен для перенаправления пользователя в АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 87 Дата Копировал Формат А4 рамках страницы popup-окна Мои Документы. Его нельзя использовать в качестве поля SimpleDialog. 7. ru.ktelabs.portal.lcui.controls.RadiobuttonsGroup Если задан параметр group, то варианты оформляются в виде группы Шаблон настроек: полей заголовком. (fieldset) Параметр с empty <group>Заголовок</group> позволяет выводить варианты на <empty/> разных <datasource отсутствует, строках (если то варианты одной строкой, ref="идентификатор источника данных"> выводятся <property name="value">id</property> разделенные пробелами). <property name="text">name</property> </datasource> Источник данных через настраивается параметр атрибутом datasource: задается ref идентификатор данных. он источника Какое из полей источника данных использовать как значение, а какое в качестве названия варианта указывается через свойства именем (элементы с property с именем свойства в атрибуте name и значением в содержимом элемента) value и text соответственно. 8. ru.ktelabs.portal.lcui.controls.Select Параметр empty позволяет зависимости полученных Шаблон настроек: от данных из источника добавлять на первую позицию <empty>По-умолчанию</empty> вариант ответа с пустым АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. вне Лист 88 Дата Копировал Формат А4 <datasource значением ref="идентификатор источника данных"> <property name="value">id</property> <property name="text">name</property> </datasource> и названием задаваемым параметром. Источник данных через настраивается параметр атрибутом datasource: задается ref идентификатор данных. источника Какое из полей источника данных использовать как значение, а какое в качестве названия варианта указывается через свойства именем (элементы property с с именем свойства в атрибуте name и значением в содержимом элемента) value и text соответственно. 9. ru.ktelabs.portal.lcui.controls.StaticText Все содержимое dialog:field вместе с разметкой будет выведено в диалог. Шаблон настроек: <p> Статический текст<br/> Список: <ul> <li>Пункт 1</li> <li>Пункт 2</li> <li>Пункт 3</li> </ul> </p> 10. ru.ktelabs.portal.lcui.controls.TextArea Высота поля ввода настраивается через элемент с именем property и атрибутом name равным АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 89 Дата Копировал Формат А4 Шаблон настроек: «height». <property name="height">50</property> задан, Если значение настроек параметр не берется из используемого элемента управления. 11. ru.ktelabs.portal.lcui.controls.TextInput Нет настроек 12. ru.ktelabs.portal.lcui.controls.FileUpload Через параметр url можно настроить адрес страницы через которую осуществляется загрузка файлов. Шаблон настроек: Параметр loading задает <loading>Файл загружается...</loading> сообщение которое будет <loaded>Файл %filename% загружен</loaded> выводиться во время отправки <url>/portal/ds/file-upload.jsp</url> файла. При помощи параметра loaded задается строка, которая будет выводиться после того как файл загрузился. использовать %filename% Можно подстроку для подстановки имени файла 2. ru.ktelabs.portal.lcui.render.RedirectDialog № Название Описание элемента 1. Позволяет перенаправлять пользователя по ссылке при открытие redirect диалога. Ссылка, на которую происходит переход, задается в теле элемента. Пример: <dialog:redirect>/portal/page.jsp</dialog:redirect> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 90 Дата Копировал Формат А4 2. Позволяет перенаправлять пользователя по ссылке при открытие popup диалога. Перенаправление реализуется стронним элементом управления, идентификатор которого задается через атрибут control. На текущий момент есть только одна реализация - ru.ktelabs.portal.lcui.controls.MyDocsPopup, обеспечивающая перенаправление в рамках popup окна на страницах раздела «Мои документы». Пример: <dialog:popup control="mydocs-popup">/portal/page</dialog:popup> В строку при перенаправление происходит подстановка некоторых значений из окружения: {@meta} - заменяется на идентификатор документа {@type} - заменяется на код типа документа {@user} - заменяется на идентификатор текущего пользователя Перенаправление можно сделать условным при помощи атрибута referrer, заданного у элемента redirect или popup. В атрибуте можно задать выражение RegExp, которое будет применено к имени текущей страницы. Если имя страницы (часть URL без протокола, хоста и порта) соответствует выражению, то производится переход, иначе продолжается проверка дальнейших элементов. Таким образом, диалог может содержать любое число элементов redirect и popup, а переход осуществится по URL, заданному в первом по порядку элементе с подходящим полем referrer или без такого вообще. Пример: <event id="event" dialog="redirect"> <dialog:popup control="popup-implementation:ext-js-mydocs" referer="/portal/faces/public/info/mydocs.*" АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 91 Дата Копировал Формат А4 >/portal/faces/public/info/popup/edit?edp:metaId={@meta}</dialog:popup> <dialog:redirect referer="/portal/faces/public/info/popup.*" >/portal/faces/public/info/popup/edit?edp:metaId={@meta}</dialog:redirect> <dialog:redirect>/portal/faces/public/info/edit?ed:metaId={@meta}</dialog:redirect> </event> 3. ru.ktelabs.portal.lcui.render.SuccessDialog № Название Описание элемента 1. Предназначен success для выполнении выдачи действия уведомления и затем, об если успешном необходимо, перенаправлять на другую страницу. Настройки задаются через элементы property (аналогично объявлению диалогов, контейнеров и т.д.). Через свойство message задается сообщение, выводимое пользователю, через свойство redirect – URL для перехода на другую страницу. Внутри текста сообщения можно использовать ключевое слово «%event%», оно будет заменено названием операции. В URL перенаправление так же производится подстановка значений из окружения ({@meta}, {@type} и т.д.) Пример: <dialog:success> <property name="message"> Операция %event% успешно выполнена! </property> <property name="redirect" >/portal/page?edp:metaId={@meta}</property> </dialog:success> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 92 Дата Копировал Формат А4 4. ru.ktelabs.portal.lcui.render.TwoColumnDialog № Название Описание элемента 1. Описывает column колонку диалога. Отображение колонки делегируется другому диалогу, идентификатор которого задается в атрибуте renderer. В содержимом элемента column должны быть все настройки для данного диалога (например элементы dialog:field в случае SimpleDialog) Пример: <dialog:column renderer="simple"> <dialog:field/> <dialog:field/> ... </dialog:column> 2. Позволяет изменить надписи на кнопках OK и Cancel. Атрибут button code указывает на код кнопки (OK/Cancel, регистр не важен), в содержимом элемента указывается текст надписи. Пример: <dialog:button code="ok">Принять</dialog:button> 5.18. XSD-схема lifecycle-ui.xml <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="lifecycle-ui"> <xs:complexType> <xs:all> <xs:element name="container" type="class-id-binding-with-properties"/> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 93 Дата Копировал Формат А4 <xs:element name="dialog" type="class-id-binding-with-properties"/> <xs:element name="datasource" type="class-id-binding-with-properties"/> <xs:element name="control" type="class-id-binding-with-properties"/> <xs:element name="event"> <xs:complexType> <xs:sequence> <xs:any namespace="##any"/> </xs:sequence> <xs:attribute name="id" use="required"/> <xs:attribute name="dialog" use="required"/> </xs:complexType> </xs:element> <xs:element name="default-container" type="class-id-binding-with-properties"/> <xs:element name="default-success"> <xs:complexType> <xs:sequence> <xs:any namespace="##any"/> </xs:sequence> <xs:attribute name="dialog" use="required"/> </xs:complexType> </xs:element> </xs:all> </xs:complexType> </xs:element> <xs:complexType name="class-id-binding-with-properties"> <xs:all> <xs:element name="class" minOccurs="0"/> <xs:element ref="property" minOccurs="0"/> </xs:all> <xs:attribute name="id" use="required"/> <xs:attribute name="class"/> </xs:complexType> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 94 Дата Копировал Формат А4 <xs:complexType name="propertyType"> <xs:all> <xs:element name="property" type="propertyType" minOccurs="0"/> </xs:all> <xs:attribute name="name" use="required"/> </xs:complexType> <xs:element name="property" type="propertyType"/> </xs:schema> 5.19. XSD-схема описания ЖЦ Стандарт XML Schema не позволяет точно описать все особенности схемы жизненного цикла. Разработанный XSD имеет следующие недостатки: – не позволяет использовать упрощённый вариант записи пользовательских операций (без указания xml namespace) – допускает одновременное указание атрибутов «event» и «timeout» у тега «waitfor» – допускает одновременное указание атрибутов «value», «variable», «object», «argument» у тега «param» – допускает использование блока с описанием условий, необходимых для выполнения действия (тег «acl»), внутри обработчиков автоматических событий (<waitfor timeout=””>). Блок будет проигнорирован интерпретатором ЖЦ, однако такая схема некорректна. <?xml version="1.0" <xs:schema encoding="UTF-8"?> xmlns:xs="http://www.w3.org/2001/XMLSchema" element- FormDefault="qualified"> <xs:element name="lifecycle"> <xs:annotation> <xs:documentation>Корневой элемент схемы жизненного цикла</xs:documentation> </xs:annotation> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="creation-check"/> <xs:element ref="default-transformer"/> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 95 Дата Копировал Формат А4 <xs:element ref="objects"/> <xs:element ref="common-events"/> <xs:element ref="stage"/> </xs:choice> <xs:attributeGroup ref="root-attributes"/> </xs:complexType> </xs:element> <xs:attributeGroup name="root-attributes"> <xs:attribute name="initial-stage" use="required"> <xs:annotation> <xs:documentation>Начальное состояние</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="code" use="required"> <xs:documentation>Идентификатор схемы</xs:documentation> <xs:annotation> </xs:annotation> </xs:attribute> <xs:attribute name="version" use="required"> <xs:annotation> <xs:documentation>Версия схемы</xs:documentation> </xs:annotation> </xs:attribute> </xs:attributeGroup> <xs:element name="creation-check"> <xs:annotation> <xs:documentation>Блок описания условий и ограничений для создания нового документа</xs:documentation> </xs:annotation> <xs:complexType> <xs:complexContent> <xs:extension base="parameters"> <xs:attribute name="action" use="required"> <xs:annotation> <xs:documentation>Код метода проверки условий и ограничений</xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 96 Дата Копировал Формат А4 </xs:complexContent> </xs:complexType> </xs:element> <xs:complexType name="parameters"> <xs:annotation> <xs:documentation>Дополнительные параметры</xs:documentation> </xs:annotation> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" ref="param"/> </xs:sequence> </xs:complexType> <xs:element name="param"> <xs:annotation> <xs:documentation>Параметр операции</xs:documentation> </xs:annotation> <xs:complexType mixed="true"> <xs:attribute name="name" use="required"> <xs:annotation> <xs:documentation>Имя параметра</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="value"> <xs:annotation> <xs:documentation>Значение</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="variable"> <xs:annotation> <xs:documentation>Вычислимое значение</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="object"> <xs:annotation> <xs:documentation>Ссылка на связанный объект</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="argument"> <xs:annotation> <xs:documentation>Информация от АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 97 Дата Копировал Формат А4 пользователя</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="default-transformer"> <xs:annotation> <xs:documentation>Название xsl-трансформера, используемого по умолчанию</xs:documentation> </xs:annotation> <xs:complexType> <xs:attribute name="code" use="required"> <xs:annotation> <xs:documentation>Код xsl-трансформера</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="objects"> <xs:annotation> <xs:documentation>Список описаний связанных объектов</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" ref="object"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="object"> <xs:annotation> <xs:documentation>Описание связанного объекта</xs:documentation> </xs:annotation> <xs:complexType> <xs:group minOccurs="0" <xs:attribute maxOccurs="unbounded" name="name" ref="any"/> use="required"> <xs:annotation> <xs:documentation>Имя связи</xs:documentation> </xs:annotation> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 98 Дата Копировал Формат А4 </xs:attribute> <xs:attribute name="method" use="required"> <xs:annotation> <xs:documentation>Метод получения связанных объектов</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="object"> <xs:annotation> <xs:documentation>Ссылка на описанную ранее связь</xs:documentation> </xs:annotation> </xs:attribute> <xs:anyAttribute processContents="skip"/> </xs:complexType> </xs:element> <xs:group name="any"> <xs:sequence> <xs:any processContents="skip"> <xs:annotation> <xs:documentation>Описание произвольного элемента</xs:documentation> </xs:annotation> </xs:any> </xs:sequence> </xs:group> <xs:element name="common-events"> <xs:complexType> <xs:choice minOccurs="0" <xs:element maxOccurs="unbounded"> ref="acl"/> <xs:group ref="waitfor"/> </xs:choice> <xs:attribute name="id" use="required"> <xs:annotation> <xs:documentation>Идентификатор блока</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="stage"> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 99 Дата Копировал Формат А4 <xs:annotation> <xs:documentation>Описание состояния документа</xs:documentation> </xs:annotation> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="name"/> <xs:element ref="access"/> <xs:element ref="on-enter"/> <xs:element ref="acl"/> <xs:element ref="include"/> <xs:group ref="waitfor"/> </xs:choice> <xs:attribute name="id" use="required"> <xs:annotation> <xs:documentation>Идентификатор состояния</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="name"> <xs:annotation> <xs:documentation>Название состояния</xs:documentation> </xs:annotation> <xs:complexType mixed="true"> <xs:attribute name="lang" use="required"> <xs:annotation> <xs:documentation>Код языка</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="access"> <xs:annotation> <xs:documentation>Описание критериев доступа</xs:documentation> </xs:annotation> <xs:complexType> <xs:group ref="any" maxOccurs="unbounded"/> </xs:complexType> </xs:element> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 100 Дата Копировал Формат А4 <xs:element name="for"> <xs:annotation> <xs:documentation>Описание логического статуса</xs:documentation> </xs:annotation> <xs:complexType> <xs:group maxOccurs="unbounded" <xs:attribute ref="any"/> name="type" use="required"> <xs:annotation> <xs:documentation>Код статуса</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="on-enter"> <xs:annotation> <xs:documentation>Операции, выполняемые при переходе в состояние</xs:documentation> </xs:annotation> <xs:complexType> <xs:group minOccurs="0" maxOccurs="unbounded" ref="operation"/> </xs:complexType> </xs:element> <xs:element name="acl"> <xs:annotation> <xs:documentation>Описание требований к правам пользователя</xs:documentation> </xs:annotation> <xs:complexType> <xs:group minOccurs="0" <xs:attribute maxOccurs="unbounded" name="id" ref="any"/> use="required"> <xs:annotation> <xs:documentation>Идентификатор блока требований (для последующей ссылки)</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="ref"> <xs:annotation> <xs:documentation>Ссылка на ранее описанный блок требований</xs:documentation> </xs:annotation> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 101 Дата Копировал Формат А4 </xs:attribute> </xs:complexType> </xs:element> <xs:element name="include"> <xs:annotation> <xs:documentation>Подключение блока часто используемых действий</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" ref="acl"/> </xs:sequence> <xs:attribute name="common-events" use="required"> <xs:annotation> <xs:documentation>Идентификатор блока</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> <xs:group name="operation"> <xs:choice> <xs:element ref="set"/> <xs:element ref="switch"/> <xs:element ref="terminate"/> <xs:element ref="perform"/> <xs:any namespace="##other" processContents="skip"/> </xs:choice> </xs:group> <xs:element name="set"> <xs:annotation> <xs:documentation>Установка переменной ЖЦ</xs:documentation> </xs:annotation> <xs:complexType mixed="true"> <xs:attribute name="var" use="required"> <xs:annotation> <xs:documentation>Имя переменной</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 102 Дата Копировал Формат А4 <xs:element name="switch"> <xs:annotation> <xs:documentation>Смена состояния</xs:documentation> </xs:annotation> <xs:complexType> <xs:attribute name="to" use="required"> <xs:annotation> <xs:documentation>Идентификатор состояния</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="object"> <xs:annotation> <xs:documentation>Ссылка на связанный объект</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="terminate"> <xs:annotation> <xs:documentation>Завершение жизненного цикла</xs:documentation> </xs:annotation> <xs:complexType> <xs:attribute name="object"> <xs:annotation> <xs:documentation>Ссылка на связанный объект</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="perform"> <xs:annotation> <xs:documentation>Выполнение пользовательской операции</xs:documentation> </xs:annotation> <xs:complexType> <xs:complexContent> <xs:extension base="parameters"> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 103 Дата Копировал Формат А4 <xs:attribute name="action" use="required"> <xs:annotation> <xs:documentation>Идентификатор операции</xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element> <xs:group name="waitfor"> <xs:sequence> <xs:element name="waitfor"> <xs:annotation> <xs:documentation>Описание действия пользователя</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="acl"> <xs:annotation> <xs:documentation>Описание вам требований к пра- пользователя</xs:documentation> </xs:annotation> <xs:complexType> <xs:group minOccurs="0" maxOccurs="unbounded" ref="any"/> <xs:attribute name="ref"> <xs:annotation> <xs:documentation>Ссылка описанный на ранее блок</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> <xs:element minOccurs="0" name="params" type="parameters"> <xs:annotation> <xs:documentation>Дополнительные параметры</xs:documentation> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 104 Дата Копировал Формат А4 </xs:annotation> </xs:element> <xs:group minOccurs="0" maxOccurs="unbounded" ref="operation"/> </xs:sequence> <xs:attribute name="event"> <xs:annotation> <xs:documentation>Идентификатор действия</xs:documentation> </xs:annotation> </xs:attribute> <xs:attribute name="alias"> <xs:simpleType> <xs:restriction base="xs:token"> <xs:enumeration value="delete"/> <xs:enumeration value="edit-meta"/> <xs:enumeration value="edit-binds"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="timeout"> <xs:annotation> <xs:documentation>Имя переменной ЖЦ</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> </xs:sequence> </xs:group> </xs:schema> АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 105 Дата Копировал Формат А4 ОПИСАНИЕ БД 6. acl_entry (Список пользователей, имеющих индивидуальные права доступа к документу при использовании регламентов, основанных на списках контроля доступа, а не на правилах) id integer Идентификатор записи document_acl_id integer Идентификатор права доступа к документу Идентификатор пользовате- integer user_id ля acl_types (Типы записей об индивидуальных правах доступа) id integer Идентификатор типа сode character varying(128) Код типа («чтение», «запись», «удаление» …) attachment (Приложения к документам) id integer Идентификатор objsize integer Размер приложения в байтах creator_id integer Идентификатор создателя mimetype character varying(256) Тип MIME приложения filename character varying(2048) Имя приложения (файла) code character varying(256) Код приложения ctime timestamp without time zone Дата создания приложения otime timestamp without time zone Дата создания файла приложения bytea value Содержимое приложения в двоичном виде АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 106 Дата Копировал Формат А4 Идентификатор integer meta_id документа, которому принадлежит приложение Ширина integer imgwidth приложения- изображения Высота integer imgheight приложения- изображения Идентификатор integer parent_id родитель- ского приложения attachment_desc (Описания приложений к документам) id integer Идентификатор описания aid integer Идентификатор приложения lang integer Идентификатор языка title character varying(1000) Текст описания binding_type (Справочник типов привязок к узлам рубрикаторов) id integer Идентификатор code character varying(100) Код binding_type_text (Справочник наименований типов привязок к узлам рубрикаторов) Идентификатор типа привяз- integer binding_type_id ки language_id integer Код языка name character varying(4000), Наименование типа description character varying(4000) Описание типа АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 107 Дата Копировал Формат А4 database_updates (Информация о последнем произведённом обновлении БД) character varying(512) fname Имя файла скрипта обновления ctime timestamp with time zone Время выполнения code character varying(250) Код группы обновлений document (Документы АИС ТРИКТ) id integer Идентификатор документа status integer Идентификатор статуса документа Идентификатор типа доку- integer document_type_id мента Идентификатор integer creator_person_id создателя документа character varying(255) uuid Уникальный идентификатор документа mdauthor character varying(1024) Имя автора документа mdtitle character varying(4000) Название документа mdlang character varying(100) Код языка документа mdpub character varying(200) Дата публикации документа xdoc_id integer Идентификатор представления документа в виде XML character varying(700) external_storage_uri Идентификатор документа на внешнем хранилище timestamp with time zone created Дата создания документа АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 108 Дата Копировал Формат А4 document_access_log (Информация о времени последнего просмотра документа пользователем) document_id integer Идентификатор документа user_id integer Идентификатор пользователя timestamp with time zone atime Время просмотра document_acl (Уровень индивидуального доступа к документу) id integer Идентификатор записи document_id integer Идентификатор документа type_id integer Идентификатор типа доступа («чтение», «удаление», …) Идентификатор режима до- integer aclmode ступа («для владельца», «для списка», «для всех») document_comment (Связь между документами и обсуждениями) id integer Идентификатор записи document_id integer Идентификатор документа theme_id integer Идентификатор темы document_fields_index (Значения индексируемых полей документов) id integer Идентификатор записи document_id integer Идентификатор документа path_id integer Идентификатор пути XPath field_value character varying(4000) Значение АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 109 Дата Копировал Формат А4 document_fields_paths (Справочник XPath для индексируемых полей документов) id integer Идентификатор пути path character varying(1000) Путь XPath document_group (Привязка документов к группам) id integer Идентификатор привязки group_id integer Идентификатор группы document_id integer Идентификатор документа document_lc (Соответствие схем жизненного цикла типам документов) Идентификатор integer document_source_id источника документа lc_template_id integer Идентификатор схемы ЖЦ document_type_id integer Идентификатор типа документа initialstage character varying(400) Код начальной стадии initial_binding_stage character varying(400) Код начальной привязки bindingid integer document_link_set (Справочник типов связей, допустимых между различными типами документов) integer master Идентификатор типа документа, который может выступать в роли Master integer slave Идентификатор типа документа, который может выступать в роли Slave АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 110 Дата Копировал Формат А4 Идентификатор типа связи integer link document_link_text (Справочник наименований типов связей между документами) link_type_id integer Идентификатор типа связи language_id integer Идентификатор языка name character varying(4000) Наименование description character varying(4000) Описание document_link_type (Справочник типов связей между документами) id integer Идентификатор типа связи code character varying(100) Код связи manual integer Флаг определяющий могут ли пользователи использовать эту связь из интерфейса (1) или она доступна только программно (0) document_links (Связи между документами АИС ТРИКТ) integer master_document_id Идентификатор документа выступающего в роли Master integer slave_document_id Идентификатор документа выступающего в роли Slave integer linktype Идентификатор типа связи document_source (Справочник источников появления документов) integer id Идентификатор источника АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 111 Дата Копировал Формат А4 character varying(100) code Код источника document_source_text (Справочник наименований источников появления документов) language_id integer Идентификатор языка document_source_id integer Идентификатор источника name character varying(4000) Наименование description character varying(4000) Описание document_status (Статусы документов) id integer Идентификатор статуса code character varying(100) Код статуса document_storages (Справочник классов-расширений для сервиса доступа к документам) Идентификатор integer id класса- расширения character varying(128) schema_name Код класса расширения (используются как префикс для уникального идентификатора документа во внешнем хранилище) character varying(1024) java_class_name Имя класса-расширения document_tag (Теги документов, не имеющие значений и общие для всех пользователей) integer id Идентификатор записи АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 112 Дата Копировал Формат А4 document_id integer Идентификатор документа tag_id integer Идентификатор тега document_tags (Справочник тегов документа, не имеющий значений и общих для всех пользователей) id integer Идентификатор tagname character varying(760) Наименование тега document_tax_links (Связи между документами с привязкой к классификатору) id integer Идентификатор связи master_id integer Идентификатор документа выступающего в роли Master integer slave_id Идентификатор документа выступающего в роли Slave integer node_id Идентификатор узла классификатора integer linktype Идентификатор типа связи document_taxonomy (Привязки документов АИС ТРИКТ к рубрикаторам) document_id integer Идентификатор документа taxnode_id integer Идентификатор узла рубрикатора integer binding_type_id Идентификатор типа привязки document_type (Справочник типов документов) АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 113 Дата Копировал Формат А4 id integer Идентификатор root_node character varying(200) Имя корневого элемента XML-документа code character varying(100) Код типа документов deleted integer Флаг указывающий удален данный тип документов или нет Идентификатор XML доку- integer tpl_id мента содержащего шаблон для данного типа документов Идентификатор XML содер- integer schema_id жащего описание типа документа на языке XML Schema document_type_tags (Перечень допустимых метаданных для типа документов) Идентификатор типа доку- integer document_type_id ментов tag_id integer Идентификатор типа тега id integer Идентификатор записи перечня document_type_text (Справочник наименований типов документов) Идентификатор типа доку- integer document_type_id ментов language_id integer Идентификатор языка name character varying(4000) Наименование description character varying(4000) Описание АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 114 Дата Копировал Формат А4 document_versions (Информация о версиях документов) id integer Идентификатор версии document_id integer Идентификатор основного документа Идентификатор integer version_doc_id документа версии version_no integer Номер версии ctime timestamp with time zone Время создания версии creator_id integer Идентификатор пользователя создавшего версию Идентификатор XML доку- integer meta_rxml_id мента Флаг указывающий удалена integer deleted версия или нет document_versions_comments (Комментарии к версиям документов) Идентификатор версии до- integer document_version_id кумента character varying(4000) version_comment Текст комментария document_versions_sys_tags (Внутрисистемная дополнительная информация о версиях документов) id integer Идентификатор document_version_id integer Идентификатор версии документа integer systag_values_id Идентификатор значения си- АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 115 Дата Копировал Формат А4 стемного тега для версии документа events_log (Информация об операциях, совершённых с документом) numeric id Идентификатор записи об операции event_date timestamp without time zone Дата операции ip_id numeric Идентификатор IP-адреса с которого был отправлен запрос на выполнение операции numeric user_id Идентификатор пользователя произведшего операцию event_type character(20) Код типа операции event_code character(10) Код результата операции object_id character(20) Код объекта над которым была проведена операция character varying(1024) message Комментарий feed_last_update (Информация о времени последнего получения данных из RSSисточников, используемых в АИС) url character varying(2048) URL RSS-источника last_update timestamp without time zone Дата последнего сбора информации из источника forum (Связь между темой обсуждения и разделом классификатора) integer id Идентификатор связи между узлом классификатора (фо- АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 116 Дата Копировал Формат А4 рума) Идентификатор узла класси- integer node_id фикатора Идентификатор темы integer theme_id forum_message (Сообщения в обсуждениях документов или на форуме) id integer Идентификатор сообщения root_id integer Идентификатор корневого сообщения ветки Идентификатор integer parent_id родитель- ского сообщения Идентификатор integer document_id документа данного сообщения Идентификатор темы, к ко- integer theme_id торому принадлежит сообщение forum_theme (Темы (ветки) обсуждения) id integer Идентификатор темы title character varying(2048) Наименование темы ctime timestamp without time zone Время создания темы creator_id integer Идентификатор пользователя создавшего тему integer deleted Флаг указывающий на то удалена тема или нет group_role (Перечень ролей, которые автоматически выдаются пользователям при АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 117 Дата Копировал Формат А4 добавлении их в группу) role_id integer Идентификатор роли group_id integer Идентификатор группы groups (Группы пользователей) id integer Идентификатор группы code character varying(256) Код группы ctime timestamp without time zone Время создания группы creator integer Идентификатор пользователя создавшего группу Идентификатор integer profile_id jcr_search_data (Результаты поиска по репозиторию) Идентификатор запроса по- integer search_id иска character varying(120) uuid Уникальный идентификатор документа numeric search_score Релевантность документа запросу jcr_search_info (Запросы поиска по репозиторию) id integer Идентификатор запроса ctime timestamp with time zone Дата выполнения запроса language (Служебная таблица поддерживаемых языков интерфейса) integer id Идентификатор языка АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 118 Дата Копировал Формат А4 code character varying(100) Код языка name character varying(400) Наименование языка lc_state (Состояния документов) document_id integer Идентификатор документа stage_id integer Идентификатор состояния lc_template_id integer Идентификатор схемы ЖЦ документа character varying(400) currentstage Код текущего состояния документа Идентификатор пользовате- integer euser_id ля, который перевел документ в это состояние timestamp without time zone etime Время когда документ перешел в это состояние lc_states (Справочник состояний жизненных циклов) id integer Идентификатор состояния schema_id integer Идентификатор схемы ЖЦ, в которую входит данное состояние character varying(512) state_code Код состояния lc_template (Справочник схем жизненного цикла) id integer Идентификатор схемы template bytea Исходный код схемы code character varying(255) Код схемы АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 119 Дата Копировал Формат А4 lc_template_text (Справочник наименований схем жизненного цикла) lc_template_id integer Идентификатор схемы language_id integer Идентификатор языка name character varying(4000) Наименование description character varying(4000) Описание lc_var_values (Значения атрибутов жизненного цикла для документов) Идентификатор integer id записи о значении атрибута doc_id integer Идентификатор документа var_id integer Идентификатор атрибута value character varying(4000) Значение lc_vars (Справочник атрибутов жизненного цикла) id integer Идентификатор атрибута code character varying(512) Код атрибута lcclasses (Справочник классов-расширений для сервиса жизненного цикла) lcappclassname character varying(400) Имя класса-расширения lcnamespace character varying(255) Пространство имен для класса-расширения mail_attachments (Файловые вложения к сообщениям, рассылаемым по e-mail) id integer Идентификатор вложения message_id integer Идентификатор e-mail сообщения АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 120 Дата Копировал Формат А4 filename character varying(2048) Имя файла вложения value bytea Содержимое вложения mimetype character varying(256) MIME-тип вложения mail_messages (Очередь сообщений) id integer Идентификатор сообщения state integer Идентификатор статуса сообщения character varying(512) msg_from Адрес отправителя сообщения msg_subject character varying(1024) Заголовок сообщения msg_body text Тело сообщения msg_mime character varying(128) MIME-тип сообщения msg_charset character varying(128) Кодировка сообщения ctime timestamp without time zone Время создания ptime timestamp without time zone Время последней обработки письма dtime timestamp without time zone Время удаления письма storagetime integer Срок хранения письма после отправки последнему из адресатов mail_queue (Адресаты сообщений — пользователи системы) integer person_id Идентификатор пользователя адресата сообщения integer message_id Идентификатор сообщения АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 121 Дата Копировал Формат А4 Флаг указывающий было ли integer sent сообщения отправлено mail_queue_email (Адресаты сообщений — e-mail) id integer Идентификатор message_id integer Идентификатор сообщения sent integer Флаг указывающий было ли сообщения отправлено email character varying(512) Адрес получателя nameto character varying(512) Имя получателя mail_status (Справочник статусов сообщений) id integer Идентификатор статуса code character varying(256) Код статуса maillist_queue (Очередь рассылок) Идентификатор integer doc_id документа рассылки state integer Код состояния рассылки activation timestamp with time zone Время следующей рассылки periodstart timestamp with time zone Время предыдущей рассылки period integer Период рассылки сообщений filter text Сериализованный java- объект с настройками рассылки АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 122 Дата Копировал Формат А4 node_alias (Коды узлов рубрикаторов) Идентификатор узла рубри- integer taxnode_id катора character varying(400) alias Код узла person (Пользователи АИС) Идентификатор пользовате- integer id ля Идентификатор integer document_id документа профиля пользователя login character varying(200), Имя входа пользователя passwordhash character varying(64) Хэш пароля пользователя person_state_id integer Идентификатор состояния пользователя timestamp without time zone ctime Время регистрации пользователя character varying(100) activation_uuid Ключ активации пользователя Флаг указывающий на то integer account_expires включено ли ограничение на входы для данной учетной записи (по количество входов или по дате) Количество integer expiration_count входов разре- шенных для данной учетной записи timestamp without time zone expiration_date Время истечения срока действия учетной записи поль- АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 123 Дата Копировал Формат А4 зователя character varying(250) authmod Код модуля авторизации. Указывая код модуля, можно хранить профи- ли/производить аутентифи- кацию внешними средствами – например, в LDAP person_cookie (Идентификаторы (cookies) пользователей, используемые для автоматической аутентификации) Идентификатор пользовате- integer person_id ля character varying(200) cookie Идентификатор-cookie person_group (Привязка пользователей к группам) id integer Идентификатор привзяки group_id integer Идентификатор группы пользователей Идентификатор пользовате- integer user_id ля timestamp without time zone atime Время добавления пользователя в группу integer state Статус привязки person_role (Роли пользователей) role_type_id integer Идентификатор типа роли person_id integer Идентификатор пользователя АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 124 Дата Копировал Формат А4 person_state (Справочник состояний пользователей) id integer Идентификатор состояния code character varying(100) Код состояния person_state_text (Справочник наименований состояний пользователей) language_id integer Идентификатор языка person_state_id integer Идентификатор состояния пользователя name character varying(4000) Наименование description character varying(4000) Описание portal_exo_tables_mtime (Структура страниц портала) username character varying(500) Имя пользователя портала filename character varying(4000) Имя файла описания страницы timestamp without time zone mtime Время последней модификации страницы role_delegation (Иерархия ролей) role_id integer Идентификатор роли grant_role integer Идентификатор роли, которую обладатель роли может выдать role_type (Справочник ролей) АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 125 Дата Копировал Формат А4 id integer Идентификатор роли rolescope integer Идентификатор области действия роли Идентификатор типа привяз- integer binding_id ки к узлам рубрикатора character varying(100) code Код типа роли role_type_text (Справочник наименований ролей) role_type_id integer Идентификатор роли language_id integer Идентификатор языка name character varying(4000) Наименование description character varying(4000) Описание rolescope (Область действия роли) Идентификатор области дей- integer id ствия роли code character varying(100) code Код области действия rolescope_text (Справочник наименований для областей действия ролей) language_id integer Идентификатор языка rolescope_id integer Идентификатор области действия роли name character varying(4000) Наименование description character varying(4000) Описание rxml_document (XML-документы) АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 126 Дата Копировал Формат А4 Идентификатор integer id XML- документов timestamp without time zone ctime Дата создания XML- документа Исходный bytea body код XML- версии XML- документа Номер integer version документа rxml_nodes (Ноды XML-документов) Идентификатор ноды XML- integer node_id документа Идентификатор integer doc_id XML- документа Идентификатор пути к ноде integer dom1xpath_id без учета префиксов пространств имен Идентификатор пути к ноде integer dom2xpath_id с учетом префиксов пространств имен character varying(8000) value Значение ноды rxml_ns (Пространства имен XML-документов) Идентификатор integer id простран- ства имен prefix character varying(2000) Префикс пространства имен nsuri character varying(2000) URI пространства имен АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 127 Дата Копировал Формат А4 rxml_xpath1 (Пути к нодам XML-документов без учета префиксов пространств имен) id integer Идентификатор пути path character varying(2000) Путь rxml_xpath2 (Пути к нодам XML-документов с учетом префиксов пространств имен) id integer Идентификатор пути path character varying(2000) Путь stat_ip (IP-адреса) id numeric Идентификатор IP-адреса address character varying(100) IP-адрес sys_tag_values (Значения системных метаданных документов) id integer Идентификатор записи meta_id integer Идентификатор документа АИС Идентификатор integer tag_id поля си- стемных метаданных tagvalue character varying(4000) Значение поля ctime timestamp without time zone Время присвоения значения creator integer Идентификатор пользователя присвоившего значение sys_tags (Справочник системных метаданных документов) integer id Идентификатор поля АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. си- Лист 128 Дата Копировал Формат А4 стемных метаданных character varying(600) code Код поля системных метаданных tag_values (Значения метаданных документов) id integer Идентификатор записи meta_id integer Идентификатор документа АИС Идентификатор поля мета- integer tag_id данных tagvalue character varying(4000) Значение поля ctime timestamp without time zone Время присвоения значения creator integer Идентификатор пользователя присвоившего значение tags (Справочник метаданных) Идентификатор поля мета- integer id данных character varying(100) code Код поля метаданных tags_text (Справочник наименований метаданных) Идентификатор поля мета- integer tags_id данных language_id integer Идентификатор языка name character varying(4000) Наименование description character varying(4000) Описание АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 129 Дата Копировал Формат А4 taxonomy_attr (Справочник наименований разделов рубрикаторов) Идентификатор раздела руб- integer taxnode_id рикатора language_id integer Идентификатор языка name character varying(4000) Наименование description character varying(4000) Описание taxonomy_roots (Справочник рубрикаторов) taxnode_id integer Идентификатор рубрикатора code character varying(100) Код рубрикатора state_id integer Идентификатор состояния рубрикатора taxonomy_roots_text (Справочник наименований рубрикаторов) taxnode_id integer Идентификатор рубрикатора language_id integer Идентификатор языка name character varying(4000) Наименование description character varying(4000) Описание taxonomy_state (Справочник состояний рубрикаторов) Идентификатор integer id состояния рубрикатора character varying(100) code Код состояния рубрикатора taxonomy_state_text (Справочник наименований состояний рубрикаторов) integer language_id Идентификатор языка АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 130 Дата Копировал Формат А4 Идентификатор integer taxonomy_state_id состояния рубрикатора name character varying(4000) Наименование description character varying(4000) Описание taxonomy_tree (Структура рубрикаторов) Идентификатор узла рубри- integer id катора Идентификатор integer root_id корневого узла рубрикатора Ключ, описывающие струк- integer lbound туру вложенного множества («nested set») Ключ, описывающие струк- integer rbound туру вложенного множества («nested set») level integer Уровень узла дерева taxonomy_state_id integer Идентификатор состояния раздела рубрикатора voting_results (Результаты простых голосований, проводимых на портале) id integer Идентификатор ответа vote_id integer Идентификатор документа АИС представляющего голосование character varying(255) visitor Уникальный идентификатор cookie проголосовавшего посетителя АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 131 Дата Копировал Формат А4 character varying(255) choice Вариант ответа выбранный посетителем xsltemplates (Справочник xsl-шаблонов) id integer Идентификатор xsl-шаблона code character varying(600) Код шаблона filename character varying(4000) Путь к файлу шаблона mtime timestamp without time zone Дата последней модификации шаблона ping_brokenchanellog (Журнал отказов канала связи) timestamp without time zone brokentime Время когда канал вышел из строя timestamp without time zone recovertime Время когда канал был восстановлен ping_extratest (Журнал проведения дополнительных тестов) id integer Идентификатор записи extratest_id integer Идентификатор дополни- тельного теста Идентификатор записи об integer httpresponse_id успешном тесте сайта Идентификатор записи о не- integer fail_id удачном тесте сайта character varying(2000) reason Комментарий к результату теста integer result Код результата теста АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 132 Дата Копировал Формат А4 ping_extratestlist (Справочник дополнительных тестов') id integer Идентификатор теста code character varying(200) Уникальный код теста name character varying(600) Имя теста description character varying(2000), Описание теста ping_fails (Информация о неудачных проверках сайтов) id integer Идентификатор записи testtime timestamp without time zone Время проверки Description character varying(2000) Описание проверки ping_httpresponse (Информация об успешных проверках сайтов) id integer Идентификатор записи content bytea Содержимое загруженной страницы сайта requeststart timestamp without time zone Время отправления запроса responsestart timestamp without time zone Время получения первого ответа timestamp without time zone htmlresponsestart Время получения первого байта конечной страницы (после перенаправлений) timestamp without time zone responsefinish Время завершения загрузки страницы integer refaveragetime Среднее время отклика референтных сайтов на момент проверки АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 133 Дата Копировал Формат А4 ping_referentsites (Справочник референтных сайтов для нормирования результатов проверок) Идентификатор референтно- integer id го сайта name character varying(600) Имя сайта description character varying(2000) Описание сайта url character varying(2000) Ссылка на страницу сайта activity integer Флаг активности референтного сайта ping_result (Справочник результатов проверок) Идентификатор integer id результата проверки code character varying(100) Уникальный код результата description character varying(2000) Описание результата ping_schedule (Расписание проверок (интервалы, в которые производится мониторинг)) id integer Идентификатор интервала starttime timestamp without time zone Время начала интервала stoptime timestamp without time zone Время окончания интервала ping_settings (Настройки системы мониторинга) frequency integer Периодичность проверки сайтов (в минутах) АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 134 Дата Копировал Формат А4 brokenfrequency Периодичность integer проверки состояния канала (в секундах) workstate Флаг указывающий на то integer включен или выключен сервис мониторинга chanelbroken integer Флаг состояния канала lastruntime timestamp without time zone Время последнего запуска проверки сайтов lastbrokentime timestamp without time zone Время последнего падения канала lastrecoverytime timestamp without time zone Время последнего восстановления канала useragent character varying(600) Значение HTTP-заголовка User-Agent используемое при проверке сайтов quantity Максимальное integer количество одновременно проверяемых сайтов pause Пауза после первой неудач- integer ной попытки доступа к сайту (в миллисекундах) ping_siteoptions (Список сайтов для мониторинга) id integer Идентификатор сайта name character varying(2000) Наименование сайта url character varying(2000) Адрес страницы сайта document_id integer Идентификатор документа АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 135 Дата Копировал Формат А4 описания сайта Флаг, указывающий на то integer watch включен или нет мониторинг для данного сайта Флаг, указывающий на то integer icmp надо ли проверять сайт с помощью ICMP Ping, если проверка по HTTP закончилась неудачей character varying(2000) regexp Выражение RegExp на соответствие которому проверяется загруженная страница сайта Идентификатор integer last_fail_id последней неудачной проверки сайта Идентификатор integer last_response_id последней успешной проверки сайта Идентификатор integer lastresultcode результата последней проверки lasttesttime timestamp without time zone Время последней проверки locked integer Флаг указывающий на то, что в данный момент ведется происходит проверка сайта integer deleted Флаг указывающий на то что сайт удален ping_test (Журнал проверок сайтов) id integer Идентификатор записи site_id integer Идентификатор сайта АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 136 Дата Копировал Формат А4 Идентификатор integer result_id результата проверки timestamp without time zone requesttime Время проверки АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 137 Дата Копировал Формат А4 ER-ДИАГРАММЫ БД 7. Физическая схема таблиц подсистемы авторизации databas e_updates maillist_queue document doc_id: INTEGER f name: varchar2(512) ctime: DA TE code: varchar2(250) portal_exo_tables _mtime id: INTEGER person id: INTEGER id: INTEGER state: INTEGER activation: DA TE periodstart: DATE period: INTEGER f ilter: LONG V A RCHAR username: v archar2(500) f ilename: varchar2(4000) mtime: DATE f orum id: INTEGER id: INTEGER node_id: INTEGER voting_results f eed_last_update taxonomy_tree id: INTEGER url: v archar2(2048) vote_id: INTEGER visitor: varchar2(255) choice: v arc har2(255) last_update: DA TE language f orum_theme id: INTEGER id: INTEGER code: varchar2(100) name: varchar2(400) f orum_mess age id: INTEGER id: INTEGER document_d: INTEGER root_id: INTEGER parent_id: INTEGER mail_status id: INTEGER creator_id: INTEGER title: varc har2(2048) ctime: DA TE deleted: INTEGER xsltemplates id: INTEGER code: varchar2(256) code: varchar2(600) f ilename: varchar2(4000) mtime: DATE mail_attachments id: INTEGER mail_mes sages id: INTEGER f ilename: varchar2(2048) value: by tea mimetype: varchar2(256) id: INTEGER id: INTEGER msg_f rom: v archar2(512) msg_subject: varchar2(1024) msg_body: LONG V ARCHA R msg_mime: varchar2(128) msg_charset: v arc har2(128) ctime: DA TE ptime: DA TE dtime: DA TE storagetime: INTEGER mail_queue_email id: INTEGER message_id: INTEGER sent: INTEGER email: varchar2(512) nameto: varchar2(512) mail_queue id: INTEGER persons_id: INTEGER sent: INTEGER АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 138 Дата Копировал Формат А4 Физическая схема таблиц подсистемы документов rxml_doc ument id: integer ctime: date body: bytea version: integer rxml_xpath2 id: integer attac hment_desc id: integer rxml_xpath1 id: integer path: varchar2(2000) title: varc har2(1000) lang: integer aid: integer path: varchar2(2000) document_link_text link_type_id: integer language_id: integer language id: integer name: varc har2(4000) desc ription: varchar2(4000) rxml_nodes node_id: integer attac hment id: NUMB ER id: integer id: integer doc_id: integer value: varchar2(8000) document_type_text document_type_id: integer language_id: integer name: varc har2(4000) desc ription: varchar2(4000) taxonomy_roots taxnode_id: integer binding_type id: integer state_id: NUMB ER code: varchar2(100) code: varchar2(100) code: varchar2(100) path: varchar2(1000) id: integer field_value: varchar2(4000) document_id: integer document id: NUMB ER id: integer id: integer status: integer uuid: varchar2(255) mdauthor: varchar2(1024) mdtitle: varchar2(4000) mdlang: varchar2(100) mdpub: varchar2(200) xdoc _id: integer external_storage_uri: varc har2(700) created: date document_status id: integer document_fields_paths id: integer document_fields_index id: integer id: integer root_node: varc har2(200) code: varchar2(100) deleted: integer id: integer name: varc har2(4000) desc ription: varchar2(4000) name: varc har2(4000) desc ription: varchar2(4000) person id: integer document_type id: integer taxonomy_roots _text taxnode_id: integer langiage_id: integer binding_type_text binding_type_id: integer language_id: integer id: integer objsize: integer mimetype: varc har2(256) filename: varchar2(2048) code: varchar2(256) ctime: date otime: date value: bytea imgwidth: integer imgheight: integer meta_id: NUMB ER forum_theme id: integer document_comment id: integer document_ida: NUMB ER theme_id: integer document_tag id: integer id: integer document_id: NUMBER document_tags id: integer tagname: varchar2(760) sys_tag_values id: integer document_type_tags id: integer document_tax_links id: integer id: integer document_type_id: integer id: integer linktype: integer master_id: NUMB ER slave_id: NUMBE R document_link_s et id: integer id: integer id: integer tags id: integer code: varchar2(100) tag_id: integer tagvalue: varchar2(4000) ctime: date creator: integer meta_id: integer sys_tag id: integer document_taxonomy code: varchar2(600) document_links master_document_id: integer linktype: integer slave_document_id: integer document_id: integer binding_type_id: integer taxnode_id: integer taxonomy_state id: integer code: varchar2(100) document_link_type id: integer code: varchar2(100) manual: integer taxonomy_state_text taxonomy_state_id: integer language_id: integer taxonomy_tree id: integer node_alias alias : varchar2(400) taxnode_id: integer root_id: integer lbound: integer rbound: integer level: integer taxonomy_state_id: integer name: varc har2(4000) desc ription: varchar2(4000) taxonomy_attr taxnode_id: integer name: varc har2(4000) desc ription: varchar2(4000) language_id: integer АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 139 Дата Копировал Формат А4 Физическая схема таблиц подсистемы электронных регламентов rxml_document person id: integer document id: integer document id: NUMBER language id: integer document_type id: integer id: integer document_source_text lc_var_values id: integer doc_id: integer var_id: integer value: varchar2(4000) lc_state document_versions id: integer document_id: NUMBER euser_id: integer lc_template_id: CHAR(18) stage_id: integer currentstage: varchar2(400) timeout: date attempt: integer etime: date creator_id: integer meta_rxml_id: integer doc_ida: integer document_id: integer version_no: integer ctime: date deleted: integer lc_vars id: integer code: varchar2(512) document_versions_comments name: varchar2(4000) description: varchar2(4000) document_source id: integer code: varchar2(100) document_lc document_version_id: integer document_source_id: integer lc_template_id: integer document_type_id: integer version_comment: varchar2(4000) lc_template lc_states document_source_id: integer language_id: integer initialstage: varchar2(400) initial_binding_stage: varchar2(400) id: integer id: integer id: integer state_code: varchar2(512) template: bytea code: varchar2(255) lc_template_text language_id: integer lc_template_id: integer events_log id: integer event_date: date ip_id: numeric user_id: numeric event_type: varchar2(200) event_code: varchar2(200) object_id: integer message: varchar2(1024) name: varchar2(4000) description: varchar2(4000) document_versions_sys_tags id: integer document_version_id: integer systag_values_id: integer stat_ip lcclasses id: numeric address: varchar2(100) lcappclassname: varchar2(400) lcnamespace: varchar2(255) Физическая схема описания таблиц для хранения настроек и данных мониторинга состояния сайтов государственных органов АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 140 Дата Копировал Формат А4 ping_test id: NUMBER ping_siteoptions id: NUMBER site_id: NUMBER result_id: NUMBER requesttime: DATE name: NUMBER url: VARCHAR2(20) document_id: NUMBER watch: NUMBER icmp: NUMBER lock: NUMBER regexp: VARCHAR2(2000) last_fail_id: NUMBER last_response_id: NUMBER lastresultcode: NUMBER lasttesttime: DATE ping_result id: NUMBER code: VARCHAR2(20) description: VARCHAR2(2000) ping_referentsites id: NUMBER name: VARCHAR2(20) description: VARCHAR2(2000) url: VARCHAR2(20) avgaccesstime: DATE avgwindow: NUMBER activity: NUMBER ping_settings frequency: NUMBER brokenFrequency: NUMBER workState: NUMBER chanelBroken: NUMBER lastRunTime: DATE lastBrokenTime: DATE lastRecoveryTime: DATE ping_httpresponse id: NUMBER content: BLOB requeststart: DATE responsestart: CHAR(18) htmlresponsestart: DATE responsefinish: DATE refaveragetime: DATE ping_schedule id: NUMBER startTime: DATE stopTime: DATE ping_brokenchanellog ping_extratest id: NUMBER ping_extratestlist id: NUMBER extratest_id: NUMBER httpresponse_id: NUMBER fail_id: NUMBER reason: VARCHAR2(2000) brokenTime: DATE recoverTime: DATE code: VARCHAR2(20) name: VARCHAR2(20) description: VARCHAR2(2000) ping_fails id: NUMBER testtime: DATE description: DATE АИС РОСГО Общее описание системы Изм. Лист № докум. Подп. Лист 141 Дата Копировал Формат А4