Dear all,

It's my first post. Glad to see such a great community!

I have a project request in hand and would like to ask the kindly community whether Drupal is a good choice of platform.

* Objective

To keep all engineers and related staff informed about the notifications in different stages of projects in hand.

* Role

Manager - authorize proceed from one stage to the next within a project
Secretary - update status to the managers
Engineer - work in the projects and update status

* Entities

Projects
- consists multiple milestones, each milestone is a deadline date
- consists of arbitrary number of manager, secretary, and engineer
- status [active/competed]

Milestones
- date
- adjusted date
- log of adjustments

People
- name
- role

* User Interface

Project Form
- Define members (1 or more manager, secretary, engineer)
- Define milestones (2 or more)

Year View (Role filtered, only the person involved will see projects)
- All milestones of the projects (e.g. M1 for PjA, Milestone 1 for Project A)

Month View, Day View
- similar to year view

Login/Logoff

* Note, special requirements

- any change to a milestone should check whether the consequent milestones should be postponed
- if postpone is required, if the system can't adjust automatically (say, by the original interval),
- it should hi-light affected consequent milestones to secretary for manual adjustment

That's basically all. I wonder which modules I should study and/or how much I should prepare to do-it-myself ;-)

So, is Drupal good for this kind of project?

Thanks, and forgive me for such a long post
horace

Comments

mradcliffe’s picture

There are a couple of ways to manage this:

  • Organic Groups
    • A project is a group node with content a 'deadline' date field and a 'project_status' field.
    • A milestone is a group post with a due date field.
    • Group membership contains your user types/roles.
  • Taxonomy-based Roles
    • A project is just a node with the above content types with certain categories reflecting departments that users are in (or project categories).
    • A milestone is also a similar node but with a node relationship field.
    • Via taxonomy access and taxonomy access lite, you can limit user roles to different categories of projects.

    Regardless of the options above you can turn on revisions for your milestone nodes and view them differentially with diff. The workflow or rules modules should give you flexibility in creating workflows to automatically change statuses of projects on events, and possibly trigger some other things. There are also a plethora of notification modules (see groups.drupal.org module hall of shame).

    I'm not sure how you would sequence the UI to go from creating a project to creating milestones though (Project Form thing).

    For year, month, day views you can use views ;-).