CommuniGate Pro
Version 6.3
 

Named Task

The CommuniGate Pro Server provides special Domain Objects - "Named Tasks". When a Real-Time Signal is addressed to the Named Task name, the Server launches a Real-Time Application specified for that Named Task, and passes the Signal to that Application instance. When new Signals are directed to the same address, they are delivered to the same Application instance.

Named Tasks are used to implement collaboration services, such as XMPP-style "chatrooms".



Creating a New Named Task

Named Tasks in any Domain can be created by the Server Administrator if the administrator Account has the Can Modify All Accounts And Domain Settings access right.

A Domain Administrator can create, remove, and rename Named Tasks only if the CanCreateNamedTasks access right is granted to the administrator Account.

To create a Named Task, create an Account or choose an existing one - the Named Task owner Account.
Use the WebAdmin Interface to open the Account Settings pages, then open the Call Settings page in the Real-Time section, and find the Named Tasks panel:

Named Tasks
NameProgram Name
projectx-talkchatroom

Enter the name of the Named Task to create and click the Create Named Task button.

The Server checks that there is no Account or other Object with the same name in this Domain, and creates a new Named Task.


Specifying Named Task Settings

To specify Named Task Settings, click the Named Task name on the owner Account Settings page. The Named Task Settings page appears.

Owner: jksmith
Real Name:
Program Name:
RealName
A brief description of the Named Task.
Program Name
The Real-Time Application name. The Named Task runs one instance of this Application.
To update the Named Task settings, click the Update button.

Renaming Named Tasks

If you want to rename a Named Task, open its Settings page, fill the New Named Task Name field, and click the Rename Named Task button.

If there is no other Object with the same name as the specified new Named Task name, the Named Task is renamed and its Named Task Settings page should reappear on the screen under the new name.

New Named Task Name:


Removing Named Task

If you want to remove a Named Task, open its Settings page, and click the Remove Named Task button.


Temporary Named Tasks

The CommuniGate Pro Server allows it users to create temporary Named Tasks. These Task are assigned a temporary name, and they are started immediately. When a temporary Named Task ends, its name is released and can be reused for other Objects in the same Domain.

Temporary Named Tasks can be used to create ad-hoc Instant Messaging chatrooms. When an XMPP or XIMSS client sends a request to retrieve a "unique room name", a Temporary Named Task running the chatroom Real-Time Application is created and started, and its name is reported to the client.


Chatrooms

CommuniGate Pro implements XMPP-style chatrooms (multi-party Instant Messaging sessions) using the Real-Time Application chatroom.

The Application implements the chatroom according to the XEP-0045 specification.

The chatroom Application implements the following additional functions:

logging
the conversation log is stored in the owner Account file storage, as the private/chatlogs/taskName/YYYY-MM.log text files, where taskName is the chatroom (Named Task) name, YYYY is the year, and MM is the month number.
command line interface
a user can send a "groupchat" Instant Message starting with the #cmd: prefix. The rest of the message is interpreted as a command. The command is executed subject to the sending user current "role" and "affiliation". The command response is sent as an Instant Message with the #cmdResult: prefix to the command sender. The implemented commands are listed below.
chatroom merging
A CommuniGate Pro chatroom can be instructed to connect to some other chatroom (running on this or other CommuniGate Pro Server, or on some other XMPP server), as a participant.
When connected, the messages distributed inside this CommuniGate Pro chatroom are sent to the remote chatroom with a prefix specifying the sender nickname in this chatroom. In the same way messages distributed in the remote chatroom are distributed in the CommuniGate Pro chatroom with a prefix specifying the sender nickname in the remote chatroom.
A CommuniGate Pro chatroom can connect to several local and remote chatrooms at once, acting as a bridge between all of them.

The chatroom Application implements the following command line interface commands:

help
returns the supported command list.
killroom
disconnects all participants and terminated this Named Task application instance.
kick nickName
kick [E-mail address]
removes the specified participant from the chatroom.
This command is available to administrators and moderators only.
voice nickName
voice [E-mail address]
changes the specified participant "role" to participant, so the participant can post messages.
This command is available to administrators and moderators only.
novoice nickName
novoice [E-mail address]
changes the specified participant "role" to visitor, so the participant cannot post messages.
This command is available to administrators and moderators only.
moderator nickName
moderator [E-mail address]
changes the specified participant "role" to moderator.
This command is available to administrators only.
member nickName
member [E-mail address]
changes the specified participant "affiliation" to member.
This command is available to administrators only.
admin nickName
admin [E-mail address]
changes the specified participant "affiliation" to administrator.
This command is available to the Named Task owner only.
guest nickName
guest [E-mail address]
changes the specified participant "affiliation" to guest.
This command is available to administrators only.
ban nickName
ban [E-mail address]
changes the specified participant "affiliation" to outcast, and removes the user from the chatroom.
This user will not be able to connect to his chatroom again.
This command is available to administrators only.
msg nickName message
sends a private message message to the specified participant.
announce message
sends a regular "groupchat" message message on the user behalf. This message will not be removed from the message history, but it can be replaced with the next announce command sent by any user. This command is available to administrators and moderators only.
sysann message
sends a "groupchat" message message from the room itself. This message will not be removed from the message history, but it can be replaced with the next sysann command sent by any user. This command is available to administrators and moderators only.
temp message
sends a regular "groupchat" message message on the user behalf. This message is not stored in the message history, and it is not recorded in the chatroom conversation log files. This command is available to administrators and moderators only.
invite userAddress [ reason ]
sends an invitation to this chatroom to the userAddress user.
join roomAddress
sends a join request to the roomAddress chatroom on the user behalf.
merge roomAddress [ thisRoomNick [ otherRoomNick ] ]
connects this chatroom as a participant to the roomAddress chatroom.
thisRoomNick specifies the nickName of this chatroom inside the roomAddress chatroom. If thisRoomNick is not specified, this chatroom name (the Named Task name) is used.
otherRoomNick specifies the nickName of the roomAddress chatroom in this chatroom. If otherRoomNick is not specified, this username part of the roomAddress is used. This command is available to administrators and moderators only.

Automatically Created Chatrooms

Many XMPP-only "chat" implement handle "chatroom-only" domains, such as chats.mycompany.com. These servers automatically create a chatroom when an unknown name is addressed in their domain.

CommuniGate Pro Domains contain various Objects - Accounts, Aliases, Forwarders, Mailing Lists, Groups, and others, and creating chatrooms by user request is usually not desired: the Server or Domain administrator can create chatroom Named Tasks, while regular users can create "temporary chatrooms" with unique names, used for ad-hoc chatrooms.

To allow regular users to create chatroom Named Tasks by an attempt to connect to an non-existent name in the Domain, enabled the Auto-Create Chatrooms Domain Settings.
If a user of some Account in the same Domain tries to connect to a non-existent chatroom, a chatroom Named Task is created automatically, with this Account as its owner.
If an attempt to connect to a non-existent chatroom is done by a user of a different CommuniGate Pro Domain or by an external user, a chatroom Named Task is created only if the target Domain has the chatmaster Account. This Account is used as the newly created Named Task owner.


CommuniGate Pro Guide. Copyright © 2020, AO StalkerSoft