SuperDo is a to-do list and tasks manager.
Why another project for doing this ? Because it's difficult to found such a program that is easy to use, following the KISS (Keep It Short and Simple) philosophy and allowing an offline usage, and can be integrated in window managers or environments which are freedesktop.org compliants.
In particular, the idea of this project is to use an hidden Google Calendar to store items of the to do list.
The client side of the project is coded in Java using the Google Calendar and GData API, the java xml binding API and the xml schema for the local storage of the list listed here (version dated 2009.07.29):
<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:superdo="http://trevize.net/superdo" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://trevize.net/superdo"> <xsd:element name="superdo" type="superdo:superdo_t" /> <xsd:complexType name="superdo_t"> <xsd:sequence maxOccurs="1" minOccurs="1"> <xsd:element name="creator" type="xsd:string" /> <xsd:element name="creationDate" type="xsd:string" /> <xsd:element name="lastModificationDate" type="xsd:string" /> <xsd:element name="taskList" type="superdo:taskList_t" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="taskList_t"> <xsd:sequence maxOccurs="unbounded" minOccurs="0"> <xsd:element name="task" type="superdo:task_t" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="task_t"> <xsd:sequence maxOccurs="1" minOccurs="1"> <xsd:element name="creationDate" type="xsd:string" /> <xsd:element name="name" type="xsd:string" /> <xsd:element name="content" type="xsd:string" /> </xsd:sequence> <xsd:attribute name="id" type="xsd:positiveInteger" /> </xsd:complexType> </xsd:schema>
Like all items are stored in a Google Calendar, it could be easy to develop a web client (javascript or python) for applying CRUD (create, read, update, delete) operations on the to do lists.
The code is available on my svn (authentification required, you can send me an email at nicolas.jamesATgmail.com).