youcantryreachingme
23-06-09, 04:16 PM
I'm 90% complete on a new module called "Team Views".
Background: As we all know, dotproject is a project management system. As we also all know, many people have asked about incorporating an issue management system. There are a few options available: Tickets (supplied with core), Helpdesk (3rd party add-on), Eventum (a link into a separate, full-blown issue management piece of software)
I wasn't fully happy with any of these, although they all have their benefits. Of the above choices I liked the Helpdesk module best: Tickets was just too rudimentary, and Eventum was too full-blown and it seemed that if you ever got the code from each system talking to the other you forever broke your upgrade path for either system. Forget that.
So... what was wrong with Helpdesk? Only a few things.
First, it's designed to be used by a single team. What if you have 2 support teams in your organisation? Too bad.
How could this be? Our tech support team fields requests from system end-users, but tech support may well forward issues to other teams within the organisation, such as network support or development support. In this model, each of tech, network and development support needs its own list of "issues", grouped into "types" that make sense to that team, with a "status" relevant to that team (just because network support says a task can be closed, doesn't mean tech support is happy with it yet) and likewise, a priority relevant to that team.
Further, each team might have its own additional data to track against each task. Tech support might like to know "who's the user who raised the issue?" but network support might like to know "which servers are affected?"
Secondly, any Log data recorded against a Helpdesk item is not forwarded to the next team whenever a Helpdesk item is exported to a Project. Likewise, when the project workers record Logs for their progress, the Helpdesk team cannot see what progress has been made. If either needs information from the other then they have to interrupt the other at a mutually convenient time to exchange further information - all unnecessary and at risk of introducing errors through miscommunication.
The solution?
The new Team Views module lets you:
* Define any number of "Views", each of which defines issue "type" and "status" fields to be used for that View. These 2 fields are created as Custom Fields (existing functionality).
* Add additional Custom Fields to that View.
* Create a Role with permission to use a particular View, and then assign that Role to Users.
When a User with access to a View logs in and goes to the Team Views module, they are presented with the Summary screen that formerly came from the Helpdesk module ... but with a difference:
* The Summary screen tabulates all Tasks related to the User's permitted View and presents tallies broken down by Status and Type (from that View, generated dynamically).
The User can then click through to the List screen formerly from the Helpdesk module. This consists of a panel of filters at the top, and then a list of Tasks dependant on those filters.
The filters themselves include the search form - which searches all relevant Task fields, the Task ID (which is now displayed everywhere, giving each Task a unique number) and all text-entry based Custom Fields associated with the View (added dynamically).
Next, you have dropdown select lists for the current View's Status and Type, Task Priority, Assigned To and Project and every Select List-based Custom Field associated with the View (added dynamically).
Further, there is a checkbox labelled "Make PDF" which will give you a link at the bottom that opens a PDF showing all the filters and search criteria that have been entered, together with the filtered, sorted list of Tasks that's visible on-screen. Great for taking along to that software development stand-up meeting, or your performance review.
But wait! There's more!
Each View also defines a "Project inbox". If you need to pass an issue to another Team, you move the Task to that Team's inbox Project. Because your Team had an interest in that task, it will continue to appear in your Team's View, but the Task will now also appear in the new Team's View, together with a flag saying "this is a new request from another team".
What's the point here?
By using Tasks as the primary vehicle for storing information (rather than Helpdesk items), we gain much: the ability to add Logs (more fully featured than the Log tab added to the Helpdesk module), automatically notify Project, Task or other Contacts, add Files, assign Human and Other Resources, and schedule work using all the project management features of dotproject (move it into a real project project, rather than a View's inbox) and make use of all dotProject's Task reports.
By using only a single entity for each issue (rather than a Helpdesk item linked to a separate Task), all work Logs, progress and data recorded against the task are visible to all Teams who come in contact with the Task.
The end-user phones tech support: "hey - I raised this 2 weeks ago, where's it at now?" Tech support finds the Task via their own View (no matter which Project it's been moved to), opens it and sees in the logs that it was passed to development support who discussed it a bit, then decided they would fix that bug, moved it into a project being used for the software development cycle due for release in 4 weeks. By checking the dev team's status on the Task they can see it's already gone through requirements gathering and specification and is currently being coded and is 50% complete.
All this information back to the end user without having to disturb the dev support team.
Likewise, when dev support received the request from tech support, all the information that tech support logged is recorded right there in the one place.
Where to from here?
I think that's an ample summary for now. I hate that it's all text based and would love to give you a swag of screenshots. I am keen to find out whether there is any interest whatsoever in this module any more. All previous discussion makes it look like the subject was dropped in 2005 or 2006 - which is a shame. Dotproject is very robust and useful and I really think this issue management integration would prove useful to many, even though the software is a few years older now.
Background: As we all know, dotproject is a project management system. As we also all know, many people have asked about incorporating an issue management system. There are a few options available: Tickets (supplied with core), Helpdesk (3rd party add-on), Eventum (a link into a separate, full-blown issue management piece of software)
I wasn't fully happy with any of these, although they all have their benefits. Of the above choices I liked the Helpdesk module best: Tickets was just too rudimentary, and Eventum was too full-blown and it seemed that if you ever got the code from each system talking to the other you forever broke your upgrade path for either system. Forget that.
So... what was wrong with Helpdesk? Only a few things.
First, it's designed to be used by a single team. What if you have 2 support teams in your organisation? Too bad.
How could this be? Our tech support team fields requests from system end-users, but tech support may well forward issues to other teams within the organisation, such as network support or development support. In this model, each of tech, network and development support needs its own list of "issues", grouped into "types" that make sense to that team, with a "status" relevant to that team (just because network support says a task can be closed, doesn't mean tech support is happy with it yet) and likewise, a priority relevant to that team.
Further, each team might have its own additional data to track against each task. Tech support might like to know "who's the user who raised the issue?" but network support might like to know "which servers are affected?"
Secondly, any Log data recorded against a Helpdesk item is not forwarded to the next team whenever a Helpdesk item is exported to a Project. Likewise, when the project workers record Logs for their progress, the Helpdesk team cannot see what progress has been made. If either needs information from the other then they have to interrupt the other at a mutually convenient time to exchange further information - all unnecessary and at risk of introducing errors through miscommunication.
The solution?
The new Team Views module lets you:
* Define any number of "Views", each of which defines issue "type" and "status" fields to be used for that View. These 2 fields are created as Custom Fields (existing functionality).
* Add additional Custom Fields to that View.
* Create a Role with permission to use a particular View, and then assign that Role to Users.
When a User with access to a View logs in and goes to the Team Views module, they are presented with the Summary screen that formerly came from the Helpdesk module ... but with a difference:
* The Summary screen tabulates all Tasks related to the User's permitted View and presents tallies broken down by Status and Type (from that View, generated dynamically).
The User can then click through to the List screen formerly from the Helpdesk module. This consists of a panel of filters at the top, and then a list of Tasks dependant on those filters.
The filters themselves include the search form - which searches all relevant Task fields, the Task ID (which is now displayed everywhere, giving each Task a unique number) and all text-entry based Custom Fields associated with the View (added dynamically).
Next, you have dropdown select lists for the current View's Status and Type, Task Priority, Assigned To and Project and every Select List-based Custom Field associated with the View (added dynamically).
Further, there is a checkbox labelled "Make PDF" which will give you a link at the bottom that opens a PDF showing all the filters and search criteria that have been entered, together with the filtered, sorted list of Tasks that's visible on-screen. Great for taking along to that software development stand-up meeting, or your performance review.
But wait! There's more!
Each View also defines a "Project inbox". If you need to pass an issue to another Team, you move the Task to that Team's inbox Project. Because your Team had an interest in that task, it will continue to appear in your Team's View, but the Task will now also appear in the new Team's View, together with a flag saying "this is a new request from another team".
What's the point here?
By using Tasks as the primary vehicle for storing information (rather than Helpdesk items), we gain much: the ability to add Logs (more fully featured than the Log tab added to the Helpdesk module), automatically notify Project, Task or other Contacts, add Files, assign Human and Other Resources, and schedule work using all the project management features of dotproject (move it into a real project project, rather than a View's inbox) and make use of all dotProject's Task reports.
By using only a single entity for each issue (rather than a Helpdesk item linked to a separate Task), all work Logs, progress and data recorded against the task are visible to all Teams who come in contact with the Task.
The end-user phones tech support: "hey - I raised this 2 weeks ago, where's it at now?" Tech support finds the Task via their own View (no matter which Project it's been moved to), opens it and sees in the logs that it was passed to development support who discussed it a bit, then decided they would fix that bug, moved it into a project being used for the software development cycle due for release in 4 weeks. By checking the dev team's status on the Task they can see it's already gone through requirements gathering and specification and is currently being coded and is 50% complete.
All this information back to the end user without having to disturb the dev support team.
Likewise, when dev support received the request from tech support, all the information that tech support logged is recorded right there in the one place.
Where to from here?
I think that's an ample summary for now. I hate that it's all text based and would love to give you a swag of screenshots. I am keen to find out whether there is any interest whatsoever in this module any more. All previous discussion makes it look like the subject was dropped in 2005 or 2006 - which is a shame. Dotproject is very robust and useful and I really think this issue management integration would prove useful to many, even though the software is a few years older now.