• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Работа с профильным документом в почте

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

Oksana

Добрый день!

Стоит следующая задача, в самописную БД вносим данные об отсутствии сотрудника (отпуск, командировка).

Вот есть спецзаказ, чтобы после внесения этих данных в почте указанного сотрудника включался агент "Нет на работе" с заданными параметрами, те период отсутствия, причина и произвольный текст ( типа к кому обращаться и проч).

Итак есть агнет, который:
- вносит в профильный документ "OutOfOfficeProfile" в ПЯ пользователя нужные данные
- включает агент OutOfOffice

А вот результата нет. Те не формируются автоматические сообщения о том, что сотрудника нет на месте.

Хотя если зайти в ПЯ сотрудника под его именм и выбрать Сервис-Нет на работе, там будут те параметры, что пересены из первой БД
и в журнале агента видно что он отработал.

Куда бы покопать?
 
A

Akupaka

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

Oksana

покопать в логах, скорее всего агент OOO не отрабатывает по причине отсутствия прав на запуск агентов на сервере...
у пользователя, который его включает должно быть такое право...
в типичной ситауции этот агент включает сам пользователь (владелец почтового ящика). В данном случае агент включаю я в скрипте своего агента
Код:
Set AgentOOO = DBMail.GetAgent("OutOfOffice" )
AgentOOO.IsEnabled =True
Call agentOOO.Save
,
запуск в агенте стоит от имени сервера. В дизайнере я вижу, что агент включился, подписан сервером, выполняется от имени сервера.
Прав (на первый взгляд достаточно). Агент отрабатывает, ошибка не выдается, но и результата нет.
 
A

Akupaka

в таком случае, нужно ковырять сам агент...
или добавлять в него свои принты, или удаленный дебагер настраивать...
там один класс, в самом агенте, думаю особой сложности разобраться не составит...
посмотрите метод Run(), он использует два метода для проверок AgentOKToRun() и DocumentOK(), думаю, что, если ошибок исполнения нет, то есть логические ошибки, которые выявляются этими функциями... (это поверхностная оценка)
 
30.05.2006
1 345
12
BIT
0
Нынче, с стандартном ПЯ агент OutOfOffice включается с пом. AdminRequest-а. Это позволяет урезать юзеру права (иначе ему Designer нужен) и не заморачиваться с его правами на фоновые процессы
 
A

Akupaka

"нынче" это в какой версии-то? :)
имхо, вообще, дурновато реализована эта функция...
 
O

Oksana

Действительно, если пользователь сам запускает агент "нет на работе", это делается через AdminRequest.

В данном случае, я запускаю агент в БД пользователя своим скриптом. Кстати, удалось, наконец-то запустить агент, но выяснилось, что он работает по расписанию раз в 6 часов. Для нас это СЛИШКОМ большой период. Так пока еще до конца и не разобралась как это все работает.

Но поменять расписание работы агента можно только в дизайнере, а нам нежелательно менять шаблон почтовой БД.

Чтобы еще такого придумать, а? :blink:
 
O

Oksana

Чтобы еще такого придумать, а? :rolleyes:

А если я из своей БД с отпусками буду проходить по почтовым ящикам отсутствующих пользователей, как мне можно оптимизировать поиск новых документов (от выбранной точки времени) в этих БД, чтобы не перелопачивать все документы базы?
 
A

Akupaka

сдуреешь :rolleyes: и вообще, это не совсем верно - лазять по ящикам пользователей...

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

Oksana

сдуреешь :rolleyes: и вообще, это не совсем верно - лазять по ящикам пользователей...

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

а правило, в вашем случае кто должен создавать? те все равно пройтись по ящикам пользователей и что-то там "поправить". Да и с правилами вечно какие-нибудь проблемы
 
A

Akupaka

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

Oksana

пока не замечал проблем с правилами :)
правило - обычный док, его легче запулить в почт.ящик единожды, чем рыться в них постоянно...
но, это лишь как вариант...
А ты зайди в раздел Администрирования, увидишь, что на проблемы с правилами народ так или иначе натыкается.
Во-первых понятно, что я не буду перелопачивать ящики всех пользователей, а только тех, по которым есть документ отсутствия, и обрабатывать только новые письма тоже получилось.
Лучшего мне тоже пока никто не предложил. Если бы стандартный агент не работал с периодом в 6 часов, я бы просто его включала и выключала, так было бы лучше.
 
A

Akupaka

чесно говоря, я не вижу проблемы, чтобы изменить время срабатывания ООО :)
на сколько мне известно, ИБМ не запрещает этого делать...
а шаблончик тоже не очень-то часто обновляется...
поэтому, правильное документирование изменений - залог успеха Вашей ИТ-структуры ;)
 
30.06.2006
141
5
BIT
0
Да уж, Out Of Office в Лотусе реализован действительно странно.

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

А то пишешь человеку, который например в отпуске, а тебе только через пол дня ответ приходит (естественно если не изменять настройки запуска агента, которые заданы IBM'ом).

Включить/выключить такой агент тоже не составит труда, потому для меня загадка зачем они так реализовали функционал OOO. Если кто раскроет сию великую тайну, то буду очень рад. :)
 
A

Akupaka

видать, по логике ИБМа, если человек не отвечает целый день, то не понятно, есть ли он на работе вообще или все-таки нет :)
а вообще, видать, таким образом решили умерить нагрузку на почтовый сервер...
ну, а включить/выключить то тут как бы понятно, если бы у всех этот агент был бы включен и запускался бы, чтобы проверять наличие флага в настройках, то почтовый сервер почти только и занимался бы проверкой настроек почтовых баз :)
 
30.06.2006
141
5
BIT
0
Не думаю что даже в большой компании, это сразу сильно загрузит сервер. В конце концов обмениваться письмами - одна из основных задач Лотусового сервера. ;-)

А ежели и загрузит, то извольте купить сервер помощнее/построить кластер раз уж вы пользуетесь программным продуктом, который того требует. :)

Кстати, кто как в итоге решал эту задачу (Out Of Office)? Мы просто время срабатывания агента подправили, чтобы он почаще срабатывал (уж очень не хотелось велосипед заново изобретать). Но все равно остается немного ограничений (вроде если человек на 1 день уезжает).
 
30.05.2006
1 345
12
BIT
0
пока не замечал проблем с правилами :)
правило - обычный док, ..
"Фигушки! Я плотоядная!!"(с)

Обычный док никому кроме юзера не нужен. Роутер-же юзает откомпилированные формулы, записанные в profile.
"Синхронизация" текста правил и откомпилированных формул делается юзером через UI, т.е. периодически отваливается.
Отсюда и проблемы
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!