28
edits
No edit summary |
|||
| Line 15: | Line 15: | ||
*June 10: Authentication | *June 10: Authentication | ||
**'''<sup>[√]</sup>''' Find existing Django session ID in cookie | **'''<sup>[√]</sup>''' Find existing Django session ID in cookie | ||
**'''<sup>[√]</sup>'''Extract Django session data from database | **'''<sup>[√]</sup>''' Extract Django session data from database | ||
**'''<sup>[√]</sup>'''Create new "chat session" ID cookie | **'''<sup>[√]</sup>''' Create new "chat session" ID cookie | ||
***Use modified Session library from Express to store data (in memory?) | ***Use modified Session library from Express to store data (in memory?) | ||
**'''<sup>[√]</sup>'''Retrieve chat permissions from database | **'''<sup>[√]</sup>''' Retrieve chat permissions from database | ||
**'''<sup>[√]</sup>'''Add authentication check (against stored session) to each page load | **'''<sup>[√]</sup>''' Add authentication check (against stored session) to each page load | ||
**'''<sup>[√]</sup>'''Automatically authenticate user upon first load of chat system, if logged in. Otherwise, redirect them to the login. | **'''<sup>[√]</sup>''' Automatically authenticate user upon first load of chat system, if logged in. Otherwise, redirect them to the login. | ||
*June 17: Basic Messaging | *June 17: Basic Messaging | ||
**'''<sup>[√]</sup>'''Build "Message" object that will contain all of the important message data and serialize it into a json object | **'''<sup>[√]</sup>''' Build "Message" object that will contain all of the important message data and serialize it into a json object | ||
**'''<sup>[√]</sup>'''Create a "Room" object that will allow both 1-on-1 and multi-user conversations to be initialized. | **'''<sup>[√]</sup>''' Create a "Room" object that will allow both 1-on-1 and multi-user conversations to be initialized. | ||
**'''<sup>[√]</sup>'''Guests should only be allowed in one room at a time? | **'''<sup>[√]</sup>''' Guests should only be allowed in one room at a time? | ||
**'''<sup>[√]</sup>'''How to hash room names/keep them private? | **'''<sup>[√]</sup>''' How to hash room names/keep them private? | ||
**'''<sup>[√]</sup>'''/message -> allow users to create new Message objects with data | **'''<sup>[√]</sup>''' /message -> allow users to create new Message objects with data | ||
*'''<sup>[√]</sup>''' | **'''<sup>[√]</sup>''' Add filtering for messages that will strip any potentially-harmful data (<tags>, etc.) | ||
**'''<sup>[√]</sup>'''Add CSRF verification. | **'''<sup>[√]</sup>''' Add CSRF verification. | ||
**'''<sup>[√]</sup>'''/listen -> add listener for new Message objects using long polling | **'''<sup>[√]</sup>''' /listen -> add listener for new Message objects using long polling | ||
*June 24: Watchers | *June 24: Watchers | ||
**'''<sup>[√]</sup>'''Allow authorized users (check perms) to join 1-on-1 rooms | **'''<sup>[√]</sup>''' Allow authorized users (check perms) to join 1-on-1 rooms | ||
**'''<sup>[√]</sup>'''Messages in rooms should be broadcast to all users | **'''<sup>[√]</sup>''' Messages in rooms should be broadcast to all users | ||
**'''<sup>[ ]</sup>'''Watchers should not be allowed to speak in rooms | **'''<sup>[ ]</sup>''' Watchers should not be allowed to speak in rooms | ||
**'''<sup>[ ]</sup>'''Add ability to pass conversations to other users | **'''<sup>[ ]</sup>''' Add ability to pass conversations to other users | ||
**'''<sup>[ ]</sup>'''Agent interface as reference implementation | **'''<sup>[ ]</sup>''' Agent interface as reference implementation | ||
*July 1: Group Chat & Guest Interface | *July 1: Group Chat & Guest Interface | ||
**'''<sup>[ ]</sup>'''Guest interface as reference implementation | **'''<sup>[ ]</sup>''' Guest interface as reference implementation | ||
**'''<sup>[ ]</sup>'''Multiuser rooms should have their own set of user permissions? (Op/H-Op?) | **'''<sup>[ ]</sup>''' Multiuser rooms should have their own set of user permissions? (Op/H-Op?) | ||
**'''<sup>[ ]</sup>'''Add ability to kick users from chatrooms. Ban? | **'''<sup>[ ]</sup>''' Add ability to kick users from chatrooms. Ban? | ||
*July 6: Non-Authenticated Guests | *July 6: Non-Authenticated Guests | ||
**'''<sup>[ ]</sup>'''Allow guests that are ''not'' authenticated to join the support queue. | **'''<sup>[ ]</sup>''' Allow guests that are ''not'' authenticated to join the support queue. | ||
**'''<sup>[ ]</sup>'''Setting and updating a user's status | **'''<sup>[ ]</sup>''' Setting and updating a user's status | ||
**'''<sup>[ ]</sup>'''Agent-Agent private chat | **'''<sup>[ ]</sup>''' Agent-Agent private chat | ||
*July 6 - 10: Summit 2010! | *July 6 - 10: Summit 2010! | ||
*July 15: Logging | *July 15: Logging | ||
**'''<sup>[ ]</sup>'''Message/conversation data needs to be logged somewhere | **'''<sup>[ ]</sup>''' Message/conversation data needs to be logged somewhere | ||
**'''<sup>[ ]</sup>'''Chat queue status (queue positioning/time estimate) | **'''<sup>[ ]</sup>''' Chat queue status (queue positioning/time estimate) | ||
<br> | <br> | ||
| Line 62: | Line 62: | ||
*Also, room monitors have permission to watch any chat room, open/close the queue, and set other helpers' limits. | *Also, room monitors have permission to watch any chat room, open/close the queue, and set other helpers' limits. | ||
<br> | <br> | ||
== Features currently used in Live Chat XMPP server == | == Features currently used in Live Chat XMPP server == | ||
edits