[ZDP] ZDPTool Prototype Implementation - Part 2
Maik Roeder
roeder@berg.net
Sat, 25 Dec 1999 20:57:43 +0100
Hi !
In this step, we create our own Document Type Definition for
the Project, and make a listing of the Phases of a Project
using just and only simple Catalog searches.
Greetings,
Maik Röder
Steps to the ZDP-Tools Homepage
Before we can make use of the ZDPTools for a big project like ZDP,
I am building a prototype site using the ZDPTools. To show how
extensible the ZDPTool design is, I am going to manage the ZDPTool
documentation using the ZDPTools while they are being written ;-)
ZDPTools Prototype - Part 1
In this part, I gave a step by step description of how to integrate a
listing of all projects and members into the main page.
ZDPTools Prototype - Part 2
Now that we have a ZDPTools Project in the home folder, we want to
manage the documents relating to the ZDPProject inside this folder.
The project is organized in the a process similar to the Rational
Unified Process (RUP), which Stefan Richter modified for the Open
Source community by trying to create more democratic ways of accomplishing
tasks and making decisions, taking into account the geographically
dispersed community of developers.
If we find that this is not the way we want to manage projects in the
ZDP project, then we can still define a ZDPProject and rename our Project
type to something like OSPProject, which would then stand for Open Source
Process Project.
So, inside the ZDPTools Folder, which is of type Project (at least for
now), we create the following DocumentFolders of type Phase:
Enter Folder ZDPTools:
Add a DocumentFolder "ZDPToolsInception" of type InceptionPhase
Add a DocumentFolder "ZDPToolsElaboration" of type ElaborationPhase
Add a DocumentFolder "ZDPToolsConstruction" of type ConstructionPhase
Add a DocumentFolder "ZDPToolsTransition" of type TransitionPhase
Let's check to see what changes must be made to the different homepages:
1. ZDP homepage:
It is enough to have ZDPTools project listed, we don't want to
list the Phases of the Project here.
2. ZDPTools homepage:
This is the right place to list our new Phases, because the
ZDPTools Folder is of type Project. To use the same search
procedure as before, we have to provide a Parent Project, to
which the Phase belongs:
Add a property "Parent" with the value "ZDPProject" to the
the DocumentFolders:
ZDPToolsInception
ZDPToolsElaboration
ZDPToolsConstruction
ZDPToolsTransition
Add the following code to the index_html code of the ZDPTools Folder:
<H1>Inception Phase</H1>
<dtml-call "REQUEST.set('WhatType','InceptionPhase')">
<dtml-call "REQUEST.set('WhatParent','ZDPTools')">
<dtml-var WhatTypeWhatParentNeedsReaders>
<H1>Elaboration Phase</H1>
<dtml-call "REQUEST.set('WhatType','ElaborationPhase')">
<dtml-call "REQUEST.set('WhatParent','ZDPTools')">
<dtml-var WhatTypeWhatParentNeedsReaders>
<H1>Construction Phase</H1>
<dtml-call "REQUEST.set('WhatType','ConstructionPhase')">
<dtml-call "REQUEST.set('WhatParent','ZDPTools')">
<dtml-var WhatTypeWhatParentNeedsReaders>
<H1>Transition Phase</H1>
<dtml-call "REQUEST.set('WhatType','TransitionPhase')">
<dtml-call "REQUEST.set('WhatParent','ZDPTools')">
<dtml-var WhatTypeWhatParentNeedsReaders>
This is the new and refined search procedure called
"WhatTypeWhatParentNeedsReaders":
<dtml-comment>
Set the type of documentfolder you are searching for with:
<dtml-call "REQUEST.set('WhatType','Project')">
<dtml-call "REQUEST.set('WhatParent','ZDPTools')">
</dtml-comment>
<dtml-in "Catalog({'meta_type': 'DocumentFolder',
'type': WhatType,
'parent': WhatParent,
'NeedsReaders': 1 })">
<dtml-if sequence-start>
<ul>
</dtml-if>
<dtml-if "type==WhatType">
<li>
<a href="<dtml-var "Catalog.getpath(data_record_id_)">">
<dtml-var id>
</a>
</li>
</dtml-if>
<dtml-if sequence-end>
</ul>
</dtml-if>
</dtml-in>
3. Homepages inside the different Phases:
I leave it up to the reader to create the following tasks in the
different phases, and create the homepages for each of them.
Suffice it to say that not all of these Phases and Tasks need
to be done from the beginning. It does not matter if the search
does not find a Phase or a Task, because then it is just omitted.
Certainly the creation of the folders could be left to a service
which knows the Document Type Definition.
Inception Phase:
Requirements
Identify Active Members
Create a Process/Task List
High Level Use Cases
High Level Design
Project Team Roles and Responsibilities
Identify Risks
Identify Milestones
Community Agreement
Elaboration Phase:
Construction Phase
Transition Phase:
Enter Content
Have fun !
Maik Röder
<roeder@berg.net>