Ролевые приложения

В этом разделе настраиваются Ролевые приложения и происходит управление ролями доступа Пользователи к Ролевым приложениям на Главная страница

roleApp
Рис. 1. Общий вид раздела

Поля, доступные при создании и редактировании записи:

roleAppAdd
Рис. 2. Экранная форма создания нового объекта
Название поля Описание

id

Отображение ID Ролевого приложения. Поле только для чтения. Отображается при редактировании записи

Путь приложения

Уникальный путь в рамках текущего домена. Может содержать только латинские буквы, цифры, символы _ -

Название приложения

Название приложения на Главная страница

Права доступа

Указать все права доступа, которые необходимы для доступа к этому приложению

SVC сценарий обработки запросов

Выбор из Служебные сценарии сценария, который будет запускаться при обращении на это Ролевое приложение

Комментарий

Комментарии

Установка ролевого приложения

  1. Создать Служебные сценарии

  2. Создать RoleApp приложение. Подробнее в Файл ролевого приложения

  3. Создать новую запись в текущем разделе

  4. Выгрузить zip-архив с RoleApp

    1. получить ID Ролевого приложения (после создания открыть карточку на редактирование и скопировать значение поля id)

    2. выгрузить zip-архив используя HTTP метод PUT
      на URL-адрес <ws_role>/rest/v1/domain/roleapps/<id>/attachment
      указав Content-Type = multipart/form-data

  5. Проверить корректность загруженного файла

    1. выполнить HTTP запрос на тот же адрес методом GET

    2. загрузится файл attachment (переименовать в attachment.zip и он должен быть равен первоначально загруженному zip-архиву)

После установки ролевого приложения и корректной связи по ролям доступа с Пользователи оно появляется в списке приложений на Главная страница.

Для загрузки файла можно использовать расширение браузера Talend API Tester или curl

Пример настроек расширения Talend API Tester

roleAppUploadTalend
Рис. 3. Пример заполнения формы Talend API Tester

Пример curl запроса

curl -b curl-worker.cookies \ -X PUT \ -F 'file=@roleapp_sample.zip' http://example.oktell.ru/rest/v1/domain/roleapps/daee4ff3-0170-4032-d6ca-fa163eec3818/attachment
При выполнении запросов из curl необходимо использовать сессию через cookie (RCookie).

Файл ролевого приложения

Ролевое приложение представляет из себя zip-архив, который будет распакован на сервере при установке.
Архив содержит в себе две значимые части:

  • Файл roleapp.json содержит описание приложения

  • Непосредственно web-приложение, выполняемое на стороне браузера

Пример структуры файлов Ролевого приложения:

├── assets
│   └── img
│   └── desktop.svg
├── css
│   └── jsoneditor.min.css
├── index.html
├── js
│   ├── aes-js.js
│   ├── base64.js
│   ├── jquery-3.1.1.min.js
│   └── jsoneditor.min.js
├── monitor.js
└── roleapp.json

Файл roleapp.json

Должен быть валидным json файлом, размер которого не превышает 10Kb.
Пример json файла:

    {
	  "name": "Roleapp Sample",
	  "description": "Пример ролевого приложения",
	  "order": 5000,
	  "fa-icon": "fa-paw",
	  "iconPath": "assets/desktop.svg"
    }
Название ключа Описание

name

Название ролевого приложения. Значение поля будет использовано для названия ролевого приложения на Главная страница если поле Название приложения не заполнено.
Тип поля – строка
Обязательная переменная

description

Описание ролевого приложения.
Значение будет отображаться на Главная страница в блоке Ролевого приложения.
Тип поля – строка
Обязательная переменная

order

Порядок ролевого приложения при сортировке Главная страница.
Тип поля – число
Необязательная переменная

iconPath

Путь до иконки в архиве приложения относительно папки ролевого приложения. Иконка будет отображаться на Главная страница
Обязательная переменная

folder

Подпапка внутри архива в качестве папки с web-документами (по умолчанию используется весь архив от корня)
Необязательная переменная
Если указан, то в результате по url установленного приложения будет доступен не корень архива, а указанная подпапка (в url не появляется).
Например, если “folder”:”dist”, то index.html должен быть размещен в подпапке dist и файл roleapp.json нельзя будет получить из прямого URL (/app/appname/roleapp.json )

├── dist
│   └── index.html
└── roleapp.json
Для получения примера Ролевого приложения можно обратиться в службу Технической Поддержки