CommuniGate Pro
Версия 6.4
 

Именованные задачи

Сервер CommuniGate Pro поддерживает специальные Доменные Объекты - "Именованные Задачи". Когда запрос Реального Времени адресован на имя Именованной Задачи, Сервер запускает Приложение Реального Времени, заданное для этой Именованной Задачи, и передаёт запрос запущенной копии Приложения. Новые запросы на тот же адрес передаются уже запущенной копии Приложения.

Именованные Задачи могут быть использованы для реализации механизмов совместной работы, таких как "групповые чаты" в стиле протокола XMPP.




Создание Новой Именованной Задачи

Администратор Сервера с правами "Может менять установки Всех Доменов и Пользователей" может создавать Именованные Задачи в любом Домене.

Администратор Домена может создавать и удалять Именованные Задачи в Домене, только если ему предоставлено право доступа Может создавать Именованные Задачи.

Для того, чтобы создать Именованную Задачу, создайте нового Пользователя (или выберите существующего), который будет являться владельцем Именованной Задачи.
Используйте интерфейс Администратора, чтобы открыть страницы Установок Пользователя, затем откройте страницу Установок Звонков в разделе Real-Time и найдите панель Именованные Задачи:

Именованные Задачи
ИмяИмя программы
projectx-talkchatroom

Введите имя Именованной Задачи, которую вы хотите создать, и нажмите на кнопку Создать Именованную Задачу.

Сервер проверяет, что в этом Домене не существует Пользователя или другого Объекта с таким именем, и создаёт новую Именованную Задачу.


Задание настроек Именованной Задачи

Чтобы задать настройки Именованной Задачи, нажмите на имени Именованной Задачи на странице настроек Пользователя - владельца Именованной задачи. Появится страница с настройками Именованной Задачи.

Владелец: jksmith
Настоящее Имя:
Имя программы:
Комментарий:
Настоящее имя
Краткое описание Именованной Задачи.
Если включена синхронизация с Центральным Справочником, то эти данные будут записаны в Справочник в доменный объект Задачи как атрибуты cn и sn.
Имя программы
Имя Приложения Реального Времени. Для Именованной Задачи запускается ровно одна копия этого Приложения.
Комментарий
Произвольный текст, описывающий Именованную Задачу.
Нажмите на кнопку Модифицировать для изменения настроек Именованной Задачи.

Переименование Именованных Задач

Если вы хотите переименовать Именованную Задачу, откройте страницу её Установок, заполните поле Новое имя Именованной Задачи и нажмите на кнопку Переименовать Именованную Задачу.

Если не существует Объекта с именем, совпадающим с новым именем Именованной Задачи, то Именованная Задача переименовывается, и страница с её Настройками должна появиться на экране под новым именем.

Новое имя Именованной Задачи:


Удаление Именованной Задачи

Если вы хотите удалить Именованную Задачу, откройте страницу с её Настройками и нажмите на кнопку Удалить Именованную Задачу.


Временные Именованные Задачи

Сервер CommuniGate Pro позволяет создавать временные Именованные Задачи. Этим задачам даются временные имена, под которыми они сразу запускаются. Когда выполнение временной Именованной Задачи заканчивается, её имя высвобождается и может быть использовано для именования других объектов в домене.

Временные Именованные Задачи могут быть использованы для создания ad-hoc Групповых Чатов. Когда клиента по протоколам XMPP или XIMSS посылают запрос на создание группового чата с уникальным именем, Сервер создаёт временную Именованную Задачу для выполнения Приложения Реального Времени chatroom, и имя этой задачи передаётся клиентам.


Групповые Чаты

CommuniGate Pro реализует Групповые Чаты в стиле XMPP (многосторонние сессии для обмена Мгновенными Сообщениями), используя Приложение реального Времени chatroom.

Это приложение реализует групповой чат согласно спецификации XEP-0045.

Приложение chatroom реализует следующие дополнительные функции:

запись в Журнал
журнал разговора сохраняется в Хранилище файлов Пользователя в виде файлов с именем private/chatlogs/taskName/YYYY-MM.log, где taskName - имя Именованной Задачи чата, YYYY - год, а MM - номер месяца.
интерфейс командной строки
участник чата может послать групповое Мгновенное Сообщение, начинающееся с префикса #cmd:. Оставшаяся часть сообщения обрабатывается как команда. Команда выполняется в зависимости от "роли" и "членства" отправителя. Ответ на команду отправляется в виде Мгновенного Сообщения с префиксом #cmdResult: отправителю команды. Ниже перечислены реализованные команды.
объединение чатов
Чат в CommuniGate Pro может подсоединиться к другому чату (на этом же или другом сервере CommuniGate Pro, или на другом сервере XMPP) в качестве участника.
В результате такого подсоединения сообщения этого чата CommuniGate Pro отправляются в другой чат с префиксом, указывающим на отправителя в этом чате. Таким же образом сообщения другого чата отправляются в чат CommuniGate Pro с префиксом, указывающим на отправителя в другом чате.
Чат CommuniGate Pro может подсоединяться к нескольким локальным или удалённым чатам, играя роль моста между этими чатами.

