canmove, Confirmed users
382
edits
(p1 in bold) |
|||
| Line 1: | Line 1: | ||
==Getting to Live Chat== | ==Getting to Live Chat== | ||
We must have multiple ways for users on SUMO to get into live chat | We must have multiple ways for users on SUMO to get into live chat | ||
*Clicking an option from the ask a question page or ask a question form | *'''Clicking an option from the ask a question page or ask a question form''' | ||
*After pressing "No" on the survey of specific articles | *'''After pressing "No" on the survey of specific articles''' | ||
==Asking a question== | ==Asking a question== | ||
===Before joining the queue=== | ===Before joining the queue=== | ||
The chat system must allow users to ask questions. Ideally, this would be integrated with our existing Questions app for Kitsune as much as possible. | The chat system must allow users to ask questions. Ideally, this would be integrated with our existing Questions app for Kitsune as much as possible. | ||
Before beginning the chat, a user must see: | '''Before beginning the chat, a user must see:''' | ||
*Whether the queue is Open, Closed, or Full. | *'''Whether the queue is Open, Closed, or Full.''' | ||
*The estimated wait time. (Based on the higher of a static multiplier times the number waiting in the queue or the current maximum wait time in the queue) | *'''The estimated wait time. (Based on the higher of a static multiplier times the number waiting in the queue or the current maximum wait time in the queue)''' | ||
*A link or button for starting a chat | *'''A link or button for starting a chat''' | ||
At some point before joining the queue, the user must be asked: | '''At some point before joining the queue, the user must be asked:''' | ||
*What the question is | *'''What the question is''' | ||
*Which OS (autodetect) | *'''Which OS (autodetect)''' | ||
*Which Firefox version (autodetect) | *'''Which Firefox version (autodetect)''' | ||
*Which extensions are used | *'''Which extensions are used''' | ||
*Which plugins are used (autodetect) | *'''Which plugins are used (autodetect)''' | ||
*When the problem started to occur (selectable option) | *'''When the problem started to occur (selectable option)''' | ||
*How often the problem happens (selectable option) | *'''How often the problem happens (selectable option)''' | ||
*Article/search used to get to chat (autodetect) | *Article/search used to get to chat (autodetect) | ||
===In the chat queue=== | ===In the chat queue=== | ||
At some point after providing the question details, the user must have a chance to join the chat queue. If the queue is full, the user should be able to keep trying to join without retyping the question. The user must be see: | '''At some point after providing the question details, the user must have a chance to join the chat queue. If the queue is full, the user should be able to keep trying to join without retyping the question. The user must be see:''' | ||
*Current queue position and wait time | *'''Current queue position and wait time''' | ||
*A template containing rules and top issues | *'''A template containing rules and top issues''' | ||
*Links to KB articles that the user might want to read while waiting. (search results from question) (P3 requirement) | *Links to KB articles that the user might want to read while waiting. (search results from question) (P3 requirement) | ||
===Chatting with an agent=== | ===Chatting with an agent=== | ||
When the user's chat is accepted by an agent, both the user and the agent should join a multiuser chat. Other agents may join this chat if they are invited or have "room monitor" access. | When the user's chat is accepted by an agent, both the user and the agent should join a multiuser chat. Other agents may join this chat if they are invited or have "room monitor" access. | ||
*Both sides must be able to type messages to each other | *'''Both sides must be able to type messages to each other''' | ||
*Both sides should see when the other is typing (P2 requirement) | *Both sides should see when the other is typing (P2 requirement) | ||
*URLs sent by the agent must be linkified and must open in a new window, so as to not end the chat | *'''URLs sent by the agent must be linkified and must open in a new window, so as to not end the chat''' | ||
*The entire chat session must be logged to the database | *'''The entire chat session must be logged to the database''' | ||
*There must be a button to end the chat session | *'''There must be a button to end the chat session''' | ||
*Basic wiki markup for <nowiki>'''bold''', ''italic'', and [[KB article names]]</nowiki> sent by the agent should be parsed. (P2 requirement) | *Basic wiki markup for <nowiki>'''bold''', ''italic'', and [[KB article names]]</nowiki> sent by the agent should be parsed. (P2 requirement) | ||
*Variables like %agent%, %nick%, and %forum% should be parsed into the agent's username, the user's nickname, and a link to follow up in the forum. (P3 requirement) | *Variables like %agent%, %nick%, and %forum% should be parsed into the agent's username, the user's nickname, and a link to follow up in the forum. (P3 requirement) | ||
===After the chat has finished=== | ===After the chat has finished=== | ||
When the chat session ends, the user must see: | '''When the chat session ends, the user must see:''' | ||
*A message thanking them for using the service | *A message thanking them for using the service | ||
*An ability to get an e-mailed transcript. If not a logged in user, an opportunity to type in an e-mail address must be presented. | *'''An ability to get an e-mailed transcript. If not a logged in user, an opportunity to type in an e-mail address must be presented.''' | ||
*A post-chat survey | *'''A post-chat survey''' | ||
*A button for following up to the forum | *A button for following up to the forum (P3 requirement) | ||
When following up to the forum, via a link from the agent or the post-chat button, the following must happen: | When following up to the forum, via a link from the agent or the post-chat button, the following must happen: | ||
| Line 54: | Line 54: | ||
===Before accepting chats=== | ===Before accepting chats=== | ||
*Set his/her status to available or away | *'''Set his/her status to available or away''' | ||
*Set his/her maximum number of chats (chat limit) (default: 2) | *'''Set his/her maximum number of chats (chat limit) (default: 2)''' | ||
*See questions in the queue, ideally on a chat dashboard | *'''See questions in the queue, ideally on a chat dashboard''' | ||
*Get notifications upon chat offers, invitations, and messages | *'''Get notifications upon chat offers, invitations, and messages''' | ||
===Upon receiving a chat offer=== | ===Upon receiving a chat offer=== | ||
*Receive a notification that a chat is being offered, showing the question details and time remaining to accept. | *'''Receive a notification that a chat is being offered, showing the question details and time remaining to accept.''' | ||
*Automatically join a multiuser chat room when accepting a chat. | *'''Automatically join a multiuser chat room when accepting a chat.''' | ||
===Upon accepting a chat=== | ===Upon accepting a chat=== | ||
*See chat details (OS, plugins, version, question, etc) | *'''See chat details (OS, plugins, version, question, etc)''' | ||
*See canned responses in a dropdown menu, which can be sent to a user | *'''See canned responses in a dropdown menu, which can be sent to a user''' | ||
*Add tags to the chat (P2 requirement) | *'''Add tags to the chat (P2 requirement)''' | ||
*Invite other agents to the chat | *'''Invite other agents to the chat''' | ||
*Confirm his/her intent before closing the chat | *'''Confirm his/her intent before closing the chat''' | ||
===Other=== | ===Other=== | ||
*Handle up to 50 chats at a time without the UI misbehaving. | *'''Handle up to 50 chats at a time without the UI misbehaving.''' | ||
*See notifications showing which chats need attention. (eg. chat tabs should appear red if they have an unread response and blink red if gone unanswered for X seconds) (P2 requirement) | *See notifications showing which chats need attention. (eg. chat tabs should appear red if they have an unread response and blink red if gone unanswered for X seconds) (P2 requirement) | ||
*Be able to communicate with other helpers via a contributors conference (eg. integrate #sumo) and/or by private instant message (P2 requirement) | |||
*See the chat interface integrate with SUMO without popup window(s) (P2 requirement) | |||
==Chat queue== | ==Chat queue== | ||
All questions that make it through the chat ask-a-question process must be added to a queue, so we can answer older ones first. | '''All questions that make it through the chat ask-a-question process must be added to a queue, so we can answer older ones first.''' | ||
*The maximum number that can be in the queue is set by the sum of all agents' chat limit | *'''The maximum number that can be in the queue is set by the sum of all agents' chat limit''' | ||
*The entire queue should be displayed on the chat dashboard (P3 requirement) | *'''The entire queue should be displayed on the chat dashboard (P3 requirement)''' | ||
*Offers from the top of the queue should be offered to available agents with chats below their limit. The agent must have an exclusive period of time (20-30sec) during the offer where only he/she can take that chat. | *'''Offers from the top of the queue should be offered to available agents with chats below their limit. The agent must have an exclusive period of time (20-30sec) during the offer where only he/she can take that chat.''' | ||
*Questions in the queue for more than X minutes should time out, and the user should be informed that we | *'''Questions in the queue for more than X minutes should time out, and the user should be informed that we regrettably couldn't chat with them.''' | ||
==Room monitoring== | ==Room monitoring== | ||
Trusted helpers in the Room Monitors group must be able to click any current chat from the chat dashboard (or other location where current chat sessions are listed) and monitor or join the chat. When monitoring, neither the agent nor the user should see the monitor's presence. | '''Trusted helpers in the Room Monitors group must be able to click any current chat from the chat dashboard (or other location where current chat sessions are listed) and monitor or join the chat. When monitoring, neither the agent nor the user should see the monitor's presence. | ||
These trusted users must also be able to open/close the chat queue. If the P3 feature for sending messages to everyone in the queue is implemented, these users should have access to do so. | These trusted users must also be able to open/close the chat queue. If the P3 feature for sending messages to everyone in the queue is implemented, these users should have access to do so.''' | ||
==Administration== | ==Administration== | ||
Administrators should be able to | Administrators should be able to | ||
*Edit canned responses | *'''Edit canned responses''' | ||
*Edit templates used on the chat landing page and waiting in queue page | *Edit templates used on the chat landing page and waiting in queue page | ||
*Set agents' chat limits | *Set agents' chat limits | ||
*Have all Room Monitor permissions | *'''Have all Room Monitor permissions''' | ||
*See chat metrics and be able to search the chat logs | *'''See chat metrics and be able to search the chat logs''' | ||