Closed Bug 458793 Opened 16 years ago Closed 16 years ago

Room monitors should be able to open/close the workgroup

Categories

(support.mozilla.org Graveyard :: Chat, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: zzxc, Assigned: zzxc)

References

Details

Attachments

(1 file, 2 obsolete files)

There should be a feature allowing agents with room monitor to open/close the workgroup.  This will be implemented with a command that room monitors can issue to the workgroup itself.
Depends on: 452646
Severity: normal → enhancement
This adds an interface to control the workgroup via XMPP.  Room monitors can open/close the workgroup, and everyone can set their personal chat limit.  It adds four commands to the existing ChatBot interface accessible by private messaging the workgroup.

*admin open: Opens the workgroup (room monitors only)
*admin close: Closes the workgroup (room monitors only)
*admin status: Prints the current status of the workgroup
*admin limit <number>: Sets the agent's personal MaxChats to number
A few comments: "Ready to open" isn't clear.  Use "Live Chat will open as soon as a helper sets available" or something more descriptive.

There should be some checking of the integer used in limit commands.  We probably don't want it to go higher than a global max chats and it should be at least 1.
(In reply to comment #2)
> A few comments: "Ready to open" isn't clear.  Use "Live Chat will open as soon
> as a helper sets available" or something more descriptive.
> 
> There should be some checking of the integer used in limit commands.  We
> probably don't want it to go higher than a global max chats and it should be at
> least 1.

I changed the limit command to be more useful.  It now allows room monitors to set other agents' limits, and everyone except room monitors is subject to a maximum limit.  This "maxMaxChats" setting is currently hardcoded to 5 - it should be added to the database schema as a configurable option if this feature is accepted upstream.  Additionally, a chat limit of 0 (only configurable by room monitors) forces the agent to be Away until the agent logs in again.  This prevents the agent from receiving more chat offers or keeping the queue open, useful if an agent forgets to manually set Away.

This also changes the "ready" wording to "will be open when when an agent becomes available".
Attachment #352699 - Attachment is obsolete: true
Attachment #352883 - Flags: review?(smirkingsisyphus)
Attachment #352883 - Flags: review?(smirkingsisyphus) → review?(aking)
Comment on attachment 352883 [details] [diff] [review]
Improve limit functionality and update wording

I am not familiar with the project and don't have a local installation to patch and run the code.

In general this looks good. Some minor feedback:

make mutually exclusive blocks part of the same if/else structure: it seems arguments[1] can be open/close/status/limit.

Consider pulling out user id into a temporary variable early on in handleAdminCommand to avoid repetitive and wordy 
session.getUserJID().toBareJID()

If logging is used on the project, consider logging where you catch general Exception and send back syntax help.

handleAdminCommand is a bit long.

I found
if ((max < 0) || ((max < 1) && (!workgroup.isRoomMonitor(session.getUserJID().toBareJID())))) {
a little confusing on quick read. Maybe 
if ((max < 0) || ((max = 0) && (!workgroup.isRoomMonitor(session.getUserJID().toBareJID())))) {

Again all minor nitpicks. Great work. I don't see any real issues, am marking +.
Attachment #352883 - Flags: review?(aking) → review+
Thanks for the review.  I addressed your comments and checked this in.  (r20864)
Attachment #352883 - Attachment is obsolete: true
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Product: support.mozilla.org → support.mozilla.org Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: