The worklog module does something similar, but it takes this approach: The timers themselves are not nodes. You can start, pause and save timers. When you save a time, then a node is created, of type worklog, which records the amount of time. Another node type it provides is an invoice, which is a collection of worklogs.

Comments

robertgarrigos’s picture

I see. I'll give it a look. Do you plan to upgrade it to drupal 5?

Dave Cohen’s picture

I have not had time to upgrade. And since it is only relevant to one of my sites, which itself does not need upgrading, it could be quite a while before I do that myself. But one reason for checking it into drupal's CVS was so that if anyone else had a similar need, they might contribute. I'd certainly commit a patch that upgraded the module.

Just wanted to mention that a similar module existed in case you wanted to go that route. But I wouldn't be offended if you did not.

robertgarrigos’s picture

Your module works very nice, however I was thinking on a very, very flexible module. I wanted specially to avoid creating something like your invoice node. ;-) I would like something that could fit in as many situations as possible by using other modules (cck, views...)

I just come across to a module that creates parent-child relations within nodes (http://drupal.org/project/relativity) and I think it could be useful to create project nodes (a cck node type, not the project.module node) with child nodes (issues with time tracking entries) which could then lead you to a total time for a project.

I'm thinking on a plugin type module, rather than a fully functional module. In fact, what I would like to see one day is something like the ecommerce, a great module with their own plugins, but oriented to a project management system functionality. Maybe a drupal distribution could be a way of having this functionalilty?

Dave Cohen’s picture

Robert, I totally understand what you're going for. After all, my worklog and invoice nodes would pretty useless if I could not use the more flexible modules (taxonomy, workflow) to give them meaning.

On my own site I have projects and issues (not using project module). And I have worklogs and invoices. In my case, I don't want the project itself to be the invoice, because I may invoice the client monthly and the project could last much longer. In fact I may start work on an issue in Jan, but finish in Feb, and my practice would be to bill for time spent in Jan on the Jan invoice. So for me, it makes sense to keep the worklog as something seperate from an issue. That's why I made it a separate node type, although quite often a worklog entry is one-to-one with an issue. Another reason to keep them separate is some of my clients I may allow to view issues, but not invoices.

Just stuff to think about. I'll keep an eye on what you do with this module.

robertgarrigos’s picture

Status: Active » Closed (fixed)