Forum OpenACS Development: Update on Project Manager

Collapse
Posted by Jade Rubick on
Hi all,

I wanted to give an update on project-manager, the project management solution for OpenACS.

First of all, I'm in the midst of an upgrade from ACS to OpenACS at my company, which means that I'm slightly distracted. However, I need for the project manager to have as a minimum the functionality of the ACS ticket tracker (which I've fairly heavily customized on ACS). So although I'm not working heavily on project manager, I am doing work on it to get it up to snuff for a 1.0 release.

Here's what you can expect from the 1.0 release:

First of all, I'm cutting out some functionality. There is dependencies between tasks, and there was some preliminary support for automatically determining deadlines. I'm going to take out auto-scheduling, as I don't think it's ready for a January release, and I'd like to get this out in late January.

I have not integrated project-manager with logger. Perhaps Peter or Lars will have some time to help out with this.. It would be a really good thing to do, as logger is an excellent application.

The 1.0 release will be fairly rough, but it has to be good enough that our company can use it. A lot of my initial focus will be on getting it stable and on ironing out interface issues. It will probably undergo some rapid changes at that point.

I've already added in support for local customizations. You can add in additional columns to keep track of in the projects table (I have a skeleton outline of how this will work, so you can add it in). For example, if you want each project to keep track of what customer it is associated with, you just add a few lines in the -custom-create.sql script, -custom-drop.sql script, and add in the appropriate ad_form elements in a separate add-edit-2.* scripts. Then flip a switch in the parameters section, and it will show up. Oh, and put it in the one.tcl page as well, so you can see it. This hasn't been checked in yet -- I plan to do that sometime in the next few weeks. Let me know if you're planning on previewing it or anything, and I can check stuff in for you.

After the 1.0 release comes out, I'd like to ask other people to help and get involved in the development of project manager. I'm happy to lead up the effort, but if you think you might want to use this, your assistance will be much appreciated. A project manager is a complicated piece of software, and it requires a lot of work to get it up to the level of something like MS Project. I've built a lot of the foundation, but we'll get there a lot quicker with some help!

Currently, the development is on the 5.0 branch.

1.1 Release (March or April?):

Additional features: Support for auto-scheduling of tasks depending on project deadlines and interdependencies of tasks. Also, scheduling of employees will be included, and will affect task schedules. I.e. taking Friday off will affect all project schedules that depend on you working that day.

Additional administrative interface improvements.

Future plans include things like resource smoothing, and so on. You can see the project manager page:

https://openacs.org/projects/dotwrk/project_management/

Collapse
Posted by Jade Rubick on
First of all, I managed to get auto-scheduling included in the 1.0 release, and it seems to work well. The scheduling takes into account weekends, and it should be easy to add in holidays and so on as well.

However, vacation time is not accounted for. That will come later.

I'm not sure when I'm going to be ready to release 1.0. A lot of projects are in flux here at work, and it's hard to tell how much time I'll be able to devote to project manager.

If anyone is able to help on development, I'll release it soon. However, you'll need to commit to helping out on upgrade scripts!

For now, you can get it off the 5.0 branch, not HEAD. But I'm not supporting upgrades yet -- it's just for checking out.

Collapse
Posted by Guan Yang on
Inspiration for Project Manager: Basecamp
Collapse
Posted by Jade Rubick on
Guan, thanks for the link.

Here is what I just checked in:

Added in basic notifications (no UI) for when tasks are created

Reduced the number of pages required for task create from 3 to 2 when dependencies are being created.

Set up ability to add dependencies between newly created tasks (checks for loops so they don't depend on each other)

Finished adding in basic categorization. UI could be improved, but it works.

Many minor UI updates.

Added in some functions that I had neglected to commit earlier.

Note that this still has a bug in the all_users view. It should be all_users_all, I believe.

Collapse
Posted by Frank Bergmann on
Hi Jade,

I'm back from vacation (great, Cuba!) and I'm preparing a plan for porting the Project/Open version of the "Intranet" module.

I've checked for your project manager code. Until now I haven't seen any duplicated code, so that seems to be good news. My comments:

- I see that you are using separate tables for status and type information (pm_project_status and pm_task_dependency_types) instead of using the "categories" table as PhilG used to do it in the old Intranet. This (the separate tables) is the way I used to learn RDMBS design, but I got used to "categories" because it allows to keep code considerably shorter. So I wonder whether categories got deprecated in OpenACS or whether there are other reasons to abandon this habit.

-  I see that you have created separate tables for "processes". So I wonder whether this it more efficient
then for example using the pm_project* tables with a special "prototype" type of project.

Jade Rubick wrote on Sep 18 2003
<blockquote> I'm happy to share my upgrade scripts, however.
It would save you a great deal of time, probably.
</blockquote>

I think the time has come where we would definitely apreciate this offer...

Jade Rubick wrote on Sep 18 2003
<blockquote> I'd also be interested in talking about merging our
efforts. Rather than have two project-manager programs
for OpenACS, I'd be much happier to join our efforts
together
</blockquote>

During the next two weeks we are going to define how exactly we want to proceed with the porting effort in terms of modularization, localization, permissions, security, OO and component architecture, testing, etc. I would love to involve the community in this processes, so I'm going keep you informed and I'm looking forward to fruitful discussion...

Jade Rubick wrote on Sep 18 2003
<blockquote> I should warn you that the migration to OpenACS is not
easy. [...] Part of the problem is that equivalent
applications sometimes just don't exists on the OpenACS
end of things, and when they do, sometimes their data
model isn't very similar.
</blockquote>

I think that P/O is in a very different position wrt. to "equivalent applications", because we have eliminated all of them from P/O. We even have rewritten the bboard and the admin pages. So I hope porting (phase 1: quick & dirty) is going to pretty straight-forward. However, this may pose questions considering "merging the efforts". We'll try to publish sample code ASAP, so that you can decide whether merging makes sense. We are going to publish the ported code of the old Intranet module (the P/O "core" module) as GPL, obviously.

I'll try to join you on IRC during the next days.

Bests,
Frank

mailto:fraber@project-open.com, http://www.project-open.com/

Collapse
Posted by Jade Rubick on
Re: separate tables for pm_project_status and so on:

I felt like I was pretty much rewriting things, and this just seemed to be the easiest way to do it.

Re: processes: that would have been a good idea to not have the processes table. It's kind of too late now though.

Re: upgrade scripts: please keep in mind that any way you upgrade is going to be painful. Please see my page on upgrading: http://rubick.com:8002/openacs/acs_to_openacs  If I were starting over again, I'd look at Sloan's scripts.

We haven't made our upgrade yet, so our scripts aren't yet complete. It's taken a lot longer than we expected. :(

Please check out that page and decide what you think. If you'd like to do it with my method (which I think is probably inferior to the other methods), then let me know, and I'll see how we can work together.

I hope to see you on IRC sometime in the next few days. :)

Collapse
Posted by Nagita Karunaratne on
Guan's Link (above) Basecamp just launched.
Collapse
Posted by Jade Rubick on
Collapse
Posted by Khy H on
I am working on writing the Oracle SQL for Project Manager.  The scripts should be done and tested by tomorrow (10/07). I will submit for review when completed.