Раскрытие приложений

Инструментальные панели служат для пользователей основным средством взаимодействия с приложениями в AggreGate. Они представляют собой полностью настраиваемый интерфейс, который может быть адаптирован для отображения различных операционных представлений, визуализации данных, элементов управления и многого другого, при этом строго соблюдаются роли и права пользователей.

Упрощенный режим

Упрощенный режим упрощает работу аутентифицированных пользователей, направляя их к определенному ресурсу. Этот режим означает, что при входе в систему пользователь попадает на определенную инструментальную панель вместо стандартной инструментальной панели администрирования.

Чтобы настроить автоматический запуск определенной инструментальной панели users.exampleUser.dashboards.exampleDashboard при входе пользователя с путем контекста users.exampleUser в AggreGate, выполните следующие шаги:

  • Откройте контекстное меню контекста автозапуска для целевого пользователя и выберите Добавить действие для автозапуска. Обратите внимание, что открываемый контекст Автозапуска - это Автозапуск пользователя users.exampleUser с путем контекста users.exampleUser.autorun, а не корневой контекст Автозапуска с путем контекста autorun.

  • В окне “Выберите источник” выберите инструментальную панель, которая должна загружаться, когда users.exampleUse входит в свою учетную запись AggreGate.

  • Откройте контекстное меню для пользователя users.exampleUser и выберите Редактировать настройки аккаунта.

  • В группе свойств Интерфейс пользователя включите Упрощенный режим.

Теперь, когда пользователь users.exampleUser входит в AggreGate, он попадает непосредственно на инструментальную панель users.exampleUser.dashboards.exampleDashboard.

Настройка домашней инструментальной панели приложения

Свойство Домашний экран приложения позволяет указать инструментальную панель по умолчанию для приложения. Чтобы настроить домашнюю инструментальную панель для приложения:

  • Выберите опцию Настроить из контекстного меню целевого приложения, чтобы открыть меню его свойств.

  • Включите расширенные настройки () меню свойств и выберите нужную инструментальную панель для свойства Домашний экран приложения.

  • Когда в приложении будет вызвано действие Открыть приложение, для пользователя будет открыта указанная инструментальная панель.

  • Функции автозапуска, описанные в примере с Упрощенным режимом, можно применить и к приложению. Вместо того чтобы добавлять действие Открыть панель в контекст Автозапуска пользователя с Упрощенным режимом, добавьте действие Открыть приложение для нужного приложения. Текущее действие одновременно откроет приложение и направит пользователя на указанную приборную панель.

Права доступа для анонимного пользователя

Права доступа для анонимного пользователя позволяют предоставлять пользователям определенные ресурсы, не требуя аутентификации. Например, можно сделать целевую страницу публичного веб-сайта доступной для всех, у кого есть сетевой доступ к серверу. При включенных правах доступа для анонимных пользователей неаутентифицированные пользователи, переходящие на корневую страницу сервера, могут получить доступ к указанной по умолчанию Инструментальной панели и другим ресурсам сервера, указанным в таблице прав доступа для анонимных пользователей.

Настройка права доступа для анонимного пользователя

Чтобы предоставить анонимным (то есть не прошедшим аутентификацию) пользователям доступ к инструментальной панели с контекстуальным путем users.admin.dashboards.landingDashboard, можно выполнить следующие шаги:

Маски контекстов

Тип сущности

Сущность

Уровень прав доступа

users.admin.dashboards.landingDashboard

Все

Все

Оператор

  • В подгруппе Права доступа для анонимного пользователя установите для свойства По умолчанию Инструментальная панель инструментальную панель users.admin.dashboards.landingDashboard, которая будет автоматически направлять анонимных пользователей на целевую инструментальную панель при переходе к корню сервера.

  • Перезапустите сервер AggreGate, чтобы применить изменения, внесенные в Права доступа для анонимного пользователя.

  • Сейчас анонимные пользователи могут получить доступ к инструментальной панели users.admin.dashboards.landingDashboard, перейдя по URL-адресу, обслуживающему домашнюю страницу встроенного веб-сервераAggreGate Server. Анонимные пользователи также могут получить доступ к инструментальной панели, перейдя к одному из ее конкретных URL, как объясняется в разделе URL и маршрутизация.

  • В данном примере прямыми URL-адресами для инструментальной панели являются <URL корня сервера>/web/dashboards/users.admin.dashboards.landingDashboard или <URL корня сервера>/users.admin.dashboards.landingDashboard.

