HelpDesk/Tickets, an easier way to communicate for staff & members

A HelpDesk is basically a way to communicate problems to the site team or to get support. It can be a very powerful application that helps organizing user support workflows. I'm trying to create a powerful HelpDesk with basic functionality, but without using the helpdesk module, just by using cck and tax access control...

I launched a small Demo Page here:
http://helpdesk.berlinerstrassen.com

I already posted here, concerning the same topic:
http://drupal.org/node/113137
But maybe in this category it fits better...

Cheers

schnizZzla

Looks Great

Bojhan - January 28, 2007 - 11:41

Looks amazing, though there are some key basic features that should improve it from the member side. All moderators are capeable of seeing the questions, though they should be the only ones and the member itself.

What could happen is the following, user submits a question. Moderators see a message pop up on their screen (in the menu) with 1 Unanswerd Help Issue, and the user can see his own unanswerd/answerd help issue and respond to the answers the moderators give.

I think this should have certain content acces levels since, I dont want anybody else then the user to read the help issue for example.

Different Levels of Access

schnizZzla - January 28, 2007 - 17:42

"All moderators are capeable of seeing the questions, though they should be the only ones and the member itself."
It is like that. Did you test? When you login as member1/2 you can't get access to other nodes than submitted by that member itself.

"I think this should have certain content acces levels since, I dont want anybody else then the user to read the help issue for example."

In my example access is managed on different levels:

1. "access control" - permissions based on content/module, though often lacking the NEEDED permission in this case it would be "VIEW TICKETS" (but there is only a generel ACCESS CONTENT permisssion)
==> only the Create Permission is useful on this level for new node types!!! Because I don't need no editing of tickets by the user, so I choose only "create cck-tickets" permission on this level and the access content.

2. "taxonomy access control" - manages the permission by the node's taxonomy. Because every user has create permissions but only mod/admin have view permissions AND the tickets are ALWAYS in this taxonomy based on ther REQUIRED category field when submitting tickets, that's because members can't view tickets

3. Because mod/admins don't have node administration permission they can't see unpublished notes.

