БИБЛИОТЕКА «SETS»
Платформа Lotus Domino IBM в качестве своего основного языка использует Lotus Script, основанный на синтаксисе Бейсика. Его выполнение происходит в тех или иных обработчиках событий объектов этой платформы. Для оптимизации их кода Lotus Domino предусматривает возможность использования библиотек в текстовых файлах ".lss" с Lotus Script, которые импортируются перед выполнением обработчика событий. Библиотека «sets» базируется на этом типе импорта и хранится в двух текстовых файлах "sets.lss" и "errors.lss". В приложенном к этому архиву содержится также chm-файл справки с описанием. Ссылка на скачивание библиотеки с файлом помощи на русском языке: Lotus.Script.Library_Sets_.Ru.zip.
Основным предназначением этой библиотеки было создание программного объекта, который позволял бы его быстрое заполнение данными и их последующий быстрый поиск. Это позволяет не заводить избыточную индексацию баз. Функциональность «Hashtable» допускает использование дополнительных ключей и итератора для просмотра данных. Класс «Hashtable» реализует хэш-таблицу или словарь с использованием строк и других объектов в качестве ключей (в отличие от индексов-чисел обычных массивов) и основывается на использовании бинарного упорядоченного дерева для быстрого поиска значений. Также решена проблема обхода ограничения платформы на размер массива в 65535 элементов путем добавления объекта-класса списка массивов с соответствующими методами. То есть, последний объект реализует функциональность, аналогичную стандартным массивам без опасности переполнения (класс «ArrayList»). Функции и процедуры библиотеки, которые предназначены для работы с множествами, как правило, позволяют работать с «ArrayList» и «Hashtable» в качестве параметров. На основании базовых типов «ArrayList» и «Hashtable» реализованы, соответственно, «ArrayList2» и «Stringtable», которые располагают бо́льшим количеством методов. Последний из них добавлен для поддержки словарей со строковыми ключами. Также реализована функциональность объектов очереди (класс «Queue») и стека (класс «Stack») с соответствующими методами.
БАЗА ДАННЫХ С ПОДФОРМОЙ ДИНАМИЧЕСКОГО ГРИДА ДЛЯ ДОКУМЕНТОВ
База данных содержит подформу с динамической табличной формой для их использования в документах путем вставки этого объекта. Подформа содержит кастомные обработчики событий при добавлении строки и прочее. Ссылка на скачивание этой базы Lotus Domino: Lotus.SampleDB.Dynamic_Forms.Ru.zip.
ЗАМЕЧАНИЯ РАЗРАБОТЧИКА
Опубликованные здесь библиотека и динамический грид отлаживались и тестировались на версиях Lotus Domino 5-7. На данный момент возможности их проверять на какой-либо версии этой платформы у меня нет. Данный функциональный набор публикуется для общего использования как есть.