libobby
=======

Blocker:

Critical:

Major:

Normal:
  * Hide equivalent insert / change calls (#28)
  * Implement records to (un)indent lines of text (#30)
  * Undo/Redo (#39)
  * Authentication: Database-based authentication using user/password (#57)
  * Authentication: Access control lists (#58)
  * Use precompiled headers (#61)

Minor:

Trivial:

Enhancement:
  * Session serialisation (#20)
  * Implement server-side commands for remote actions (#29)


28: Hide equivalent insert / change calls
-----------------------------------------
Hide equivalent insert / change calls

''This is a stub and generated out of the old TODO located in the 
repository.''

30: Implement records to (un)indent lines of text
-------------------------------------------------
Implement indent_record and unindent_record to (un)indent lines of text

''This is a stub and generated out of the old TODO located in the 
repository.''

39: Undo/Redo
-------------
The current undo/redo implementation is taken directly from GtkSourceView. 
This is not good because text that other people have written may be undone. 
We need a proper undo/redo handling in libobby.

57: Authentication: Database-based authentication using user/password
---------------------------------------------------------------------
''libobby'' should provide the following mean of authentication:
 * The server checks a user/password combination against a user database, 
useful for dedicated private ''obby'' servers.

58: Authentication: Access control lists
----------------------------------------
''libobby'' should provide the following mean of authentication:
 * Single documents should be get some kind of password or access control 
list protection.

61: Use precompiled headers
---------------------------
All projects should make use of precompiled headers.

20: Session serialisation
-------------------------
When multiple persons are editing a document the situation that one 
(perhaps the host) has to leave is quite common. ''libobby'' should support 
some kind of session serialisation while preserving the history (and thus 
the attribution of each character to the corresponding user) so that it 
could be easily resumed. Probably (possibly compressed) XML should be used 
to serialise a tree of objects. The following features should be 
implemented:

 * Load/save documents to/from file and/or memory (while preserving 
history)
 * Load/save complete obby session

29: Implement server-side commands for remote actions
-----------------------------------------------------
The possibility to send server-side commands would enable one to e.g. save 
the current document to a directory on the server or to perform other 
actions. ''libobby'' should provide the framework for this and ''Gobby'' 
some command interface to submit such commands to the server.