4. "view own" (don't mess it up with "EDIT own") seems a basic permission that works in this constellation - i think this is because of the access content grant - though I had problems with this, sometimes it worked sometimes not, I couldn't trace the reason, yet. There is a possible problem, depending on the when and how tax access module uses some node module hooks to set permissions. But I am not sure...

5. field permissions, not used yet, but they will be useful to give tickets more attributes which will only be needed by certain users e.g. mods/admins to manage ticket status and the anonymous user to have an field to enter an e-mail address for the answer.

Maybe someone could tell me where is the best place to contribute this "package" once it's ready... ?

I already have got this feedback from you: "Great work I really like this. Only please have a submit button, instead of a preview."
This is one of the drawbacks: This depend on the global post setting "Preview post: Optional/Required", I had set this to required. I also think that for tickets its better, but in general someone may want to manage this by node type. But this is a drupal core issue I think.

I think that the power of my approach is, that only using widely spread and good supported modules (in fact beside from core functionality to this point you only need cck + taxonomy access control), with further development of these modules and the drupal core, also the helpdesk will gain new features.

Cheers

schnizZzzzZzzla

Great Idea / E-mail Integration

BenK - January 28, 2007 - 17:42

What a great idea for a project! I've been monitoring the HelpDesk module for awhile now, but it doesn't appear that much progress was being made.

As for your idea, I love the concept of having support requests as nodes. This would enable us to leverage the full power of Drupal to manipulate those nodes. The helpdesk personnel could utilize a wide range of existing Drupal modules to better monitor and track customer service. For instance, it would be easy to track every support request a helpdesk staff member answered simply by using existing drupal functionality.

I did check out your demo site and it looks good. One question I have is how you plan to integrate e-mail into the node creation and commenting process:

* Would you use a module like Mailhandler (http://drupal.org/project/mailhandler) to automatically create nodes submitted via e-mail?

* Would you use the Subscriptions module (http://drupal.org/project/subscriptions), Comment_Notify module (http://drupal.org/project/comment_notify), or Subscription module (http://drupal.org/project/subscription) to have every new comment on the support thread automatically e-mailed to the user?

BenK you're my man! :-)

schnizZzla - January 28, 2007 - 18:21

Actually there is so much left to do until on the node and Views level everything works perfectly, so I didn't concern myself with mails yet. At this point mails to anonymous have to be sent manually with external mail.
Of course it is appreciated that HelpDesk manages also the mail workflow, but HelpDesk's aim is basically to avoid mails as far as possible. If we take mails into it, we need a far more complex system to receive mails. This is very important, because once a user receives a support email in most cases just clicks answer button and now we have a problem. If we didn't assign the mail somethin like an ID in the subject we can recognize later on the re:-subject or we don't have some good logic to connect an email answer to the original email, we will loose all benefits of the Ticket System and have to mess with some mixed system, where we have to assign some messages to the original case manually... Big companies pay a lot of money to manage this by big mail systems like KANA...

But I am sure everything is possible, nothing stops drupal ;-)
So, all help is appreciated, everybody who's interested in joining a workgroup to discuss the HelpDesk and to spend some time contributing together on a fine project, please contact me:

ICQ: 930 80 207
Skype: dr.rjinswand
FORM: http://drupal.org/user/104093/contact

I am out now, but messenger is on, I will confirm contacts later, feel free to add my to your contacts if you use icq or skype...

Set up a Help Desk group at groups.drupal.org?

BenK - January 28, 2007 - 20:01

schnizZzla,

Thanks again for taking the initiative on this project! Do you want to set-up a "Help Desk" group at the groups.drupal.org site?

There doesn't appear to be any type of group like this yet. We could move our discussion thread over there and maybe pick up some other interested folks who notice us in the groups listings.

P.S. Where in the world are you located? I'm based in the U.S. in the state of Oregon.

Thanks for the reaction

Bojhan - January 28, 2007 - 20:04

Thanks for the fast response, I think your approach on how to do this will absolutely be a big contribution to supporting help to users. In someone I agree to what you say on the mail workflow because that will also pretty much create duplicate content. I am very intrested in this workgroup, I hope I can give some meaningfull advise on the usability improvements that could be made using jQuery. (Added you on skype)

Drupal Group

schnizZzla - January 28, 2007 - 22:54

Visit: http://groups.drupal.org/helpdesk-ticket-system

@BenK
I am from Berlin, Germany. So this will be a worldwide project ;-) Which timezone is Oregon?

@Bojhan
concernig jQuery: I find it great, because me, I don't have great AJAX skills, i like to concentrate myself on PHP/XHTML/CSS, but I love JS when it's working! I can already imagine great benefits from this mainly on the moderation side.

DOUBLE GROUP?

schnizZzla - January 29, 2007 - 14:02

I have been told that there is already a project group for this:

http://groups.drupal.org/issue-tracking-and-software-releases

So lets try out if the contributed modules already meet the requirements, because the issue tracking system is already what i called ticket system. If it is possible to make the issues private, it will be better to work on improvements in the above group.

So hold on doing something on the new group, check out the above group and these modules first:

Project Module

and a rewrite of this module

Case Tracker Module

and the following addtional module:

Project issue tracking

You can't prove it won't happen.
---
Free Music?
--> BerlinerStrassen.com - Support Your Local Heroes

A Couple of Interesting Posts

BenK - January 29, 2007 - 17:12

OK, I'll take a look at the three modules you mentioned. I'm a bit skeptical about the Project module and Project Issue Tracking module because those seem so focused on software development, but you never know. Case Tracker seems more general and has the added benefit of e-mail notifications already built in, but I'm not sure if it will meet our needs.

schnizZzla, can you try to see if your Taxonomy Access approach will work with Case Tracker or Project to make support nodes private?

Also, here are some links to a couple of interesting posts I found in the "Issue Tracking and Software Releases Group":

1. Use of the Workflow Module: This post discusses using the Workflow module to track whether a support ticket is Open, Closed, Pending, etc. Interested parties could also be e-mailed when this state change occurs. It also seems that Case Tracker may allow for a state change when a comment is added. Check out this post: http://groups.drupal.org/node/409

2. Use of Mailhandler module: This post discusses how to integrate e-mail into the process. Check out this post: http://groups.drupal.org/node/401

Thanks,
Ben

P.S. I'm based in the "Pacific" time zone in the U.S. The same time zone as California and three hours earlier than Eastern time.

The Summary: two days of testing

schnizZzla - January 30, 2007 - 15:01

The basic requirements to create a help desk:

1. possibility to assign view permission for different categories based on roles along with the answer permission (post comment) this will let us create moderators

2. possibility to give create permission for different categories based on roles WITHOUT view permission, means a user can create a node in the category but can't view ALL nodes in this category

3. to view own nodes (in best case even unpublished) always or even based on category/role must be possible

4. possibility to have some field permissions to hide fields from some roles, hopefully this works with cck field perms module

Once this all is possible at least (1-3), the ticket system can be created. Amazingly this worked on the demo page first but after rebuilding permissions it isn't possible to view own nodes anymore... This is a problem with the Taxonomy Access Module (TAC), because there are some problems with TAC it made me stop using it..

Some other PRO/CONS for using the Case Tracker / Project Module:

- I find Case Tracker the better choice, it's more generic, e.g. projects are nodes too, and I find it easier to handle.
- PRO: these modules have already some nice views and structure, and some functionality that we need too
- CON: different terminology: e.g. we don't need projects, in community support we have help topics ==> hacking t'ied strings in the module to rename them
- CON: some views and the submit form have to much values, e.g. priority on this kind of community support help desk is definitely not managed by the user but the by team ==> hacking code again
- PRO: without using these modules all views have to be created "from the scratch", maybe some views need to be coded too, because not everything is possible with the Views UI

The TAC Lite module is simpler, does a good job and has less code, but as TAC it disables the user to view own nodes, unless he/she can view the whole category. And unlike TAC its not possible to grant create permission only. LIST/CREATE permission was a very fine feature in TAC.

As you see I made many considerations, and I would propose, before going on we should discuss how to make the requirements working. Keeping the ability to view own nodes when we start using some kind of taxonomy access control.

Maybe the fastest way will be a hack for TAC Lite, seperating view/create perms, and keeping "view own permission" for all nodes in the access controled taxonomies!?

What do you think?

schnizZzla

P.S. It seems that the Issue tracking and software releases group didn't notice our discourse so far. Maybe they can help us with their experience...

------

You can't prove it won't happen.
---
Free Music?
--> BerlinerStrassen.com - Support Your Local Heroes

http://groups.drupal.org/node

schnizZzla - January 30, 2007 - 15:12

http://groups.drupal.org/node/409

cant find any demo of this, is there any?

You can't prove it won't happen.
---
Free Music?
--> BerlinerStrassen.com - Support Your Local Heroes

I'll Follow Up on the Demo

BenK - January 31, 2007 - 00:22

schnizZzla,

In regard to your comment/question about the http://groups.drupal.org/node/409 thread:

I just realized that I happen to know the individual who originally posted that thread. I'll try to contact him to determine the status of his project/demo. I'll let you know when I hear back.

Privatespace and Private Modules

BenK - January 31, 2007 - 00:07

schnizZzla,

Thanks for testing out the various modules in question. I did some research on my end and discovered two modules that enable a user to create a "private" node that only the user can view (as well as "site administrators" who would be our helpdesk staff). Here are the two modules:

1. Privatespace
http://drupal.org/project/privatespace

2. Private
http://drupal.org/project/private

Can you take a look to see if either of these modules will provide the functionality we need? If not, perhaps just a small hack would be all that is required. I'm especially interested to know if either of these modules could work in conjunction with the Case Tracker module.

One additional module to note:

3. Workspace module
http://drupal.org/project/workspace

This module doesn't deal with permissions but provides a simple way to gather all of the user's nodes in one place.

One more thing...

BenK - January 31, 2007 - 00:16

Here is one more additional approach to consider: The Organic Groups module would allow us to restrict access per group. It's probably not the most elegant solution, but I wonder if we could automatically create an Organic Group of one (the user).

For that matter, the Simple Access module would allow us to restrict access by role. I'm assuming, however, that we wouldn't want a role for each individual user who submits a ticket!

Case Tracker How-To: Implementing a Help Desk

BenK - February 24, 2007 - 06:55

From all of the research I've done, it seems like the Case Tracker module should be the starting point and we should adapt it as needed. Case Tracker has a lot of the functionality we need already built in. Here's an excerpt from a post by the Case Tracker maintainer, Morbus Iff, on how to set up a Help Desk-type solution:

>>

If you'd like to create a "helpdesk" type of system, where a user:

* never sees any sort of Project.
* never sees any other case he didn't submit

then do this:

* create a "Helpdesk" project. since this will be the only project in the system, case creation will automatically default to this project, and you won't see any "Choose project" type of information on case creation.

* Give your users ONLY the ability to submit cases, and "show cases user tab". This will stop them from seeing the master "Case Tracker" menu item (which shows things by projects and cases, regardless of whether they submitted them, and is granted by the "access casetracker" permission).

* Users will see a) cases they created, b) cases you assign to them (irrelevant in your scenario) by going to users/[theirID]/cases. They won't be able to see any other case (unless they happened to guess a node URL, which is entirely possible, so you may want some more added protection there.)

<<

Now we just need to research methods for making an individual support post fully private.

Hey Benk, It seems by adding

mcneelycorp - October 3, 2007 - 13:04

Hey Benk,

It seems by adding the nodeaccess module, and setting up the configuration, you can hide posts and comments (response) for only the node creator and admin.

....

Sree - October 3, 2007 - 13:07

just subs ...

tracking it

vkr11 - October 10, 2007 - 23:03

tracking it

tracking this...

goose2000 - October 17, 2007 - 20:00

tracking this...

tracking

teknoart - October 23, 2007 - 17:25

tracking

subscribing

activelyOUT - January 23, 2009 - 18:25

Currently, I am using helpdesk for cases and questions submitted by end users.

I was going to use projects as part of groups to allow users to create group projects they could work on togehter.

In looking at the two modules, I almost feel like there is alot of redundancy and would like to use one or the other on my site.

I am leaning toward project module, which is used on drupal.org.

But I have to investigate it's views integration.

also, any idea on how to migrate helpdesk cases to project issues?

Anything else I should be looking for?

Thanks,
Chris

 
 

Drupal is a registered trademark of Dries Buytaert.