prototype/initial version of the concurrency functionality using a tornado server
the only functionality currently available is the active user list and node locking
added a tornado_main file for development that currently holds all the tornado specific code
two api's currently exist in the tornado code: an api for locking nodes and an api that handles the long polling and update/event serving
a form that validates requests to lock nodes was added
added django auth back to template context processors in the settings so auth user data is available in in the template - this may be temp
added requestcontext back to views and specifically to system_map for the auth user data - may be temp
added js to handle long polling requests and node locks
added relevant html to display the currently available concurrency functionality
changed the display none inline styles in the html to hidden attributes instead
made some misc 80 char line length changes
abstracted pulses and node_locks from tornado_main to a separate tornado_vars file for now
added update broadcasts to systemnodecreateapi on node/page creation
changed systemnodedeleteapi to take a page in addition to a node id to conform with the idea of page-specific activity
added a descendant node lock check to the delete api
added update broadcasts of node/page deletion to the delete api
changed the map view to return a user list formed from the open connections/pulses and the node locks on a given page
added conditionals to handle each of the new broadcasted event types to the updates request function in the js
added addnode and deletenode functions in the js to remove the need for page refreshes to display new/deleted nodes
these are now called when update broadcasts are received with those events as well as when the requests to perform those actions are successful
added js to display node locks on a page when it is retrieved
added functions in the js to retrieve the canvas's width and height for when it is initially setup as well as transformed during addition/deletion
in the js, path elements are now stored with the child nodes that they connect to
changed page selection in the js to check and remove node locks prior to switching pages
changed the position of the updates call in the js so that it would work on the blank map page
changed some of the ajax calls in the js to use window location pathname instead of the select's value as the select's value could be different or even manipulated
changed the timeout on send_update in tornado_main to 30 seconds from 5 seconds
added parent_node_id to systemnode's json_safe method and changed the display of the date
fixed the urls for delete node tests - a couple tests are broken currently because of the newly implemented tornado code
removed the django auth context processor as well as references to requestcontext from views as having access to the auth user in the template was no longer necessary
added an empty string page to pulses in tornado_main so the blank map page would be handled properly
changed some of the hardcoded values in the js to be global variables instead for now
removed stupid byte order marks from the js and css
refactoring the tornado code
both apis have been moved from tornado_main to their individual files in the api dir
moved the utility function that checks for a django auth user within a request in tornado to a tornado lib file
removed a couple erroneous tornado web asynchronous wrappers from the tornado updates api as they were wrapping non http verb methods
updated system node apis and the tornado node lock api to send the update broadcasting calls to the ioloop main thread in tornado so they are run asynchronously from those apis
added a conditional to clearselection when the select's value changes in the js so it doesn't error on the blank map page