Skip to content
digitalfox edited this page Sep 14, 2010 · 12 revisions

Welcome to the Yokadi wiki!

Introduction

The Yokadi Concept

Yokadi is a todo list tool. It helps you organize all the things you have to do and you must not forget. Yokadi is a command line tool. It works in terminal or shell. It aims to be simple, intuitive and very efficient.
In Yokadi you manage projects, which contains tasks. At the minimum, a task has a title, but it can also have a description, a due date, an urgency or keywords. Keywords can be any word that help you to find and sort your tasks.

How it works

Yokadi is written in Python and stores your tasks in an sqlite database. An sqlite database is a single file that you can copy and move easily (by mail, or usb key for example).

Yokadi Installation

Prerequisite

  • Unix or Linux system. MacOSX should work but have not been tested. Sorry, Windows is not supported for the moment.
  • Python 2.4 or higher
  • Sqlite module (included in Python since 2.5 release)
  • SQLObject 0.9 or 0.10

Getting Yokadi

Yokadi has not been released yet, but it is fully usable. Get the source with Git :

git clone git://github.com/agateau/yokadi.git

Install Yokadi

You can put the Yokadi directory where you want. This will not affect Yokadi. You don’t need write access to Yokadi directory.
If you want to make Yokadi available for all system users, put it in a place where everyone can read (/usr/local/yokadi for example).

To start Yokadi, just launch the yokadi script. Example :

/usr/local/yokadi/yokadi

To do this easily, see the Yokadi integration section below.

Update Yokadi

Yokadi integration

Integration with your shell

  • A convenient way to start yokadi is creating an alias in your .bashrc file like this :
    alias y=‘/home/fox/yokadi/yokadi.py —db /home/fox/travail/yokadi.db’

    The single letter « y » allow to start Yokadi with your favorite database from whereever you want.
  • The Yokadi dameon (used to remind you due tasks) can be launched via desktop autostart services. In KDE, you must create a shell script in $HOME/.kde/Autostart/. Sample script :
    /home/fox/yokadi/yokadid.py —db /home/fox/travail/yokadi.db
  • If you want to integrate yokadi with a third script, you can just append a command after yokadi invocation. Example (with the alias defined above) to export all tasks of « christmas » project :
    y t_list christmas

Integration with your KDE Plasma desktop

(to be done)

  • Plasmoïd

Using Yokadi

Database

To store tasks, Yokadi use a database powered by sqlite. Sqlite database are single file that you can copy and move as you want (mail, usb key…). So you can keep your Yokadi tasks with you everywhere everytime.

If you want to open a specific database, you must tell it to yokadi at startup with the —db parameter :

yokadi —db $HOME/myDatabase.db

If you provide no database name, yokadi will asume you want to use the default database (which is $HOME/.yokadi.db). It will be created if needed.

To create a new database, just open yokadi with the new database as parameter and it will be created on the fly !

Help !

Online help is provided. Just type « help ». If you want specific help on a one command, just type « help “command” ».

Tasks

Tasks are the most important and basic thing you manipulate in Yokadi. A task represent things to do, to remember etc.

The only mandatory attribute for a tasks is the tasks name. An often used parameter is the project name (see below).

To add a task in the christmas project :

t_add christmas buy chocolate for mom

Yokadi will return you the task ID. This ID is very important, it will be used each time you will want to update the tasks. You can find out tasks ID with the t_list command.

To see all tasks :

t_list

To see all tasks of christmas :

t_list christmas

To edit tasks 163 name :

t_edit 163

To add a detailed description on tasks 163 :

t_describe 163
.
This will fire up you favorite text editor (as EDITOR variable say – vi is the default).

Projects

(to be done)

Yokadi tips and frequently asked questions

How to organize projects in subprojects?

There is no notion of subprojects, but you can easily organize your projects through a project naming convention. For example, name the main project “foo”, first subproject “foo_bar” and new one “foo_bar2”. Now you can list tasks of all projects with “t_list foo%”.

Contribute to Yokadi

  • Use it and report bugs
  • Just say “thanks”
  • Spread Yokadi everywhere around you!
  • Contribute to user documentation
  • Develop: by squashing bugs or adding new features
Clone this wiki locally