Project Management in Drupal 7

Project management is a tool that businesses must use in order to keep projects running to schedule and to budget. I had a look round for a suitable Drupal 7 alternative to this, and all I could find was a version which is compatible with Drupal 5. Project management, if done correctly can save the organization money and also can be used to generate more revenue if implemented correctly.  

I have taken most of the inspiration for this article from the following pages:

The modules that I have used in this article include the following:

Core Modules

  • Block
  • Book
  • Comment
  • Filter
  • Help
  • Menu
  • Node
  • System
  • User

Contrib Modules - Required

  • CCK
  • CTools (Chaos Tool Suite - needed as this is a requirement of the views module in Drupal 7).
  • Support
  • Entity API
  • Views
  • Organic Groups

Contrib Modules - Optional

  • Google Chart API
  • Internationalization
  • Variable (needed as this is a requirement of the Internationalization module).

Once the install profile has been installed, you have the ability to view support ticketing charts, configure support plans, generate support plan reports, manage support clients and configure support projects. All of these tasks can be created or configured using the “Support ticketing system” menu option, which is located at the top of the screen as part of the “Administration Menu”. 

Support Module Configuration

This module can be configured to meet a variety of specific criteria. Such criteria includes such features as:

  • An auto-complete limit.
  • Functionality to auto - assign tickets to individual users (such as a CEO or manager)
  • Default sort column - Ticket views are sorted by clicking on the title of any given module. If a ‘default-sort’ is not selected then this default value will take precedent.
  • Default sort order - you can specify whether or not the tickets are sorted in ‘ascending’ or ‘descending’ order.
  • Secondary sort column - Ticket views can be sorted by clicking on the title of any given column and this option allows you to select a secondary sort column. For example, tickets can be set by priority and then secondary sort field can be used to sort all tickets of the same priority by node id. For the best performance of the site, it is not recommended to set a secondary sort column.
  • Notifications - ability for users to be notified should a new support ticket be added to a specific project. Users by default can subscribe and unsubscribe to notifications as they wish.
  • Support tickets assigned to individual users - this module can be configured in order to link assigned tickets to individual user’s profiles so that they will be updated of changes once they log back into the system.
  • Auto-create new users on incoming mail - this functionality can be configured so that if a support ticket is created by an unknown user and received from an unknown email address, then a new user is created once this email has been received.

Support Clients

In order to be able to take full benefit from this module, you will need to configure “clients”, as each support ticket must relate to a “client” (one-to-many relationship). The support module can be configured so that one ‘client’ cannot see the support tickets created to or assigned to another client within the system.

Users have the ability to create and update support tickets via email. This functionality can be configured during the setup of the individual client. Each client will need to have a dedicated email address, and this email address will be used for notifications or changes to the project. If you have this functionality setup, you will need to configure inbound email that will work in an external email client. Inbound email integration requires that your version of PHP was compiled with the IMAP mail extension. The inbound email functionality included within this module can be setup using the POP3 protocol, the secure POP3 protocol, the IMAP protocol or the secure IMAP protocol.  

Within the ‘client’ setup menu, users can be auto-subscribed to tickets when they are created as well as the ability to auto-assign support tickets to individual users should they meet a specific criteria.

Once all the above functionality has been added for one client, you can repeat this process over and over until all of your clients have been added into the Project Management Platform. After you have finished adding all of your clients into the system, you can create and assign projects to customers and also assign tickets to the individual projects meaning that the system can start managing your project which will keep you better prepared and able to manage multiple projects at the same time.