mirror of
https://github.com/GothenburgBitFactory/timewarrior.git
synced 2025-07-07 20:06:39 +02:00
56 lines
1.7 KiB
Text
56 lines
1.7 KiB
Text
Reporting
|
||
=========
|
||
As we cannot anticipate all reporting needs, custom reports are necessary.
|
||
Rather than copy the Taskwarrior design where a report is a combination of a
|
||
filter, sort, columns and labels, a more flexible approach could encourage
|
||
shared custom reports.
|
||
|
||
Іf all reports are extension scripts/programs, utilizing some form of API,
|
||
then there is no restriction on the kind of report generated, which would
|
||
allow for HTML reports, rather than simply supporting tabular text.
|
||
|
||
|
||
Requirements
|
||
------------
|
||
Timewarrior should ship with several reports, which serve as example extensions
|
||
for users to evolve‥
|
||
|
||
Timewarrior should handle the command line options for reports, then pass off
|
||
a standardized set of parameters to the report extension. These parameters will
|
||
include:
|
||
|
||
- Date range. Although Timewarrior might support "last month" as a reporting
|
||
range, the extensions themselves would be passed precise values, therefore
|
||
reducing the complexity of the extensions.
|
||
|
||
- Data will be filtered by Timewarrior, so that extensions do not need to
|
||
implement this.
|
||
|
||
|
||
Report Mockups
|
||
--------------
|
||
Purely as an example of what might be implemented, here are some report mockups:
|
||
|
||
TBD (calendar like "task calendar" with table below)
|
||
|
||
TBD (large weekly calendar, 5 days, every half-hour)
|
||
|
||
TBD (timeline, l-r)
|
||
|
||
TBD (table with subtotals)
|
||
|
||
|
||
Example Commands
|
||
----------------
|
||
Here are some provisional examples of report commands:
|
||
|
||
$ timew report day [monday] [±<tag> ...]
|
||
$ timew report week [±<tag> ...]
|
||
$ timew report month
|
||
|
||
---
|
||
|
||
- Taskwarrior Hook script needs to allow 'project' (default) or an arbitrary
|
||
UDA for time categorization.
|
||
|
||
- Need a JSON --> CSV converter, for spreadsheet folks.
|