4.4. URI ссылки на выборки¶
Реализована возможность получить ссылку в виде URI на открытую выборку. Ссылку можно передать по сети и использовать для быстрого запуска клиента и открытия нужной выборки.
4.4.1. Регистрация протокола gs-global в Windows¶
Автоматическая регистрация URI схемы gs-global производится при старте клиента. Как результат ОС Windows сможет запускать клиента Global при обработки гипертекстовых ссылок вида “gs-global:\\”. Например, клик на ссылку в браузере. Другим вариантом открыть ссылку находящиюся в буфере обмена, будет вставить содержимое в окно “Выполнить” (WIN + R) и нажать OK.
Схема регистрируется под текущего пользователя, т.е. у каждого из пользователей машины может быть зарегистрирована своя версия(путь к клиенту) клиента отзывающегося на ссылки. Если за обработку ссылок предполагается отвечать какому-то конкретному из возможно запускаемых на машине клиентов (если на машине постоянно запускается различные версии клиентов имеющие существенные отличия друг от друга, разница не безразлична пользователю), то можно выставить флаг в реестре, в ветке URI схемы, запрещающий изменение параметров (автоматически перезаписывать значения клиенту на старте): HKEY_CLASSES_ROOT\gs-global\, readonly (тип DWORD) = 1.
4.4.2. Получение URI ссылки на выборку¶
Реализована возможность формирования и копирования URI ссылок в буфер обмена, а также возможность создания файла-ссылки. Файл-ссылка, это файл с расширением .gsc.
Работа с URI-ссылками осуществляется при помощи пунктов контекстного меню закладок MDI-окон, и горячих клавиш.
В контестное меню добавлены следующие пункты:
- Копировать ссылку (Shift+Alt+1). Помещает в буфер обмена ссылку на активное окно.
- Копировать файл-ссылку (Shift+Alt+2). Создаёт во временной папке файл-ссылку и копирует файл в буфер обмена. Файл можно вставить (CTRL + V) в любую папку(например, рабочий стол) и двойным кликом перейти по ссылки. Файл можно передать по скайп или другими средства обмена сообщениями.
- Копировать полное имя файла-ссылки (Shift+Alt+3). Создаёт во временной папке файл-ссылку, и копирует полный путь файла в буфер обмена.
- Открыть ссылку из буфера обмена (Shift+Alt+4). Открывает ссылку из буфера обмена. Этот пункт меню доступен только если в буфере обмена содержится корректная URI-ссылка на выборку.
- Настройки копирования ссылки. Настройки определяют составные части,
которые будут включены в созданную URI-ссылку.
- Копировать имя пользователя и пароль.
- Копировать имя базы.
- Копировать имя приложения.
- Копировать значения фильтров.
Открытие ссылки в уже открытом клиенте
Реализован функционал открытия выборки по URI-ссылке, использующий следующую логику работы: если в выборке указаны имена базы и/или приложения, производится поиск уже запущенного клиента Global с соответствующим(и) именами. В случае успеха, выборка URI-ссылки открывается на нем. В противном случае, для открытия выборки запускается новое клиентское приложение.
4.4.3. Формат URI ссылки¶
Протокол Global URI:
SCHEME://[USERINFO@]BASE/[APPNAME/]SELECTION/?PARAMS
SCHEME == gs-global
USERINFO == login:password
BASE == TNSNAME
APPNAME == Имя приложения Секция может отсутствовать
SELECTION == EntityName.Representation
PARAMS == PARAM[&PARAMS]
PARAM == [EXPARAM|CALLPARAM]
EXPARAM == ex;ИмяПараметра=Значение
CALLPARAM == call=ИмяОперации[([OPARGS])]
OPARGS == OPARG[,OPARGS]
OPARG == [Значение|'СтроковоеЗначение']
все не разрешенные символы внутри имен параметров и значений должны кодироваться через %
Пример:
gs-global://DEVBTK/SEL_CONFIGURATORMAINMENU/SEL_MYSELECTION/?ex;idItem#=254352&ex;filter$idStatus=45352&ex;filter$idCaption=Синий&call=testOperation('ответ%20на%20главный%20вопрос%20жизни%20вселенной%20и%20всего%20такого', 42)
Warning
При доменной авторизации не будет работать автоматический вход. Переход по ссылке с указанием пользователя не приведёт к авторизации нового запущенного приложения. Но, если имеется открытый клиент Global, соответствующий параметрам ссылки (пользователь, база, приложение), то он в штатном режиме откроет эту ссылку.
New in version Global_5.8.0_ms15: Добавлена возможность вызова операции.
Changed in version Global_5.8.0_ms15: Раньше ex-параметры можно было передавать без префикса “ex;”, теперь указание префикса обязательно.