ОБСУЖДЕНИЕ

Как на Ls определить что запуск сделан через Web?

12 ответов 7,1 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Автор темы
На собаках есть команда @ClientType
А что есть на LS?

Суть задачи, определить что агент запустился через WEB
Agent.IsWebAgent - не путать, говорит лишь о ВОЗМОЖНОСТИ запуска через веб а не о факте
 
Notessession.IsOnServer проверить (смотря как агент еще может запуститься).
возможно, у контекстного документа проверить cgi-поля при их наличии (типа Remote_User и т.п.).
 
Notessession.IsOnServer проверить (смотря как агент еще может запуститься).
любой шедулерный агент на это клюёт

возможно, у контекстного документа проверить cgi-поля при их наличии (типа Remote_User и т.п.).
xPage+view тут не поможет наличие полей
 
в клиенте большинство (или все, скорее-всего) будут пустыми
 
Если нет нормальных способов, то для веба можно сделать агента-"оболочку", который будет пускать "правильного" агента, добавив сперва в документ поле-признак работы из веб.
 
Варианты (из моей БЗ):
1. ClientType = Join(Evaluate(|@ClientType|))
ClientType = "Web" - для агентов "As web user"
ClientType = "Notes" - для Notes-клиента
ClientType = "" - для Domino-сервера

2. @BrowserInfo("BrowserType") = "Notes" - для Notes-клиента

3. UserName = Join(Evaluate("@UserName")) - для агентов "As web user" вернёт имя пользователя, запустившего агент.
И ещё примечание стоит, когда-то ставил "на будущее": "4. Нужно попробовать NotesSession.DocumentContext.IsUIDocOpen.", но так руки и не дошли )))
 
нда, вот и я склоняюсь что только @ClientType тут и поможет, странно что на LS так и не появился аналог
 
а чем не устраивает "пустота" в CGI переменных?
 

Статистика тем

Создано
ToxaRat,
Последний ответ от
lmike,
Ответы
12
Просмотры
7 140