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

  • Автор темы Автор темы ToxaRat
  • Дата начала Дата начала

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 328
42
На собаках есть команда @ClientType
А что есть на LS?

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

возможно, у контекстного документа проверить cgi-поля при их наличии (типа Remote_User и т.п.).
xPage+view тут не поможет наличие полей
 
CGI переменные смори , в session.DocumentContext
 
в клиенте большинство (или все, скорее-всего) будут пустыми
 
Если нет нормальных способов, то для веба можно сделать агента-"оболочку", который будет пускать "правильного" агента, добавив сперва в документ поле-признак работы из веб.
 
Варианты (из моей БЗ):
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 переменных?
 
тем что нужно быстро и желательно одной командой
странный подход :D - что, ф-цию создать, религия мешает?
или быстро - это со скоростью света в вакууме? (тогда - не получится никогда)
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы