Ownership and Assignment

Ownership and Assignment are the general case behind the specific use cases described in Task Assignments (you can also read Task management system incorporating tasks, completed tasks, and notifications to understand how Tasks drive actions and interactions in LiteFarm). Tasks are, in essence, one type of object that can have an Owner and an Assignee. Not all objects will have the Owner and Assignee attributes.

Ownership

Being the owner of an object extends certain abilities to interact with the owned object above and beyond what the owners role would typically entail. For example, a farm worker by default can not modify or delete a task. However, a farm worker that owns a task can edit or delete their task.

We can imagine a situation where a farm worker, in carrying out their task to weed a particular field notices a fence that has been damaged and needs to be mended. That farm worker can then take a photograph of a fence in need of mending and create a task to mend that fence.

Since they created the task, it makes sense that they should have the opportunity to modify it moving forward (for example to add a location on the farm, or to provide a note on where tools to mend the fence can be found).

Assignment

Continuing the fence damage use case described above, our farm worker would need a way to “raise attention” to the fence damage. To do this, they could assign (make another user the assignee) the task to another user. Farm Owners and Farm Managers would have, through their role, the ability to modify or delete all tasks at their farm. However, if the assignee was another Farm Worker - they would not have these permissions through their role. Instead, they would need to “gain” the ability to modify certain characteristics of the task (e.g. change the status from “To Do” to “Done” or add notes) by becoming the assignee.