mirror of
https://github.com/GothenburgBitFactory/timewarrior.git
synced 2025-07-07 20:06:39 +02:00
Docs: Updated project design
This commit is contained in:
parent
d94c577fe7
commit
083810e50c
1 changed files with 11 additions and 8 deletions
|
@ -1,7 +1,7 @@
|
|||
Timewarrior Project
|
||||
===================
|
||||
Timewarrior is a program that records tagged time blocks that represent tracked
|
||||
time. This data is then used to create reports that shwo how time was spent.
|
||||
time. This data is then used to create reports that show how that time was spent.
|
||||
|
||||
To make this task easier, and more useful, Timewarrior can access holidays, a
|
||||
pre-defined working schedule, and support flexible time/date specifications,
|
||||
|
@ -30,7 +30,7 @@ Non-Goals
|
|||
---------
|
||||
- Completely independent from Taskwarrior, Taskserver, Tasksh.
|
||||
- No cloud support, no sync support, all data is local. Tracked time is
|
||||
sensitive personal data and wll not be transmitted.
|
||||
sensitive personal data and will not be transmitted.
|
||||
- No explicit multi-user support, although using tags to track individuals is
|
||||
possible.
|
||||
- There is no hook system as Timewarrior is a data sink, not a data source.
|
||||
|
@ -44,7 +44,7 @@ be a single unquoted word, or a quoted string if it includes spaces.
|
|||
|
||||
A tag may be used without being defined, but if a tag is defined, then it may
|
||||
have associated metadata, such as a start date representing the first date on
|
||||
which it may be used, or an end date, when it expires. A tag may have a budget,
|
||||
which it may be used, and an end date, when it expires. A tag may have a budget,
|
||||
which is the maximum trackable time for a period.
|
||||
|
||||
An interval may have multiple tags associated with it, but the tags apply to the
|
||||
|
@ -89,13 +89,18 @@ The command set may include:
|
|||
help Show help text
|
||||
x Run extension 'x'
|
||||
|
||||
There will be built-in commands, and an extensions mechanism that allows reports
|
||||
to be added as extensions, while being handled as though they were built-ins.
|
||||
|
||||
|
||||
Undo
|
||||
----
|
||||
All commands than change configuration or data need to be logged as-is in the
|
||||
undo.data file, so that an 'undo' command can later rewind the changes.
|
||||
All commands that change configuration or data need to be logged as-is in the
|
||||
undo.data file, so that an 'undo' command can later rewind the changes properly.
|
||||
|
||||
All undo will happen at the command level, not the delta level.
|
||||
All undo will happen at the command level, not the delta level. That means if
|
||||
one command results in three changes, a single 'undo' command will revert the
|
||||
three changes associated with the one command.
|
||||
|
||||
|
||||
Extensions
|
||||
|
@ -115,8 +120,6 @@ A simple extension mechanism allows custom reports to be written and shared.
|
|||
c) yesterday 540-600 tag1, 600-660 tag1 tag2, 660-1020 tag1 # explicit overlap
|
||||
Stating 'track yesterday 10am - 11am tag2' sounds imperative, thus overriding any existing tags in that interval. Perhaps a 'merge' keyword could be added to combined the results (track yesterday 10am - 11am tag2 merge)?
|
||||
|
||||
- Need an undo feature.
|
||||
|
||||
- Intervals for different tags may overlap. We multitask.
|
||||
|
||||
- Need syntax to adjust any recorded data.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue