From 083810e50cab0401dfb8bb37a93e7354065e1c7d Mon Sep 17 00:00:00 2001 From: Paul Beckingham Date: Sat, 19 Mar 2016 17:41:00 -0400 Subject: [PATCH] Docs: Updated project design --- doc/project.txt | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/doc/project.txt b/doc/project.txt index 0caf8af5..e74284a1 100644 --- a/doc/project.txt +++ b/doc/project.txt @@ -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.