timewarrior/doc/reports.txt
2015-12-18 09:11:18 -05:00

60 lines
1.9 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Reporting
=========
Some basic requirements:
- Reports can be filtered by date range and/or tags.
- Reports should have multiple output formats: TTY, JSON, HTML.
- There will be a few different types of reports:
- Tabular Calendar
- List with subtotals, total
- Reports will be decorated, for example, subtotals, legend, title.
- It should be possible to extend Timewarrior to add custom reports, via a
simple hook mechanism.
Report Mockups
--------------
Purely as an example of what might be implemented, here are some report mockups:
... (calendar like "task calendar" with table below)
... (large weekly calendar, 5 days, every half-hour)
... (timeline, l-r)
... (table with subtotals)
---
P: Reports: We need some built-in reports:
$ timew report day
$ timew report day monday
$ timew report week
$ timew report month
$ timew report week +tag1 -tag2 <— has tag1, missing tag2, for creating client-specific reports
P: But we cant anticipate all reports, and dont have the manpower to implement them, therefore we need report extensions. Something like hooks for tw.
F: what would these create anyway? basic output format - some columns on the screen? how formatted?
I assume most people would want to feed the numbers into something else.
P: Yeah, not sure. Some kind of list, tabular, with subtotals.
Agree about what people might want.
But we could do this:
$ timew report week :tty (default)
$ timew report week :json
$ timew report week :html
They would support tags for filtering.
F: good.
P: But yes, most people will want custom, I expect. The number of reports would grow over time I think.
P: I think the variations are going to be things like:
- a title
- sort by this
- break by that
- subtotal by this
We could provide all reports as extension scripts. Might not be a bad idea.