Чтобы создать модуль:
| 1. | В среде разработки создайте проект для реализации библиотеки модуля расширения с учетом требований к разработке. | 
| 2. | Импортируйте библиотеку типов SBPluginInterfaceLibrary.tlb. | 
Механизм работы модуля:
| 1. | Загрузка модуля расширения выполняется автоматически и происходит дважды: для проверки окружения IPlugin.CheckEnvironment и реальной работы. Время загрузки модуля увеличивается при выполнении дополнительных действий, например, при инициализации. | 
| 2. | Составление списка имеющихся модулей наблюдения. Происходит при открытии документа. | 
Библиотеку модуля расширения следует располагать в папке:
<Папка установки клиентской части IS-Builder>\Plugins\<Тип модуля расширения>\<Имя модуля расширения>\,
где <Тип модуля расширения>:
| • | Encryption – для модулей расширения шифрования/подписания; | 
| • | SpellCheck – для модулей расширения проверки орфографии; | 
| • | IM – для модулей интеграции с системами мгновенных сообщений; | 
| • | DocumentObserver – для модулей наблюдения за открытыми документами. | 
<Имя модуля расширения> – любое имя, уникальное в рамках папки.
Если метод возвращает значение True, то перебор списка прекращается и первый найденный подходящий плагин назначается в качестве обработчика.
| 4. | Для выбранного плагина вызывается метод GetObserver, который возвращает класс наблюдателя за документом, реализующий интерфейс IDocumentObserver. | 
| 5. | Для полученного класса вызывается метод OpenFileEx. | 
| 6. | Для полученного класса вызывается метод WaitFile. | 
Открытие каждого документа происходит в отдельном новом потоке. Поток существует до тех пор, пока не завершится выполнение метода WaitFile. Только после этого закрытие документа считается корректным и изменения документа, если они были, сохраняются в базе данных на сервере.