Video Screencast Help
Developers Community Blog

Helpdesk + Blackberry

Created: 30 Nov 2010 • Updated: 30 Nov 2010
glombus's picture
0 0 Votes
Login to vote

Apologies if this is repetitive and everyone in Altiris land but me knows about this, but I recently dove head first into Mobile Application Development.  My most recent project was all about giving our user base a nice and simple way to submit tickets to Helpdesk 6 from their Blackberries.

I have a lot of code that I'd be happy to upload, but I figured I'd post the general ideas and see if anyone's actually interested.  These methods have a trade off for speed and usability.  What I'm discussing below are the two main methodologies I found for submitting an incident (ticket) to the Helpdesk.  I also attached some screenshots of the UI I made, which is designed to be quick and use plain English with selectable lists and other input devices to make it easier for them to fill out information.

  • Send an email from the device - By signing your application with keys from RIM you have access to a number of protected APIs in RIM's toolbox.  For this example, we're primarily concerned with the mail library.  We can create and send a mail message in only a few lines.  All you would have to do otherwise is prompt the user for input, append it to the body of the message, and send.  The big downfall here is not having confirmation sent to the user that the Incident was created, but we could get around that by having some kind of rule running on the Helpdesk to automatically reply to the user once the ticket is submitted.  Also, the Helpdesk should automatically pick up the user contact_id based on the email address from which the message was sent.  I think this is an extremley fast and easy way to give a user a clean mobile entrypoint into the Helpdesk 

 Here's the most important snippet of the messaging code.  Appending the {Helpdeskvalues} so we automatically set category, priority, and whatever else you'd like to set in the application.  This helps us categorize and sort tickets before it even hits the HD.

msg.setSubject("Test - assign to some guy if this enters Level 1");

String content = "assign-to-12324\n"; //incident rule to assign to me automatically

content += "{HelpdeskData}\n" +

//add values here based on user input, or static values you'd like to enforce

"{HelpdeskValue} workitem_category_tree_value = SOME TEST CATEGORY{/HelpdeskValue}\n" +

"{/HelpdeskData}\n";

msg.setContent(content);

http://supportforums.blackberry.com/t5/Java-Development/How-to-mail/m-p/613074

  • Create a Proxy API - The Helpdesk API is pretty limited when it comes to creating an incident.  All you can enter are a title and comment.  This might do for some, but not for my organization where we require the users to choose some sort of category for their tickets or else our reporting is thrown off on thousands of "choose a category" categories and it's more difficult to help them.  I was able to get away with not enabling/configuring Windows authentication on the BES by setting up my own WebService written in C# using anonymous authentication.  The trick for me was to use the protected email library from RIM's API to pull the device email address, and then send that along with the category, subject, and whatever other information I prompt my user to enter into my proxy web service.  Then, I turn that into one long URL with all of the data that I want in a GET format.  My Web Service eventually invokes the URL on the Helpdesk to create the incident, but my service is also a web client.  It uses the email address sent to it to lookup the proper contact_id from the existing ContactManagement service in the HD SDK, and then using a service account with rights on the domain/Helpdesk my Web Service can call that URL with all the proper information and without altering any permissions on the existing Helpdesk.  

It's a little hokey, but after I parse out the title from the HTML I can get a ticket number to send back to the blackberry so the user gets a nice "Ticket # xxxxxx has been created" message.  This is much slower and more expensive than sending an email, and I'm not sure it's worth it just to give the user some confirmation, but it's at least a nice exercise in BB application development using a SOAP library like ksoap2 and seeing how easily you can make a mobile UI for submitting tickets to your Helpdesk.  It also opens up other venues like reading in up-to-date values for category options and etc from the custom API so the application never or rarely has to be re-pushed to the BB.