Support/Live Chat/Node.js: Difference between revisions

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 -&gt; allow users to create new Message objects with data  
**'''<sup>[√]</sup>''' /message -&gt; allow users to create new Message objects with data  
*'''<sup>[√]</sup>'''*Add filtering for messages that will strip any potentially-harmful data (&lt;tags&gt;, etc.)  
**'''<sup>[√]</sup>''' Add filtering for messages that will strip any potentially-harmful data (&lt;tags&gt;, etc.)  
**'''<sup>[√]</sup>'''Add CSRF verification.  
**'''<sup>[√]</sup>''' Add CSRF verification.  
**'''<sup>[√]</sup>'''/listen -&gt; add listener for new Message objects using long polling
**'''<sup>[√]</sup>''' /listen -&gt; 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 &amp; Guest Interface  
*July 1: Group Chat &amp; 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  ==
28

edits