skyleecm, 26 Feb 2010

OnesTodo Xmpp chat interface

OnesTodo has an alternate xmpp/chat interface for managing tasks or todos using the Xmpp protocol available only for paid subscribers.

In order to use it, you need to enable it in the User Preference page. When you enable your chat/xmpp address, onestodo@appspot.com will send an invitation message and a confirmation message to your address. Please accept onestodo@appspot.com immediately, so that you can receive the confirmation message which will arrive shortly in about 2 minutes time. You need to send back the same confirmation message to onestodo@appspot.com within an hour so as to confirm your xmpp address before you can use Xmpp to manage todos.


The confirmation message looks like

/confirm your xmpp address by sending back this message (b4ea9e29851212c600c97c44e8e8..bd)

You need to send back the same message back to onestodo@appspot.com.

/confirm your xmpp address by sending back this message (b4ea9e29851212c600c97c44e8e8..bd)

If OnesTodo confirm your xmpp address, it will send back the following message to you:

Your xmpp address xxx@yyy.com is confirmed. You can chat with onestodo@appspot.com to 
manage your todo.

Once your xmpp address is confirmed, you can use a chat software that supports Xmpp. You are already using it since you need to send the confirmation message. In Linux, we suggest to use Empathy Instant Messenger. The only requirement is that the software has to support entering multiple lines before sending the chat message. (For Empathy IM, hit Ctrl-Enter for a new line, hit Enter to send the message.)

In general, each message starts with a command word that is preceded by a /

The supported commands for managing todos are:

And the supported commands for searching of todos and managing search are:


To create a new unprocessed todo, you enter a message like,

/add title:write documentation for todos chat interface

The add command creates a new todo. Only the title attribute is required. It accepts the following todo's attributes: priority, context, due-date, project, tags. Each attribute has to start on a new line, after each attribute name, enter : follow by its value. (eg. priority: 5)

The description attribute of a todo supports a multi-line string, and is entered after all the other attributes are entered. A special attribute content-type can be used to specify the markup that is used in the description. The content-type value can be either of the following: text/markdown, text/textile or text/html .

A complete add message looks like:

/add title:test create new task
priority: 5
context: work
due-date: 2010-02-25
tags: testing
This is a testing message
to create a new todo.

..
end of task description.

After sending the above message to onestodo@appspot.com, it will send back a reply that looks like:

Todo (id=1721) is created for test create new task

A Todo is identified by its id, any subsequent action on the above todo requires the id attribute to be entered.


To view the above todo, you enter and send this message:

/view id:1721

You will receive the below message:

Details of Todo (id=1721) follows:
id: 1721
title: test create new task
priority: 5
context: work
due-date: 2010-02-25
project: 
tags: testing
completed-date: 
time-taken:

This is a testing message
to create a new todo.

..
end of task description.

To edit/update the above todo, you are allowed to modify any of its attributes and only enter those modified attributes and their values. For example, to update its priority to 7, enter and send this message:

/edit id:1721
priority: 7

You will receive the below reply:

Todo (id=1721) is updated for test create new task

A project task in OnesTodo is a task with sub-tasks. The project attribute identifies the task's parent task (or project task). For example, you can create a new sub-task of the above todo with this message:

/add title: create a new subtask - test create new task
priority: 5
context: work
project: 1721
tags: testing

You will receive a reply like:

Todo (id=1722) is created for create a new subtask - test create new task

To edit/update the project task (id=1721) so that its description now contains a link to its new sub-task using the markdown markup format, you can enter this:

/edit id:1721
content-type: text/markdown
This is a testing message
to create a new todo.

* [create a new subtask](/1722)

..
end of task description.

In the web interface, this todo's description will contain a hyperlink to its sub-task.


To mark the todo as done/completed, you need to use the edit command with the special attribute done with a value of yes like:

/edit id:1722
done: yes
completed-date: 2010-02-26

The completed-date and time-taken attributes are modified only when a todo is done/completed, so when a todo is marked as done, it requires the done: yes.

To update the above completed todo's time-taken, you can enter this:

/edit id:1722
time-taken: 1 hour

The supported unit of time-taken are those listed in the Edit Todo web page.


To delete the todo, you enter and send this message:

/del id:1722

You will receive the below message:

Todo (id=1722) is deleted for create a new subtask - test create new task

The search command searches for todos that match the entered attributes. (see OnesTodo User interface) It accepts the following todo's attributes: title, priority, context, due-date, project, description, tags and done.

The priority and due-date attributes supports inequality search. You can also use 2 due-date criteria for due-date that falls between 2 dates.

The default Pending Todos search is equivalent to:

/search done:no

To search for the above entered todos using context=work and tags=testing, enter this:

/search context:work
tags:testing

You will receive a reply like:

Number of search results: 1:
page: 1
1. test create new task (p7 !2010-02-25 @work) [id=1721]

The attributes that are displayed are similar to those in the web search interface, except for the done attribute.

(p7 !2010-02-25 @work) is the shorthand notation for priority=7, due-date=2010-02-25, and context=work.

Each page of search results only display up to 10 todos, you can browse for subsequent pages using the page attribute. For example:

/search done:no
page: 2

By default, the results are ordered in default sort order. To sort by the newest order (newer task sorted first), enter the sort attribute like:

/search done:yes
sort: new

The other special search is the favourite search using the name attribute. This is equivalent to the Favourites List dropdown search.

The Unprocessed list search is

/search name:Unprocessed

The Today list search is

/search name:Today

It is also by default equivalent to:

/search due-date: <=today
done: no

When the name attribute is used, the other attributes are ignored, except for the page and sort attributes.


The editsearch command also searches for todos that match the entered attributes, with the additional requirement that the name attribute must be set. The editsearch command assigns the entered name as the favourite search for the entered search criteria, so that you can perform the same search using the name attribute with the search command.

For example, to only list tasks that are due today at work, you can assign "Today Work" as favourite with:

/editsearch name:Today Work
due-date: <=today
context: work
done: no

You will receive a reply like:

Search is assigned as the favorite term: Today Work
Number of search results: 1:
page: 1
1. test create new task (p7 !2010-02-25 @work) [id=1721]

Subsequently, the same search using "Today Work" favorite search is:

/search name:Today Work

The searchfavs command display the list of favourite search.

/searchfavs

You will receive a reply like:

Number of search favorites: 5:
1. 1 Week
2. Maybe
3. Today
4. Today Work
5. Unprocessed

The removefav command removes a favourite search using the required name attribute.

For example, to remove the previously assigned "Today Work":

/removefav name:Today Work

You will receive a reply like:

Favorite search term Today Work is removed.

After this, searching using "Today Work" favorite search will not work, until it is being assigned as a favorite search.

 

Tags: todo, documentation, faq, user-guide, gtd, xmpp