Zanshin: Difference between revisions

From KDE Community Wiki
No edit summary
No edit summary
Line 5: Line 5:
Akonadi Backend : The context concept is stored into akonadi through the Akonadi Item Tag. An item holds a list of Tag that have a name and can be from diffents type. As a convention, a tag related to the type "context" would be zanshin related, its name, that will be displayed to the user, will depend on what the user as set.
Akonadi Backend : The context concept is stored into akonadi through the Akonadi Item Tag. An item holds a list of Tag that have a name and can be from diffents type. As a convention, a tag related to the type "context" would be zanshin related, its name, that will be displayed to the user, will depend on what the user as set.


= Requirements =
= User Stories =
Requirements for zanshin in the User-Story format.
Requirements for Zanshin in the User-Story format.
    Prioriy order


== Tasks ==
Niveau 1 
As a user I want to:
- display the inbox in order to see the notes and task which need to be orginazed (e.g. any task or note not associated to any project, context or topic)
* create a task so that I can find it later.
- create task by typing a title in the Inbox in order to collect ideas while reflecting on my life
* set a subject of the task so I can quickly identify it.
- mark a task as completed in order to have a warm feeling about getting it done
* set a content of the task so I can add additional information.
- delete a simple task so it is removed in order to clean old useless tasks
* set a due date so I know when the task has to be finished.
- modify  the due date in order to know when the task has to be completed
* set a duration estimate to get an idea of the size of the task
Niveau 2
* set a progress indicator so others can see how I'm progressing
    - Associate a task to a project  (associated to only one project)
* organize tasks into Projects so I can create a structure of dependencies
    - Select project to see the notes and tasks it contains
* organize tasks into Contexts so I can pick tasks that suit the context I'm in.
    - Create project
* delegate tasks to another user so I can let him know that he should take over (via iTip).
    - Associate a task to a task ( only one parent task )
* immediately see which are the most important and urgent tasks so I can treat them accordingly.
Niveau 3
* delete a task so it is removed from the system completely.
  - Dissociate a task to a task
* mark a task as completed so it is hidden from the tasklist.
- deleting (mom) task with all its children set in order to clean old useless tasks, in such case the user will be warned
* fulltext-filter the tasklist so I can find tasks quickly.
- Filter out tasks which do not match by title nor text in order to find specific tasks
* search for projects or other users that I know by name.
- can visually distinguish critical tasks that have past the due date with adifferent aspect in order to have them stand out
* browse for projects that I don't know by name.
Niveau 4
 
- create a task from Krunner by typing a title in order not to forget the current idea I'm having.
As a project manager I want to:
- create task by typing its  title in a project area in order to refine my project steps
* assign tasks to another user so the user knows that he is responsible for the task (via iTip).
- modify a title of a task in order to fix a typo or refine its definition
* track assigned tasks so I can check the status when it's supposed to be complete.
- can see tasks that need to be done for today with a different aspects in order to have them stand out
 
Niveau
== Notes ==
    - select a context  in order to see all its associated tasks
As a user I want to:
    - Create a context
* create a note so I can find it later.
    - Display the Context view in order to see all exisiting contexts
* set a subject of the note so I can quickly identify it.
    - Associate a task to a context in order to describe the task ressources (can be a person)
* set a content of the note so I can add additional information.
Niveau
* organize notes into Topics so I can build a knowledge base.
    - create task by typing its  title from the context view in order to 
* add notes to Projects so I can quickly locate project related notes as part of the project.
    - add faster a task associated to a context
 
    - keep task without natural project ( recurrent task for instance)
== Bonus stuff ==
    - Delete project ( delete all its content )
