Enhancements ------------ Create ability to import to-do lists like this into GTT. Create feature to (auto-)prune old entries from the log. Create a gtt panel applet (actually, an 'egg-tray') for switching projects fast. Optionally allow more than one running project. Support SQL database for multi-user support; should be easier now, just mimic the xml file format layout... Add support for putting billing/customer address into invoices. i.e. some customizable field ... Create bonobo component to allow tasks to be put into calendar (e.g. evolution calender). New, experiemntal GUI: (I'm not sure this is a good diea, but it may be an interesting way of interacting with the system:) create a window showing a set of predefined activities: 'read email', 'phone', 'meeting', 'code', 'debug', 'support' etc. (user can add new activities). clicking on an activity creates a new task with that activity as the memo. Feature request: is it possible to make gtt change the project depending on which window has the focus ? Like if i I am in evolution I'd like to mark that time as email, if I am in emacs to "hacking" etc. To do this, we'd need to find out which window has focus ... Support URL format for the data file: e.g. postgres://some.host.com/some_db for sql access. More generally, use Gnome VFS ?? Why? Add support for configurable project states, for example, such as adding cost estimates to the project sizing. Allow user to configure additional states for project status, in addtion to/instead of the pre-defined ones. etc. This could be hard ... Use Gnome MDI for the top-level windows. (why?) Later: ~~~~~~ Networked version (Server on one machine -- all others are network clients). Security (but read-only for some users). Viewable / editable on multiple machines at the same time. This shouldn't be too hard, since (1) gtt already uses xml, can be shipped over the net (2) gtt already has an html viewer. Maybe we should use XML-RPC for this ?? ~~~~~~~~~ Maybe some sort of integration with mrproject? http://mrproject.codefactory.se/ Maybe some sort of integratin with TouxDoux? http://www.gnu.org/software/toutdoux/en/index.html Bugs -- High Priority --------------------- Documentation has to be updated/finished. Implement 'print' journal for html window ... support for 'minimum billing blocks' is everywhere, exept in the actual invoice report. Add it there. fix annoying cursor shape when dragging projects around Bugs -- Low Priority -------------------- overdue projects should be highlighted in red During read of data, don't destroy old project list until we are sure that read of new project list succeeded. grep for xxx fixme hack alert for additional todo items ... add dialogs for suggested auto-merge intervals when the default values are too small (should be 60/300/300, not 3/60/60) build fancier reports/journals, including -- fancier, nicer layout for invoice (including configurable values for printed enums) -- handle embedded gif/png/jpg the log file should be gziped on write. should use local currencies in invoice reports corba/bonobo stuff ------------------ Implement Bonobo::PersistFile: since we can save data to file Implement Bonobo::PersistStream: at least in theory, we can pipe the xml data format to a stream. IDL:GNOME/EmbeddablePrint:1.0 More enhancements: ------------------ Display sub-projects in journal as well >> If you have hierarchical projects, not only the invoice but also the >> journal only shows the 'current' project. For example, if you have >> a project tree that looks like: >> >> foo >> +- foo1 >> +- foo2 >> >> And you have the following tasks in your Journal: >> >> foo: >> task1 >> task2 >> foo1: >> bartask >> foo2: >> baztask >> quuxtask >> >> If you view the 'foo' journal you only see 'task1' and 'task2'. >> However the times associated with bartask, baztask, and quuxtask are >> all still listed in the 'foo' line. Even if you 'clear' the 'foo' >> times it wont clear the 'foo1' and 'foo2' timers. This is true even >> if 'foo' is collasped such that you cannot see that there are 'foo1' >> and 'foo2'. >> >> This is completely non-intuitive. If I'm acting on a parent it should >> _always_ include all children. At least I should be able to set a >> preference for whether to include children or not. >>