Приложение chatroom реализует следующие команды интерфейса командной строки:

help
возвращает список поддерживаемых команд.
killroom
отсоединяет всех участников и прекращает выполнение текущей копии Именованной Задачи.
kick nickName
kick [адрес E-mail]
удаляет участника из чата.
Эта команда доступна только модераторам и администраторам.
voice nickName
voice [адрес E-mail]
изменяет "роль" указанного участника на participant (участник), чтобы он мог публиковать свои сообщения.
Эта команда доступна только модераторам и администраторам.
novoice nickName
novoice [адрес E-mail]
изменяет "роль" указанного участника на visitor (посетитель), чтобы он не мог публиковать свои сообщения.
Эта команда доступна только модераторам и администраторам.
moderator nickName
moderator [адрес E-mail]
изменяет "роль" указанного участника на moderator (модератор).
Эта команда доступна только администраторам.
member nickName
member [адрес E-mail]
изменяет "членство" указанного участника на member (член).
Эта команда доступна только администраторам.
admin nickName
admin [адрес E-mail]
изменяет "членство" указанного участника на administrator (администратор).
Эта команда доступна только владельцу Именованной Задачи.
guest nickName
guest [адрес E-mail]
изменяет "членство" указанного участника на guest (гость).
Эта команда доступна только администраторам.
ban nickName
ban [адрес E-mail]
изменяет "членство" указанного участника на outcast (изгнанник), и удаляет его из чата.
Этот пользователь не сможет снова подсоединиться к чату.
Эта команда доступна только администраторам.
msg nickName сообщение
отправляет частное сообщение указанному участнику.
announce сообщение
отправляет обычное сообщение группового чата от имени пользователя. Это сообщение не удаляется из истории сообщений чата, но оно может быть заменено другой командой announce от любого пользователя. Эта команда доступна только модераторам и администраторам.
sysann сообщение
отправляет сообщение группового чата от имени самого чата. Это сообщение не удаляется из истории сообщений чата, но оно может быть заменено другой командой sysann от любого пользователя. Эта команда доступна только модераторам и администраторам.
temp сообщение
отправляет обычное сообщение группового чата от имени пользователя. Это сообщение не сохраняется в истории сообщений чата и не записывается в журналы разговора в чате. Эта команда доступна только модераторам и администраторам.
invite userAddress [ причина ]
отправляет пользователю userAddress приглашение на подсоединение к этому чату.
join roomAddress
отправляет чату roomAddress приглашение на подсоединение к этому чату от имени пользователя.
merge roomAddress [ thisRoomNick [ otherRoomNick ] ]
подсоединяет этот чат в качестве участника к чату roomAddress.
thisRoomNick задаёт имя участника для этого чата в чате roomAddress. Если thisRoomNick не указан, то используется имя этого чата (имя Именованной Задачи).
otherRoomNick задаёт имя участника для чата roomAddress в текущем чате. Если otherRoomNick не указан, используется локальная часть адреса roomAddress. Эта команда доступна только модераторам и администраторам.

Автоматически создаваемые Групповые Чаты

Многие чаты на базе протокола XMPP реализуют домены "только для чатов", вида chats.mycompany.com. Такие серверы автоматически создают новый чат, когда в их домене запрашивается неизвестное имя.

В Доменах CommuniGate Pro содержатся разнообразные Объекты - Пользователи, Псевдонимы, Переадресаторы, Списки Рассылок, Группы и другие, и создание Групповые Чаты по запросу пользователя обычно не приветствуется: администратор Домена или Сервера может создать Именованную Задачу для чата, тогда как обычные Пользователи могут создавать "временные Групповые Чаты" с уникальными именами, используя "ad-hoc" Групповые Чаты.

Чтобы разрешить обычным пользователям создавать Именованные Задачи для чатов постой попыткой подсоединения к неизвестному в Домене имени, включите опцию Свободное создание Чатов в Установках Домена.
Если Пользователь пытается подсоединиться к несуществующему в Домене чату, Именованная Задача чата создастся автоматически, и Пользователь будет Владельцем этой задачи.
Если попытка создания чата таким образом совершается пользователем другого Домена CommuniGate Pro или внешним пользователем, то Именованная Задача для чата создаётся, только если в домене есть Пользователь chatmaster. Это Пользователь используется в качестве Владельца новой Именованной Задачи.


Руководство CommuniGate Pro. Copyright © 2020-2023, АО СталкерСофт