Создание ролевого приложения
в статье содержится инструкция и пример по созданию Ролевого приложения и загрузки его в домен.
Last updated
Was this helpful?
в статье содержится инструкция и пример по созданию Ролевого приложения и загрузки его в домен.
Last updated
Was this helpful?
Ролевое приложение представляет собой Web-приложение, которое загружается в домен Аксател. Права доступа пользователей определяются ролевыми политиками безопасности в рамках Домена.
Каждое Ролевое приложение имеет связанный SVC сценарий, который выполняет задачи вычислений и предоставления данных для отображения в Ролевом приложении конечному пользователю. Запуск сценария происходит через выполнение REST запроса /exec
Ролевое приложение работает после успешной аутентификации пользователя в домене Аксател.
Ролевое приложение представляет из себя zip-архив, который будет распакован на сервере при установке.
Архив содержит в себе две значимые части:
Файл roleapp.json
Непосредственно web-приложение, выполняемое на стороне браузера
Пример структуры файлов Ролевого приложения
Файл roleapp.json в корне архива содержит описание приложения. Как правило все файлы приложения находятся также в корне архива (index.html и другие).
Должен быть валидным json файлом, размер которого не превышает 10Kb. Пример json файла.
Название
Описание
name
Название ролевого приложения. Значение поля будет использовано для названия ролевого приложения в списке если администратор оставил поле "title" объекта ролевого приложения пустым.
Тип поля – строка
Обязательная переменная
description
Тип поля – строка
Обязательная переменная
order
Порядок ролевого приложения при сортировке для отображения в списке. Администратор может принудительно его задать в поле ext.order объекта roleapp.
Тип поля – число
Необязательная переменная
fa-icon
имя класса иконки Font Awesome.
Необязательная переменная
iconPath
путь до иконки для списка приложений относительно папки ролевого приложения.
Обязательная переменная
folder
Подпапка внутри архива в качестве папки с web-документами (по-умолчанию используется весь архив от корня)
Необязательная переменная
Если указан, то в результате по url’у установленного приложения будет доступен не корень архива, а эта подпапка (в url не появляется).
Например, если “folder”:”dist”, то index.html должен быть размещен в подпапке dist и файл roleapp.json нельзя будет получить из прямого URL (/app/appname/roleapp.json )
├── dist
│ └── index.html
└── roleapp.json
Необходимо создать SVC сценарий
Создать RoleApp приложение
Раздел «Обработка сервиса» - «Ролевые приложения»
Новый объект
Путь приложения – уникальный путь в рамках текущего домена
Название приложения – как приложение будет отображаться на главной странице после авторизации
Права доступа – указать все права (роли) которым разрешен доступ к этому приложению
SVC сценарий – выбрать необходимый SVC сценарий
Загрузить zip архив с RoleApp
Получить ID Ролевого приложения (после создания открыть карточку на редактирование и скопировать id)
Открыть Talend API Tester (Restlet) addon в браузере и методом PUT загрузить файл
Method = put
URL = http://demo.axatel.ru/rest/v1/domain/roleapps/daee4ff3-0170-4032-d6ca-fa163eec3818/attachment
http://demo.axatel.ru = URL WS
/rest/v1/domain/roleapps/ = constant
daee4ff3-0170-4032-d6ca-fa163eec3818 = RoleApp ID
/attachment = constant
Content-Type = multipart/form-data
Также загрузить файл можно через curl (нужна сессионная куки)
curl -b curl-worker.cookies \ -X PUT \ -F 'file=@roleapp_sample.zip' http://demo.axatel.ru/rest/v1/domain/roleapps/daee4ff3-0170-4032-d6ca-fa163eec3818/attachment
4. Проверить корректность загруженного файла можно через запрос на тот же адрес но с Method = GET. В результате браузер должен скачать файл attachment (переименовать в attachment.zip и он будет равен первоначально загруженному файлу)
После установки ролевого приложения И корректной связи по ролевым меткам оно появляется в списке приложений на главной странице (страница после авторизации или по клику на логотипе Аксател).
Приложение становится доступным на основной странице Аксател (после аутентификации и при клике на логотипе Аксател).
URL установки не известен автору приложения заранее – Путь приложения определяет администратором в момент установки. Это позволяет установить, например, разные версии одного ролевого приложения в разные папки и пользоваться ими одновременно.
Для корректной работы необходимо ссылаться на ресурсы ролевого приложения по относительным путям, например:
Ресурсы будут загружаться из папок …/css/, …/js/ и т.д. или напрямую из папки ролевого приложения как …/monitor.js.
Если есть необходимость использовать полный путь ссылок, то из переменной window.location.pathname в javascript можно это выяснить. Например,
Описание ролевого приложения. Значение будет доступно через .