Again, functionality of PFT will be based on its own genesis. That means that I will create the functionality of PFT according to my concrete needs in wanting to use an agile approach to its building.
So far, I have implemented the project business object, and have used that to specify the project and added functionality for each authenticated user to be able to flag the projects she is working on and to be able to see them towards the top on the homepage.
According to the process we are following for website application development, based on Chapter 1 of my book Leveraging Drupal: Getting your site done right (available for free download here), I now need to specify the roles: the actual users who will be interacting with the website application.
Of course, in order to actually create the project content, I already created Drupal authenticated user roles for them. Since Drupal is its own best prototyper, it is also in this case.
However, since roles need to be defined and constitute the actor in each of the user stories we will need to specify the functionality of the webapp, we do need to have a content type created for them.
Here I did the following:
Decide upon architecture for drilling down node trees
Support drilling down from the project to the roles associated with it
Create the actual roles for the PFT project
Here it is necessary to determine the architectural baseline of how we are going to support relationships between nodes. I have used the Node Family module in the past. But no version is listed as available for Drupal 6.x, and no date is set for that.
Alternatives:
With Node Hierarchy, it would be possible to integrate with pathauto for hierarchical and intuitive URLs reflecting the hierarchy.
i.e. project/projectname/user-stories would show all the user stories.
I installed it and decided to try to make two pages and four stories and see if I could assign stories to pages, especially if a given story could be the child of more than one page.
Nope, no go; a given node can be the child of one and only one parent. As seen in the next section, we need a node to be able to be the child of multiple parents. I regretfully ripped out the module and restored the database image to how it was before I started testing.
How would NAT work anyway?
To make a hierarchy of Story's "in" a page, one way might be the following:
To implement a set of Roles belonging to a Project:
Turns out to be exactly what I am looking for here. Have to write a views handler, tho; but light, simple as sin and dead easy to use. And shows really cool relationships, plus navigational node to node links...