После обновления потребовать переоткрыть БД

garrick

Lotus Team
26.10.2009
1 367
152
BIT
348
Ну, например, при открытии базы (QueryOpenDatabase или как оно там называется?) считывать в профайл-документ пользователя версию из какого-то системного документа или ещё откуда (мест много куда записать можно). Далее при открытии каждой формы, библиотеки сверять версию в профайле и в том системном документе. Если не совпадает, сворачиваться на фиг с форматированием жесткого диска. Но это не будет работать если пользователь зашел в базу не по ярлыку на рабочем столе, а через ссылку на документ - тогда QueryOpenDatabase не работает. У нас примерно похожая конструкция в своё время работала для обновления дизайна локальных приватных фолдеров - сравнивали дату последнего изменения локального и серверного фолдера.
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
42
Ну, например, при открытии базы....
ну не совсем.... Что делать, если клиента закрывали с открытыми вкладками? Что делать если накатили и дизайн во время работы с этой базой?
Надо чекать нутро дизайна и смотреть ТОЧНО изменённую инфу (структуру/элемент/чота в библе/....), уникальную для каждого дизайна.
 

VladSh

начинающий
Lotus Team
11.12.2009
1 797
158
BIT
232
@garrick
alexas1 прав. У нас пользователи имеют привычку не закрывать клиент месяцами... - QueryOpenDatabase отработало уже очень давно. И особенно сейчас, на карантине, когда большая часть их работает удалённо по RDP к своей рабочей машине.
 

VladSh

начинающий
Lotus Team
11.12.2009
1 797
158
BIT
232
можно же сделать фоновый процесс на capi, который будет стартовать вместе с клиентом, как это marvel client делает и он будет следить за чем-то.
иначе говоря, если пытаться отслеживать обновления на самом клиенте, то это должна быть некая активность: фоновый агент, локальный шедулер, скрипт при открытии бд, функция вызываемая при каждом старте какого-либо действия пользователя.
но по факту, capi поток фоном на клиенте - то что нужно. Ну может rpc на java еще, если плагин сделать и всем установить.
Можно, но это уж больно большие затраты, по моему. Если бы был какой-то общий механизм релизов, типа UpdateSite, и HCL бы к этому сама такой мониторинг прикрутила... Ну или самим уже можно было бы. А так у каждого своя система релизов...
 

alexas1

Green Team
10.04.2014
1 202
225
BIT
42
Можно, но это уж больно большие затраты, по моему. Если бы был какой-то общий механизм релизов, типа UpdateSite, и HCL бы к этому сама такой мониторинг прикрутила... Ну или самим уже можно было бы. А так у каждого своя система релизов...
У Нашеда, давным давно, была прибабаха для запуска чонить при старте клиента. Работала через функцию в какойта нотусевой ДЛЛке, к которой были обращения при любых телодвижениях в клиенте... Вот не находится пока((( точно знаю, что прибабаху сохранял у себя, но так и не применил. Но вот где она???))))
ЗЫ кто то из наших с ним общался, можно спросить...
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 983
611
BIT
453
Можно, но это уж больно большие затраты, по моему. Если бы был какой-то общий механизм релизов, типа UpdateSite, и HCL бы к этому сама такой мониторинг прикрутила... Ну или самим уже можно было бы. А так у каждого своя система релизов...
вродить с 10-ой марвел софтина есть, я её ф-ций не помню, но там куча всяких шняжек
 

garrick

Lotus Team
26.10.2009
1 367
152
BIT
348
@garrick
alexas1 прав. У нас пользователи имеют привычку не закрывать клиент месяцами... - QueryOpenDatabase отработало уже очень давно. И особенно сейчас, на карантине, когда большая часть их работает удалённо по RDP к своей рабочей машине.

Ключевым моментом было "сверять". А иначе никакого смысла. Конечно, открытые на чтение документы всегда останутся "старыми", но как только пользователь попытается что-то сделать с ними должна сработать проверка.
Далее при открытии каждой формы, библиотеки СВЕРЯТЬ версию в профайле и в том системном документе. Если не совпадает, сворачиваться на фиг с форматированием жесткого диска.
 

VladSh

начинающий
Lotus Team
11.12.2009
1 797
158
BIT
232
Ключевым моментом было "сверять". А иначе никакого смысла. Конечно, открытые на чтение документы всегда останутся "старыми", но как только пользователь попытается что-то сделать с ними должна сработать проверка.
В данном случае профайлы - не лучшее решение. т.к. они могут кешироваться. Поэтому мы отказались от этого и проверяем (код выше) на часто используемых действиях. Ну можно ещё и на открытии документа проверять.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 983
611
BIT
453
Добрый день

После обновления релиза, требуется перезапустить клиентов для исключения кеширования LS библиотек

Как реализовать данную штуку программным путем ?
 
  • Нравится
Реакции: Domino-Designer

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 983
611
BIT
453
Как передать команду?
Допустим 500 клиентов, нужно дропнуть 200 клиентов которые работают в определенной БД, но 100 клиентов сейчас не в сети
ну если так сурово, а марвел почему-то использовать не хочется - что мешает в винде команду запустить?
 
Мы в соцсетях:

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