As a user I want to:
Niveau
* pick a set of tasks for a daily todolist so I can plan the day once and then not be bothered by the rest of the tasks.
    - Delete a context (if a task isn't associated with any context or project, it is not deleted but sent to the inbox)
    - Associate a context to a parent context ( Warning : topic can have only one parent context )
    - Rename a project
    - Dissociate a task from a context in order to fix a mistake
    - Dissociate a task from a project (associated to only one project)
    - Rename a context
Niveau
    - Dissociate a context from a context
Niveau
    - Display the Topic view in order to see all exisiting topics
    - Associate an existing note to a project (associated to only one project)
    - Associate a note to a topic in order to organize knowledge
    - Select a topic  in order to see all its associated notes
    - create note by typing a title from the Inbox in order to collect knowledge
    - Create a topic
Niveau
    - Associate an existing note to a project (associated to only one project)
    - modify the text of the task in order to save details about a task or add additionnal informations
    - Rename a topic
    - modify a text of the note in order to save details about a note or add additionnal informations
    - Delete a topic (if a note isn't associated with any topic or project, it is not deleted but sent to the inbox)
Niveau
- create note by typing its title in a project area in order to collect project specific knowledge
- create note by typing its title in a topic area in order to organize personal knowledge around this topic 
- Dissociate a note from a topic in order to fix a mistake   
- modify a title of a note in order to fix a typo or refine its definition
Niveau
  - display a workday view (start date or due date in the past) in order to know what I'm supposed to do
  - modify the start date of tasks for today in order to have them plan from today (today view for instance)
Niveau
- modify the start date of a task  in order to schedule it for a given day
- Filter out task with a start in the future in order to focus on what I should work on now
- filter out completed task views in order to focus on what is remaining only
Niveau
- Associate a topic to a topic ( Warning : topic can have only one parent topic )
- Dissociate a topic from a topic in order to fix a mistake
- purge all completed task in order to clean my tasks lists
Niveau Last
- modify the progress infomation of a task in percent in order to roughly know how much work is left
- modify the duration information of a task in order to give a estimation on this workload
- Can propose to someone a task delegation in order to offload work to someone else
      - task get associated to a context corresponding to a person
      - notification got sent to the person
    - Technical story :  Given a delgated task, when it gets modified the notification is sent to the relevant user

Revision as of 15:33, 15 May 2014

Context

Context is a meta-data concept. Since todos/tasks can be related, for instance, to a specific project, it would be nice to express this semantic link : that's where Context rises up. You, as a user, will be able to link any kind of context name to a todo helping you to organize and give the semantic you want them to have.

Akonadi Backend : The context concept is stored into akonadi through the Akonadi Item Tag. An item holds a list of Tag that have a name and can be from diffents type. As a convention, a tag related to the type "context" would be zanshin related, its name, that will be displayed to the user, will depend on what the user as set.

User Stories

Requirements for Zanshin in the User-Story format.

   Prioriy order 

Niveau 1 - display the inbox in order to see the notes and task which need to be orginazed (e.g. any task or note not associated to any project, context or topic) - create task by typing a title in the Inbox in order to collect ideas while reflecting on my life - mark a task as completed in order to have a warm feeling about getting it done - delete a simple task so it is removed in order to clean old useless tasks - modify the due date in order to know when the task has to be completed Niveau 2

   - Associate a task to a project  (associated to only one project)
   - Select project to see the notes and tasks it contains
   - Create project
   - Associate a task to a task ( only one parent task ) 

Niveau 3

  - Dissociate a task to a task

- deleting (mom) task with all its children set in order to clean old useless tasks, in such case the user will be warned - Filter out tasks which do not match by title nor text in order to find specific tasks - can visually distinguish critical tasks that have past the due date with adifferent aspect in order to have them stand out Niveau 4 - create a task from Krunner by typing a title in order not to forget the current idea I'm having. - create task by typing its title in a project area in order to refine my project steps - modify a title of a task in order to fix a typo or refine its definition - can see tasks that need to be done for today with a different aspects in order to have them stand out Niveau

   - select a context  in order to see all its associated tasks
   - Create a context 
   - Display the Context view in order to see all exisiting contexts 
   - Associate a task to a context in order to describe the task ressources (can be a person) 

Niveau

   - create task by typing its  title from the context view in order to  
   -  add faster a task associated to a context
   - keep task without natural project ( recurrent task for instance)
   - Delete project ( delete all its content )

Niveau

   - Delete a context (if a task isn't associated with any context or project, it is not deleted but sent to the inbox)
   - Associate a context to a parent context ( Warning : topic can have only one parent context )
   - Rename a project
   - Dissociate a task from a context in order to fix a mistake
   - Dissociate a task from a project (associated to only one project)
   - Rename a context

Niveau

   - Dissociate a context from a context

Niveau

   - Display the Topic view in order to see all exisiting topics
   - Associate an existing note to a project (associated to only one project)
   - Associate a note to a topic in order to organize knowledge
   - Select a topic  in order to see all its associated notes
   - create note by typing a title from the Inbox in order to collect knowledge
   - Create a topic

Niveau

   - Associate an existing note to a project (associated to only one project)
   - modify the text of the task in order to save details about a task or add additionnal informations
   - Rename a topic
   - modify a text of the note in order to save details about a note or add additionnal informations
   - Delete a topic (if a note isn't associated with any topic or project, it is not deleted but sent to the inbox)

Niveau

- create note by typing its title in a project area in order to collect project specific knowledge
- create note by typing its title in a topic area in order to organize personal knowledge around this topic  
- Dissociate a note from a topic in order to fix a mistake    
- modify a title of a note in order to fix a typo or refine its definition

Niveau

 - display a workday view (start date or due date in the past) in order to know what I'm supposed to do
 - modify the start date of tasks for today in order to have them plan from today (today view for instance)

Niveau

- modify the start date of a task  in order to schedule it for a given day
- Filter out task with a start in the future in order to focus on what I should work on now
- filter out completed task views in order to focus on what is remaining only

Niveau

- Associate a topic to a topic ( Warning : topic can have only one parent topic )
- Dissociate a topic from a topic in order to fix a mistake
- purge all completed task in order to clean my tasks lists

Niveau Last

- modify the progress infomation of a task in percent in order to roughly know how much work is left
- modify the duration information of a task in order to give a estimation on this workload
- Can propose to someone a task delegation in order to offload work to someone else
     - task get associated to a context corresponding to a person
     - notification got sent to the person
    - Technical story :  Given a delgated task, when it gets modified the notification is sent to the relevant user