Псевдонимы URL

Псевдонимы URL позволяют назначать инструментальным панелям альтернативные, часто более простые или более осмысленные URL адреса. Из приведенного выше примера следует, что если доступ к корню сервера осуществляется по адресу www.example.com, то путь к по умолчанию инструментальной панели для описанной выше панели будет www.example.com/web/dashboards/users.admin.dashboards.landingDashboard. Хотя URL не слишком сложен, его можно упростить до www.example.com/landingDashboard с помощью следующих выражений кодирования и декодирования псевдонимов.

Настройка кодирования и декодирования псевдонимов

Настройки псевдонимов зависят от установки двух выражений, одно из которых преобразует любой путь контекста инструментальной панели в псевдоним, а другое - любой псевдоним в путь контекста.

Выражение кодирования псевдонима - это выражение, которое преобразует путь контекста инструментальной панели в нужные URL-адреса. Приведенный ниже пример реализует "правило", которое на простом языке можно описать так: "Псевдонимом должно быть только имя инструментальной панели. Псевдонимом будет только конечный путь полного пути контекста". Это правило может быть реализовано на языке выражений следующим образом:

substring(
{contextpath}
, lastIndex(
{contextpath}
, "."
) + 1
)

Данная функция использует функции обработки строк substring() и lastIndex() для извлечения имени инструментальной панели из пути контекста.

Предположим, что полный путь контекста инструментальной панели - users.admin.dashboards.landingDashboard. Ссылка {contextpath} вычислит users.admin.dashboards.landingDashboard, а функция lastIndex() будет вызвана со следующими аргументами:

lastIndex("users.admin.dashboards.landingDashboard", ".")

Данное выражение возвращает 22, указывая последний (начиная с левого) индекс в строке users.admin.dashboards.landingDashboard, где встречается точка (.).

Затем функция substring() вызывается со следующими аргументами:

substring("users.admin.dashboards.landingDashboard", 22+1)

Эта функция возвращает строку "landingDashboard", которая является конечной частью полного пути контекста, представляющего имя приборной панели. Когда инструментальная панель будет открыта из AggreGate, например, открыта конфигурацией Автозапуск, отображаемый URL будет www.example.com/landingDashboard. Следующий шаг - убедиться, что псевдоним может быть декодирован, в случае если пользователь переходит к URL www.example.com/landingDashboard непосредственно из браузера.

Выражение декодирования псевдонима - это выражение, которое преобразует псевдонимы обратно в их полные пути контекста. Исходя из того, как выражение кодирования было сформулировано выше, выражение декодирования должно принимать имя инструментальной панели и возвращать полный путь контекста к ней.

Для выражения декодирования достаточно следующего наивно-реализованного выражения:

startsWith({alias}, "users.admin.dashboards.") ?  {alias} : "users.admin.dashboards." + {alias}

Когда пользователь переходит по URL www.example.com/landingDashboard, ссылка среды {alias} превращается в строку "landingDashboard", которая конкатенируется с "users.admin.dashboards.", в результате чего получается полный путь контекста users.admin.dashboards.landingDashboard нужной инструментальной панели. В случае если пользователь перешёл к инструментальной панели, используя полный путь контекста www.example.com/sers.admin.dashboards.landingDashboard, значение псевдонима не изменяется.

Приведенный выше пример является только демонстрацией и делает ряд предположений, а именно, что все приборные панели будут принадлежать пользователю admin, и поэтому будут иметь контекстный путь users.admin.dashboards.<имя инструментальной панели>.

Более надежным методом реализации URL псевдонимов была бы реализация модели данных с переменной типа Data Table, имеющей два столбца, Псевдоним и Путь контекста. Тогда выражения кодирования и декодирования могут использовать переменную в качестве связки между псевдонимами и путями контекстов. Данный способ позволяет создавать произвольные псевдонимы без необходимости написания сложных выражений.