my perfect imaginary Drupal installation for project management

Events happening in the community are now at Drupal community events on www.drupal.org.
benovic's picture

Node types:
* User (not nessessarily a node, actually)
* Project (A container for all project activity, i'd like OG)
* Milestone (basically just a date with explanation and title)
* Task (may be referrenced to a milestone and to a user. organized by taxonomy)
* Discussion (a thread, organized by taxonomy, may be referrenced to a milestone)
* Whiteboard (yay! a whiteboard to draw fancy thingies)
* Resource (the project manager can provide/set a resource (eg time or money or whatever), which the active staff can use, may be referrenced to a milestone)
file (a file)

Views:
* the "my" views: MY: projects, tasks, milestones, discussions whiteboards, resources, files
* the Project views:PROJECT: users, milestones, tasks, .... , files, Tags
* the Milestone view: Tasks, discussions, resources
* taxonomy views

Taxonomy:
* importance
* done/due
* freetagging: project categories (scopes?)

maybe a nodetype "wiki page" could also be useful but thats easy.

theres 2 things i havent figured out yet: whiteboard and resource.

I know, whiteboard is pretty hard to find. But what do you think of the resource thing? how would you do that?

Comments

Projectverse

christefano's picture

I've had most of this functionality up and running for a while and am working on releasing it as an installation profile. It has tasks, milestones, wiki pages, discussion pages, etc. and uses OG "projects" (instead of "groups"), but it doesn't have a whiteboard or a "resources" content type. Those are interesting ideas.

Several of the components in Projectverse are clearly not ready, though, and they need to be replaced with something else. For example, the Fileshare module is what we've been using to create file repositories for each project and it was unpublished a few months ago due to security problems.

Can you say more about how you imagine using a "resources" content type?

where is your install profile???

tomhung's picture

So it looks like there is no code or example for your install profile. I'd love to try this out / help out as well..

Greg

Projectverse demo

christefano's picture

If you're still interested, send me a message and I'll give you access to the demo.

As it turns out, installation profiles have been a pain to deal with and I've decided to package up Projectverse as a separate distribution. The Projectverse issue queue will be activated when that happens.

Resources

benovic's picture

I work in smaller projects only, so this may be not very suitable for the big ones...

The thought behind a "resource" is to keep track of the limited resources given to a project. In my projects, limited resources are often poorly estimated and people are not really keeping track on how they use it. Money is only one thing. If people work voluntarily, time is a resource that you must keep an eye on in my opinion.

So a resource is just something that is limited (and quantified). It may be anything. A resource is given (planned), and project members can use them and keep track of it in the system.

An example
Resources:
Paid Work Time: 100
Volunteered Time: 300
Budget for milestone A: 120
printed flyers for Opening Party: 10000
special bribe pot: 230

Now if someone takes 2000 Flyers, hits the streets for an evening and advertises the party he can use the resource and cut off the used part. Everyone is informed about the activity.

So, instead of only time tracking - its resource tracking.

It requires a special node type or something and must be handy to use. I am not sure yet how to build it with CCK (maybe with Computed field, node relativity and some custom views code)

Hope I could explain my thoughts a little - please excuse my engrish.

[Enterprise] Resource Planning / Management

steveoliver's picture

I really like this idea of resources. I may try it out myself, but am not sure now how to go about it.

-Steve

Sounds interesting, in an

a_c_m's picture

Sounds interesting, in an ideal world i would add email enabled issue tracker, ie. client can email an issue into the system at say issues@ and it automatically creates an issue in the correct Project based on the sending email address, perhaps using something like http://drupal.org/project/mail2web to allow 2 way communication between email and Drupal.

Doesn't STORM do a lot of this already?

I really like your initial

tomhung's picture

I really like your initial question with a list of requirements. I'll throw out my list of essential tools for a project collaboration site.

Nodes / Content
* Static Pages
* Blog (ie. News / Announcements)
* Files => File Sharing / Revisions / Ratings / Comments
* Forum
* Wiki pages
* FAQ
* Gallery (has to be simple to upload / manage, no FTP, or clunky Gallery2)
* Events
* Milestones
* Tasks (aka Todo)
* Polls
* Links
* Directory (not user contact info, other important contacts)
* Whiteboard
* Resource Reservation (ie. Conference Room, Laptop, Projector)

Views
* Calendar (to display Events / Milestones / Tasks Due)
* Timeline (to display Events / Milestones / Tasks Due)

I would love to look at others ideas. It would also be nice to put out an install profile of all of these. At least translate our list to the actual modules we would use. This would have been a great resource for me 3 months ago.

This may be a topic for another thread, but would it be better to multi-site this for each project, or OG it??? I"m still undecided.

Greg

Sub sub sub ...

peterx's picture

I like and need the really easy sub sub sub task stuff you can do in dotproject. The closest thing in core Drupal is probably the menu system where you can add an item at any level in the structure. A task can be the child of any other task.

A closer analogy might be the vocabulary system when you make a vocabulary the child of another vocabulary. There are times when you need to group resources into commonly used sets and some sets make up larger units. A new Web site might require the creation of a theme, a Drupal module selection task, and a meeting to try to talk the customer out of using Flash. They can be grouped as a unit. Your larger customers might take a package of three Web sites including one for retail customers, one for staff internal use, and one for that brand promotion Flash junk that pony tailed marketing people inflict on potential customers.

The aggregation of units into assemblies and the dissection of large items into components is common but most other project planning systems end up with someone duplicating details and then being unable to analyze the result.

Gant charts are nice for displaying finite resources that are booked out. Some things that need to be reported somehow:
Limited resources that are easily booked out. Eg, me. I can complete either task a, b, c, ... or z in 50 hours. Management therefore requests I work on all the tasks from a to z this week and expects them all finished this week because the longest one is only 50 hours.

Resources that cannot be moved. I have a contractor available next week for two weeks to complete a one week task but then he goes overseas for a few months. Management takes three weeks to approve the contract.

Resources that have specific use. I have one contractor that knows CSS, a different contractor that knows SQL, and some weirdo that likes Flash. Management notices the CSS expert is $10 per hour cheaper and selects the CSS expert to analyze a database then report the results in annoying animated Flash.

Some of these details are difficult to check in a really generic system. In dotptoject I can easily split an item into components to represent CSS/Flash/SQL or any other group of details. dotproject does not check if the sum of the parts equals the parent or make it easy to report related resources. If a resource has an arbitrary labeling system, similar to free tagging, and a way to report all resources that have the same label, we can easily add reporting after resource creation. I could label all items that require the use of the company car then point out the car is required for only 10 days per year but they are all on the same date.

I suggest resources have a quantity that can be added up and checked against the parent so the parts do not exceed the whole. Need some way of totaling identical resources and a way of checking a rate of consumption. I hate being scheduled to work more than 168 hours per week. :-)

petermoulding.com/web_architect

Project Management

Group organizers

Group categories

Project Management

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: