К основному контенту

Runtime Scripter. В помощь администратору и/или разработчику

Краткое описание:
Выполнение скрипта или @-формулы "налету" в базе над документом или коллекцией, без внесения изменений в дизайн базы
Назначение и возможности:
1. Выполнение скрипта в нужной базе (документами) без изменения дизайна базы - для небольших правок или пересчетов нет необходимости писать агент в базе.
2. Для исполнения скрипта, изменяющего документ достаточно авторского доступа к нему
3. Сохранение написанных скриптов, загрузка ранее сохраненных скриптов
4. Выбор типа скрипта между LotusScript и @-Formula
5. Выполнение скрипта в контекста коллекции документов или одного документа

Скачать с Google.Disk

Вопрос/пожелания можно в комментарии или через любой контакт


Настройка:
1. Нажать правой клавишей мыши на панели инструментов (Toolbar)

2. Выбрать Настройки панели инструментов (Toolbar Preferences...)
ПРИМЕЧАНИЕ: Шаги с 3 по 4 опциональны. Кнопку можно добавить в любую имеющуюся панель
3. Перейти в раздел Панель инструментов -> Панели (Toolbar -> Toolbars)

4. Создать панель и отметить, что она должна быть отображена

5. Перейти в раздел Панель инструментов -> Пользовательская настройка (Toolbar -> Customize)
6. Выбрать панель, на которой будет размещена кнопка
7. Нажать Новая -> Кнопка (New -> Button)

8. В поле формула написать:
@Command( [FileOpenDatabase]; "ИМЯ_СЕРВЕРА" : "ПУТЬ_К_БАЗЕ" ; "ScriptView" ; ""; "1"; "1" )
9. Нажать ОК в обоих диалогах

Использование:
(Скриншоты несколько старые)
1. Нужно находиться в базе (открыть ее), где предполагается выполнение скрипта
2. Определить над чем будет выполнен скрипт
- Выделить документы, если скрипт должен быть выполнен над коллекцией документов. @-Formula в этом случае будет выполнятся в контексте каждого отдельного документа из коллекции
- Поставить курсор или открыть документ, если скрипт должен быть выполнен над документом. При этом @-Formula будет выполняется в контексте выделенного документа

3. Нажать на кнопку запуска On-Line Scripter в панели инструментов
4. После запуска вы можете увидеть в контексте какой базы и какого выбор будет выполнятся написанный скрипт
5. В поле для написания скрипта пишется сам скрипт
6. Ниже указывается его тип
7. Нажать "Запуск" для выполнения скрипта


Сохранение и загрузка скрипта
Вы можете сохранить имеющийся скрипт, задав его название, описание (по желанию) и доступность другим пользователям On-Line Scripter.
Есть 2 режима доступности скрипта:
- личный (загрузка и изменение доступны только тому, кто создал скрипт)
- публичный (загрузка и изменение доступны всем пользователям On-Line Scripter)

Получение доступа к глобальным параметрам
Для типа скрипта LotusScript доступ к глобальным параметрам может быть получен через:
params.Server - Имя сервера
params.Db - Объект базы данных
params.Col - коллекция документов, в случае, если выделены документы
params.Doc - документ, в случае, если курсор стоит на документе или сам документ открыт

Можно так же воспользоваться кнопкой над полем со скриптом Add global param и выбрать нужный параметр из списка доступных - он будет добавлен в конец скрипта

Комментарии

Популярные сообщения из этого блога

Занимательные алгоритмы. Поиск цикла в односвязном списке

И снова про тараканов, которые иногда возникают в голове. Как-то раз, засыпая, я задумался на курьезными задачками из своей сферы деятельности (Lotus Notes), которые можно было бы задать на собеседовании, плавно перешел к воспоминаниям о своих первых собеседования, когда опыта работы еще не было. Опыт самих собеседований у меня не велик а места, где задавались действительно интересные задачи (а не задачки типа: написать сортировку массива любым известным способом) вообще равны одному - это ABBYY. Как минимум одна задачка в списке на знание и понимание классических алгоритмов, описанных в книге Дональда Кнута -  Искусство программирования .

Unit-testing object validation when validator has DI

Summary Unit test object validation when validator(s) has a dependency. For instance, we have some custom field and cross-field validators. Want to test their combination. Additionally some of validators have dependencies, injected through constructor or setters. You're not using property injection, right? Shortcut If you are just searching for an answer, here's the fast way: Declare CustomConstraintValidatorFactory that implements javax.validation.ConstraintValidatorFactory Override getInstance method and on facing your constraint validator class instantiate it Otherwise delegate validator construction to org.hibernate.validator.internal.engine.constraintvalidation.ConstraintValidatorFactoryImpl Build validator factory and provide it your CustomConstraintValidatorFactory Build validator, using that factory... Go to demo project on GitHub for details:  https://github.com/MrArtemAA/blog-demos/blob/master/test-validator-with-injection/src/test/java/ru/artemaa/d

Lotus Notes FAQ. 8/9 Eclipse. Как настроить уведомления о Sametime сообщениях

Н а написание данной "инструкцию" натолкнул мой коллега. Помню, первый раз сам долго искал, как отключить постоянно выпрыгивающие уведомления о новых сообщениях в Sametime. И так, речь идет о клиентах IBM Notes 8+ версии Standart (Eclipse based). Как настроить уведомления о Sametime сообщениях?