Main menu

How to organize subtasks in Open Atirum that depends on main tasks

Published by admin on Fri, 09/02/2011 - 13:18 in

There are some strict organization process in some corporations that need to respect some hierachy in the tasks organization, as an example I want to mention how AESCO a non profit organization that receives govement funds need to maintain the relationship betweeen the sucessful and promised goals. The reason of this is that all the reports that justify the correct use of the funds must match the expected results required by the goverment institutions.

We have five levels to organize the activity when Open Atrium only provides three: groups, case projects and case tasks, and here is when complexity appears.

At AESCO projects we need to divide the organization in:

  • Departments that is done using Groups
  • Projects or Programs that is done using Case Tracker Projects and Books
  • Then each project have Goals and here we cannot fill this requirement.
  • Each Goal is normally chained to some kind of Activities many of them are events organization.
  • The Activities has many tasks that could be really big and probably sometimes we need to divide in subtasks.

To resolve this problem I was thinking two approaches:

  • create new subcategories as "Type" for the Tasks something that could be resolved using CCK but the problem is that we need a CCK field that has hirarchical dependency and behaviors that consider what option is selected as the parent value to behave correctly in the visible values of lower fields. In fact, selecting a Goal must modify the activities that are available to it. This approach could take a lot of extension for the Case Tracker module and is not a quick solution.
  • create a Case Tracker conent type field that stores Node Reference for the parent and childs Cases. With this method we could create some Cases groups depending on the Goals, Activities and Subtasks. This approach is simple to implement but needs many customizations to make a UI that allow an easy way to create a Node reference without to manually search for the referenced node and with the drawback to need memorize the parent node title to could reference it.

Useful modules:

  • Corresponding Node References > create a Node Reference in two ways from parent to child and from child to parent. With this we could see in the referenced nodes Case the both paths of the referenced cases, in our example: an Activity show to what Group depend and the Goals show all the activities that it contains. This is a useful view by default in Atrum named "xref  (crossref)".