One area of confusion that arises with the OnTime product from time to time is the subject of Tasks. People get confused on why tasks behave differently than our Defect, Feature, and Incident objects. So why do we treat them differently and what are the real differences with Tasks?
Tasks are treated differently than the other objects in the OnTime system because we treat them more as personal objects...much like a personal Post-It note. The idea with a Task is that any person can go to the OnTime system and leave themselves a note about anything--whether the note is about a document that needs to be written at work or a soccer game where the kids need to be picked up. Tasks are designed not from a global database perspective, but from an individual user perspective.
Creation of Tasks is an area of confusion that comes up when dealing with Tasks. You might notice under "Security Roles" that Defects, Features, and Incidents have an "Add <Object>" Security Privilege, and that this privilege does not appear for Tasks. Why? Because Tasks can always be added. It's by design. Anyone should be allowed to drop a note against any project that they can access. It's like a built-in whiteboard for every project where people can add Post-It Notes freely.
The other obstacle that people run into with Tasks is visibility. Why can some people see Tasks that you can't? There are four factors that account for Visibility with Tasks:
- The "Created By" field
- Whoever created the task can always see it
- The "Assigned To" field
- Whoever the task is assigned to can see it
- The "Task is Public" checkbox
- If the Task is marked as "Public", then everyone can see it
- The Project in which the Task Resides
- You need to be able to see the project that the task is in (project visible to the user through Security Roles)
This gives us a neat object that we can use in day-to-day operations. Here are some examples:
- I have a document that Bill needs to work on, and we are the only two that need to see this task. I create the task and assign it to Bill.
- I have to pick up my kids after school one day this week and I just want to mark it to myself only. I create the task, don't assign it to anyone but myself, and I make sure the "Task is Public" checkbox is unchecked.
- I have a global work task that I want everyone to see. I mark the item "Task is Public" when creating it.
- There is a project in my database where I want all tasks to be public. I just need to create a field template which has a "Task is Public" default value of "True" and I make the field non-editable. I can do the same thing the opposite way to keep people from ever posting public tasks in a directory
So that's a quick look at tasks and some of the key things that make them different.