Forum OpenACS Development: Re: dotWRK: Project Manager

Collapse
Posted by Nick Carroll on
I've scratched out a datamodel that I am currently experimenting with.  It's very similar to what Torben was describing.  Fundamentally, my datamodel consists of four tables: Projects; Tasks; Historical Tasks; Resources.  There should be an "assignments" table, but I can't distinguish this from "tasks".  Would someone be able to tell me the difference between the two?  As there could possibly be a fifth table.

The Projects table only consists of high level project data, such as project name, manager, start dates (planned, baseline, actual), end dates, description, parent project, etc.  The parent_project column suggests that each project can only have one parent if they are a subproject, and will reference the parent project's project_id.

Each row in the Tasks table describes a task.  Each task will reference a project_id from the Projects table.

The Historical Tasks table contains old task data for a specific task in the Tasks table.  Everytime a task gets updated in the Tasks table, the old data will be inserted into the Historical Tasks table.  By keeping historical data, we are able to compare the baseline data to the planned data.  As well as provide for some other interesting metrics.

Similarly, each row in the Resources table describes a resource.  Resources are used to get a task done, and will therefore reference a task_id from the Tasks table.

I have spent the last week coding a package that I have dubbed "Projects".  It's basically the Project Repository of a much larger Project Management system.  So far I have the Projects table included in this package.  I am using the ACS Objects approach, and as a result my code has been heavily influenced by the Notes package.  I am not sure if the Tasks and Resources table should be part of this package.  Or in separate packages, where the Tasks package depends on the Projects package, and the Resources package depends on the Tasks package.

I'm leaning towards including all tables in the one package.  Other packages will therefore be considered as "Project Tools", and provide different UIs for presenting and interacting with the project data (eg Scheduler, WBS, Gantt all similar but presented differently).

Cheers,
Nick.

P.S  Would it be possible to start a dotWRK discussion forum similar to the dotLRN forum?  I didn't realise this thread existed till today.

Collapse
Posted by Jade Rubick on
Nick:

1) Could you post your data model somewhere once it's in a state we can look at? I think agreement on the data model is a good first step for this project.

2) I'm now usually against creating new Forums for new topics, but I think it makes sense in this case. It would make it much easier to sort through the postings and figure out what is dotWRK related. Those posting have a much higher priority for me.