Being an ISO 9001 certified company we have all sorts of graphs and measurements tied into our company/quality objectives which we look at monthly. But I was looking for something else: I needed to get a feel for the daily activity through the company – what was happening, what jobs were logged?
We have a home grown job/incident logging system that works, for the most part, quite well. It is integrated with job severity, escalations and all the routing/workflow involved. The system was written on top of an Oracle database, making the information easy to mine.
Kinds of information
Initially I just wanted to know which jobs were logged for which teams. This was followed shortly by which jobs were closed, when consultants were scheduled to see clients, time logged by different people – that kind of information. But how?
How to get the information
I thought of different ways in which to get this information. I looked at triggers on the database, but that seemed too cumbersome and difficult to manage. I needed an easy way to be able to decide for myself what I wanted to see without changing code – I needed this for anyone else in the company that needed information.
Then it hit me. Use something as simple as RSS feeds. I checked out the RSS specification to get a handle on the format required. But I still needed a simple mechanism of getting data out of the system without having to rewrite an engine for each one. Luckily for me, Oracle came to the rescue with some cool routines.
Having decided on RSS feeds, I realized that I would have to use XML as well – which meant XSL. I would write a new feed in SQL, send the statement to the engine. The engine would execute the statement, spitting out XML which was transformed into RSS format using an XSL stylesheet. This was then sent back to the RSS reader.
How are our feeds published?
The last step in the process is keeping a list of available feeds for everyone to see. For this I used our Wiki, listing each feed and its parameters.
Staff can now choose which feed to follow using their email client without any extra coding required on my side. When a new feed is required, it is simply a matter of coding the SQL statement and making it available.
RSS Specification: http://www.rss-specification.com/rss-specifications.htm
So, what do you think about this method? What does your company use?