Модуль предназначен для интеграции систем мгновенных сообщений и системы DIRECTUM. Например:
• | просмотр статусов участников задачи, отображаемых в дереве задачи; |
• | отправка мгновенного сообщения участнику задачи; |
• | проведение конференции из карточки совещания; |
• | отправка мгновенного сообщения пользователю с просьбой освободить заблокированный документ. |
Чтобы создать модуль:
1. | В среде разработки создайте проект для реализации библиотеки модуля расширения с учетом требований к разработке. |
2. | Создайте новую библиотеку типов и подключите к ней библиотеку типов SBPluginInterfaceLibrary.tlb. |
3. | Создайте класс, реализующий интерфейс IMessagingPlugin или любого его наследника. |
4. | Создайте класс, реализующий интерфейс IContact или любого его наследника. |
5. | Создайте класс, реализующий интерфейс IStatus или любого его наследника. |
6. | Создайте класс, реализующий интерфейс IConversation или любого его наследника. |
Примечание
Реализовывать интерфейс IGroup не требуется. Данный интерфейс устарел и оставлен для сохранения обратной совместимости.
7. | Реализуйте и экспортируйте функцию GetInterface. |
8. | Запросите ключ системы с поддержкой модуля расширения. Подробнее см. раздел «Виды лицензий». Зарегистрируйте ключ в целевой системе. |
9. | Запустите целевую систему. |
Механизм работы модуля:
1. | Загрузка модуля расширения выполняется автоматически и происходит дважды: для проверки окружения IPlugin.CheckEnvironment и реальной работы. Необходимо учитывать, если предполагается выполнение каких-либо действий, например инициализации, что отнимет дополнительное время при загрузке модуля. |
2. | Все модули расширения интеграции с системами мгновенных сообщений подлежат лицензированию. Для работы с модулем расширения необходимо установить ключ системы с поддержкой данного модуля. Чтобы его получить: |
a) | Запросите новый ключ системы DIRECTUM. При обращении в службу поддержки с запросом ключа укажите, что необходимо добавить поддержку нового модуля расширения интеграции с системами мгновенных сообщений. При этом обязательно укажите имя нового модуля – IPlugin.Name. |
b) | На основе имени модуля сотрудник службы поддержки сгенерирует код модуля для лицензирования. |
c) | Сгенерируйте ключ с поддержкой модуля с использованием данного кода. |
d) | Установите в системе ключ. В результате станет доступна работа с новым модулем расширения. |
Если необходима установка данного модуля расширения в других системах, то для них также потребуется запросить ключи с поддержкой этого модуля. При запросе ключа для них в обращении можно указывать уже полученный код модуля расширения, что позволит сократить время на генерацию ключа.
3. | При получении контакта IMessagingPlugin.GetContact указывается логин пользователя SQL-сервера и признак аутентификации (Windows- или SQL-аутентификация). При Windows-аутентификации логин пользователя включает в себя имя домена и имя пользователя. |
Способ сопоставления логина с именем контакта определяется самостоятельно. Например, можно использовать информацию из Active Directory или каких-то других специализированных каталогов.
4. | Поддерживается произвольный набор статусов для контактов. Обязательным является только специальный статус «Состояние присутствия не определено». Данный статус будет возвращен, если полученные данные о контакте некорректны IContact.Valid = False. Например, если не удалось установить связь с системой мгновенных сообщений. |
Для значков статусов контактов следует использовать изображения, корректно обрабатываемые браузером Internet Explorer. Рекомендуемый размер значков составляет от 10*10 до 16*16 пикселей.
5. | При создании беседы допускается создавать неинициализированный объект беседы IConversation.Initialized = False. В этом случае периодически будет поступать запрос на предмет инициализации. Сообщения будут отправлены только после инициализации беседы IConversation.Initialized = True. |