Recently I have been building a ticketing system in Drupal, which allows logged in users to create support tickets and administrators to comment on them, change them between statuses and close them. All this is mainly done by controlling a content type, called tickets, which only administrators and the creators can see alongside enabling comments and firing a few Rules off to control notifying people of changes and changing between statuses.

All of this appears to be working very nicely at the moment (although I have to confess, I don’t administer it myself so all I can say honestly is that in testing it was flawless ;-) ). However, one of the issues that was raised by using a ticketing system was that it had to synchronise with the pre-exiting ticketing system which already had ticket numbers upon 3500+. Using the Serial (http://drupal.org/project/serial) module I was able to give each ticket a auto incremented number, however, this started from 1 and didn’t much like the idea that I was altering the number in the database (which I would not explicitly recommend). However, the serial module does use database increments to work out what the next ticket number is, so to bring the ticketing numbers inline with the existing data i needed to run the following:

ALTER TABLE serial_[node type]_[field name] AUTO_INCREMENT = [you_new_id_number]

This alters the serial table to make the next number in the series the one that you wish it to be. Brilliant! I may well be starting a few little features which have in some nice little snippets (such as the ticketing system and a quotation system based on Drupal Commerce) however, that will be some time in the future. Get in touch if you would like some help/pointers on establishing it.

Happy Drupalling!