Project management with Drupal and STORM

We need in our company some kind of project management software. In the past, we used a mixture of Open Office documents and paperwork. We checked yearly for web based open source software solutions but we didn't find the right thing for us.

In the last six months, I had a short relationship with Jira. It is a commercial software which is able to do nearly everything if you have the right plugins.

More than just an issue tracker, JIRA is an extensible platform that you can customise to match to your business processes.

Another interesting project is redmine. My daughter mentioned it yesterday and I had a short look on it.

The problem with these kind of software is always the complexity, the time you have to spend by choosing the right modules, sometimes the money you have to pay, the server space you need etc.

Last year I noticed the STORM project on drupal.org. I played around a few times and yesterday we decided we will use it for our two companies (cocoate.com and eduate.eu). Our "biggest problem" is that we are in the coaching, consulting and teaching business. We don't really need issue- and bug tracking systems. With some clients it is possible, with others not. Our biggest need at the moment is on one hand having the possibility to create companies, people, projects, tickets, tasks and the relationship between them and on the other hand - and that is the most important thing - a time tracking system for our staff.

What they have done so far and wether the work is billable or not. This screenshot shows what we looking for:

Installation

We work a lot with Drupal, so it was easy to setup the ground base.

Drupal, webserver, database

We have a multisite Drupal installation and it is easily possible to add a new Drupal website. You just need a new database, a server alias in your webservers vhosts configuration and a new folder in your Drupal sites folder.

If you are new to Drupal, or if you want to test the system locally, it is a good idea to install a single Drupal without all this multisite stuff. Have a look at the Acquia Stack Installer to do it.

First Steps

To use the storm system you have to install the Drupal STORM module. It consists of a set of modules as follows: Storm (base module), Attributes (settings), Organizations, Projects, Tasks, Tickets, Timetrackings, People, Teammembers, Notes, Knowledgebase, Invoices, and Expenses. For our start we are using the following modules:

Activate them under site building - modules - list.

For the beginning we are not using the modules expense, invoice, knowledgebase and team member. We want to keep the system simple.

Configuration

STORM is more or less ready to work after activating the modules. It is necessary to insert your data step by step in your new project management environment.

Organizations

In our case we need two organizations because we are running two companies. Finally, we decided to create another one to organize our private stuff like "building a solar powered heating system". Create your companies under administer - storm - storm organizisation or to storm - organization.

An organization can be a Customer or a Provider. We need both in our case. Don't forget to activate the Active checkbox too, otherwise the organization is there but it isn't possible to use it.
The next step is to configure the standard STORM organization under administer - storm - storm organizisation. As mentioned before, we have three of them. One must be the Host Organization.

There are three other more or less important things to configure. The icon directory contains the icons for STORM attributes. If you create new attributes, it is necessary to create an icon too and put it nto the right directory. In our case the directory is in the multisite all/modules directory. It's up to you to decide wether this is a good place or not. The Years range in dates is a "nice to have" feature to shorten your option lists. The report header is used in all kinds of reports. At the moment we are not using reports, so I wrote simply cocoate.com projects.

That's all for organizations!
When you access storm - organizations or ([yourwebsite]/storm/organizations) you will see a page like this.

In the yellow area, you see the depending items. It is also possible to use the Drupal comment module to comment on Organizations. Now you have to create your staff and your projects by clicking on the little + icons. The Tickets and the Notes are not sooo relevant at the moment.

People

You can create people by clicking on the + icon. The interesting thing here is, that you can assign an existing Drupal user. Remember, you will need a Drupal user account for everyone who should be able to add content. Later, when this user is inserting his/her hours related to the projects, this relationship is important to filter the times by users.

The Peoples list has a nice filter. In this screenshot you see a list filtered by Organization and Name.

Projects

Now we have to create the most important things ... the projects. Here is an example of our project website. The most important attribute of a project is the date for the begin and the end :-). Below you see the edit form.


After saving, you see the result of your form entries. At the right side are Notes, Tickets and Timetrackings related to this project. On top you have a tab Tasks for Tasks, which are related to that project. By clicking the + icon it is possible to add content if you have the access rights.

Tasks

The bad news at the beginning: At the moment it is not possible to assign tasks to people. It exists a workaround using CCK - see http://drupal.org/node/392414. This sounds very bad, but there is more than one solution for that problem. Instead of the CCK thing, you can use the luxury notifications framework or the simple the notify module to notify your staff when there are new tasks. If people really want to work together, it is possible to do it in that way.
If you want to intensify control, may be STORM isn't the right module for you :-)

Ok, how to add a task?

You can add tasks as easy as Organizations, People and Projects. Click the + icon and fill out the form.

After adding some Tasks you can see a list of all Tasks. It is possible to filter this list too. As an example, you see a list filtered by Organization, Project and Category.

Tickets

I havn't tried the ticket system, but I will come back later on this topic.

Permissions

Up to this point we could use user number 1 (administrator) to work with. Now we have to think about permissions for our users. In our case we have created a new user role cocoate (User management - Roles - add role). Than we assigned the permissions in (User management - Permissions).

Timetrackings

With the right permissions our staff is able to add times to projects and tasks! They have to be logged in with their own username and  password.

Timetrackings were the goal of our efforts with STORM and we have reached it - Yeah :-).
Now it is possible to see all the work which has been done for a specific project or task.
Do you remember the screenshot you have seen at the beginning?

By clicking the small book icon right from the word Duration, you produce a report to have all your times on a nice piece of paper.

