How could I implement a project todo list ?

It is not uncommon to want a simple list of things to be ticked off within a project such as a project todo list or a picking list, how could we implement this ?

Of course the obvious thing to do is just define a project as a container then create tasks within it as the list. That would require us changing the status of these tasks to complete or archived within the general properties screen, is there any way to make this easier or quicker ?

The way we do this is to create some status codes that represent the completed or uncompleted tasks, then define status transitions or workflow rules to direct possible state changes. By creating workflow rules we change the user interface behaviour, in particular it generates buttons for possible state transitions, eg. Complete, Archive, Re-Open etc. That reduces the number of mouse clicks to complete a task, and also reduces complexity as you don't need to worry about which status the task should be changed to.

Let's look at an actual example.

First let's create a couple of status codes, one called Picking and another called Picked. We'll make the Picking one type Complete so it doesn't get scheduled, or show up in the home page lists. We'll make the Picked one type Archive so that it doesn't show up in sub-project lists. They can both be a Basic display type, it's only the title of the task that we will probably be interested in.

We'll add a couple of workflow rules, one that changes Picking to Picked, and another in the reverse direction. This creates a button in the tasks to make transition either from or to the picked state easier.

Now in a project we want to contain the list we'll change the Sub-Status field to Picking. This means that any new tasks created under that project will assume the status type of Picking.

That's about it, note that although picked items will disappear from view, you can still see them by using the filter in the project console to select tasks by status - select Archive to see the hidden picked items.

In this example we've chosen to make the tasks unscheduled, but we could easily have made the Picking status code of type Active, which would have meant open tasks would be dynamically scheduled in the owner's calendar. It's also possible to record actions against tasks (as with any project in AlchemyWorks) it isn't necessary, but when collaborating with other people it helps to document what has been done, and records time utilisation for reporting and performance.

© 2024 AlchemyWorks - All Rights Reserved