This project is not covered by Drupal’s security advisory policy.

Allow your client to interact with Case Tracker from the comfort of her own site.

The concept is probably still relevant, but I stopped using Casetracker long ago. Please contact me if you are interested in continuing the project (or want the namespace).

There are two components to this module:

Case Tracker Services

This module provides generic services with the aid of the Services module. The services are 1. Return a list of cases, 2. Return information about a case, 3. Return an array of codes (status, priority, etc), 4. Add a new case and 5. Add a comment to a case. (Just added project listing.)

The module assumes that the Services module has API keys turned on and you can than associate one or more projects with each key - this is so that the caller can be verified and restricted to certain projects.

Case Tracker Client

The Client module is installed on your client's site. There are no module prerequisites on the client site. On the Case Tracker server you need Case Tracker, Services, Case Tracker Services and XMLRPC Server (part of Services). This module provides a minimal UI for your customer to list cases, create new cases and comment on cases.

Why not casetracker_xmlrpc.module

There is definitely room to do Case Tracker services thoroughly and sweet. I believe all services in Drupal 5 should be delivered via Services module so that other clients can access the services (say Flex applications). Perhaps more importantly, this module is a working solution for both client and server that can be a very useful learning tool for anyone trying to get their head around services.

Gotchas

  • This module may not work with bizarre configurations of fields (node_save(), and comment_save() can be fickle). This should be ok as long as you don't have "required" fields that casetracker_services won't know about.
  • You may find some links from the remote site are wrong on the client site. So the client user might click on a link bringing them to your support site - which is not by design. For the most part, links are working and keep the user on the client site.
  • The client UI is not feature rich, it gets the job done. Don't expect to be able to do everything from the client interface.

Installation

On the Case Tracker site:

  • Install Services and its XMLRPC Server
  • Install Case Tracker Server (from this module)
  • Allow anonymous to "use services". This is a problem I can't seem to get around, and so rather than authenticating, all checks are done against key/project mappings.
  • Go to admin/build/services and you'll see the casetracker services
  • Go to the keys page admin/build/services/key and create a key for your client, eg "http://myclientsite.com"
  • Go to the settings page admin/build/services/settings and turn on "Use keys" and turn off everything else
  • Go to the Case Tracker Services settings page admin/settings/casetracker_services and associate one or more projects with each client url

(Note, you might like to create some cases for that project so you have something to look at on the client site.)

On the Client site:

  • Install Case Tracker Client from this project
  • Go to settings admin/settings/casetracker_client and put the url to the Case Tracker Server (https if possible) and the API key that you created earlier with the Services module. Refresh this settings page and click on Test Connection to see if your site has been able to connect to the report site.

Now you should have a support overview on admin/casetracker_client. Give it a try (create and update some cases) and report back your success in the issues queue.

Collaboration

I'm open to people wanting to do large re-writes of the existing services in this module, they could be made more robust. Also looking to add some hidden data to help with support. Otherwise it's staying fairly simple.

Project Information

Downloads