Notes

You can add Notes to everything. The way is the same as always (+ icon)

Attributes

Attributes are an important part of your work. If you use STORM for software development, the predefined Attributes are fine. If you want to use it for other purposes it's necessary to change and add Attributes. You can do that by accessing the attributes pages. Attention: You have to define one Attribute for the forms and one Attribute for the filtered search. The sreenshot shows the Attribute for the forms.

Summary

My conclusion: I am happy about the quick results. It took me at least one and a half day to setup something very useful for our company. For now we are in an early stage with STORM but the staff like it even after two days. I will come back later with more experiences of STORM, f.e. the reports and the invoicing.
If you have similar problems or solutions especially in project management, please comment on this blog post.

Section: 
  • good - by Fijo Jose on 14. June 2011 - 5:28
  • Hi there, Just came across your post and am wondering whether you're still using Storm 2 years later? If not, what have you moved to. Best regards, Ole - by Ole Sturm on 15. August 2011 - 7:18

Comments

I was looking into Storm for Timetracking. Now I'm sure it will be a good choice. Thanks for this write-up. Tom

I am also looking into storm, are you, after some months, still satisfied with storm?

I started to look for a project management software with an easy time tracking, and finally, after comparing several free and paid alternatives, I took clockingIT. Have you tried? I just added Storm to my Drupal installation for comparison and although Storm is very easy to use, I think it should try to simplify time entry, and that the ideal is to lose little time in the management of your projects. Great post! David

I like storm so far, but I think it might be a bit much with what I am looking for. I have a client who does teaching and all she wants is a way to keep student information. So she would want all their contact info and then a place to keep notes and how they are progressing. If anyone can help customize storm to do this as I am not good at it or suggest another module that might work bette, I wuld be greatful. Thank you.

Hi Hagen, I'm about to propose a solution based on Drupal STORM, especially the TimeEntry Reporting part that is of special interest to us. Its been more than 6 month now for you to use this system. My concern was particularly on performance since everything is added in nodes. What are your experiences so far? Are people still using it or complain of slowness or any other issues? Does it gel around well with CCK & Views? My installation is expected to be used by around 200 users and each one of them would be doing around 5 entries daily in the system. Do you see any bottleneck in this approach? Thanks

What are your experiences so far?

We still use only the timetracking feature (with 5 people). Once in a month, we use this data to write invoives. We have build one view for our clients so that they can see what we have done.

Are people still using it or complain of slowness or any other issues?

As I said, it is a simple and perfect solution for us. Because we are only 5, we have no problems with slowness

Does it gel around well with CCK & Views?

For our "one view" system it is ok

My installation is expected to be used by around 200 users and each one of them would be doing around 5 entries daily in the system. Do you see any bottleneck in this approach?

I cannot say something about this because I don't know.

 

Hello, For my one man company I'm looking for a Project Management System. As I work with Drupal I want to choose between Open Atrium or Storm ? And the winner is ??? Do you know Open Atrium ? Tnx from France by a Dutchman.

Yes, I know Open Atrium and we are experimenting with it. It seems to be a great tool to organize events or projects in the sense that you can talk about things, have a wiki, a calendar and all this stuff.

Open Atrium has the possibility to add features and it is much more modern than storm.

But - for our simple hourly reports to clients we still use storm :-).

 

Do you have an experience with Storm or Open Atrium as intranet with clients ?

I installed storm some time ago and now it seems we will need to use it. This write-up is the basis of starting to use it now. It seems storm has been upgraded in the Task Section and allows assignment "Assigned to:" - Version . Are you using it Hagen? I seem to have a problem with it as it shows the people to allow assignment and then the "chosen" ones disappear and the task cannot be saved. Will investigate and if I find the solution shall report back.

I have experiences with both. We are using Open Atrium for client projects since 6 months. Since 4 weeks we use it in european projects. We use Storm for our timetracking (internal cocoate) since 18 month. It is very handy to have all the "hours" on one place to charge the correct amounts.

nice post, keep it up! cheers

hi,
how I change project status attribues user role wise on create project form...please help.

Hi ,
every body i have succesfully installed storm module in drupal 7 , but i have getting the following error when i will click on any of the available options(organisation,people,team etc).
1."Strict warning: Only variables should be passed by reference in stormperson_list() (line 76 of C:\wamp\www\drupal\sites\all\modules\storm\stormperson\stormperson.admin.inc)."

2.when i am trying to create one people , if i will fill up the user box the following error is coming
"
An AJAX HTTP error occurred.
HTTP Result Code: 500
Debugging information follows.
Path: http://localhost/drupal/?q=storm/stormpe...
StatusText: Service unavailable (with message)
ResponseText: Recoverable fatal error: Argument 4 passed to db_query_range() must be of the type array, integer given, called in C:\wamp\www\drupal\sites\all\modules\storm\stormperson\stormperson.module on line 451 and defined in db_query_range() (line 2342 of C:\wamp\www\drupal\includes\database\database.inc)." the user box value is one user of drupal. plz help guys......

There is a full distribution for project management called erpal. See http://erpal.info or http://drupal.org/project/erpal looks pretty sexy but has no stable version yet.

No ERPAL has a stable release and many new features and bug fixes since january. Get started and give us some feedback!

The module written up in this post has now been renamed for the Drupal 7 version onwards.

It is now called Project Management (slightly more self-explanatory).

You can find it at http://drupal.org/project/pm

Add new comment