It's been a tough week at work.
Over the past 6 months or so I have been rewriting a new quotes system from scratch to replace the antiquated Foxpro based system. It has been in a usable state (IMO) for the past 3 months but getting this new system adopted has been like 'walking through treacle' to use one of our director's favourite sayings.
This week I have had a number of opportunities to demonstrate just how superior my new system is. One such event involved the biggest quote the company has ever seen (by several orders of magnitude) that had to be ready first thing Thursday morning. It was entered into the old system & consisted of over 14,000 lines each with ~200kb of data & a .bmp image ranging from 580kb to 2mb in size. There wasn't a computer in the building with anywhere near enough ram to print the bloody thing out. It was very late in the day on Wednesday when one of the estimators came up to tell me about this & 3 different directors & the sales rep who needed it all took turns to badger me about when it would be ready, "I don't know, how long are you going to be in my way?" was what I wanted to reply.
I imported the quote into my new system & quickly wrote some code which automated splitting the quote up into chunks to be sent to the printer one by one. At around 6.30 the MD came in to inform me that he had left a message with our consultant informing him to be in at 7.30am the next day to help me out. While feeding the printer with paper I tried to work out how that was going to help me. At 7.30pm I made sure the printer was brimming with paper & had to leave because the cleaning staff had finished & wanted to lock up.
The next day the sales rep & I stood chatting in the car park from 6.30am & waited until 7am when the key holder turned up to unlock the building. As you can imagine we were mightily chuffed.
Our company has recently switched from Xerox to Konica printers, & these new machines have not been seriously tested especially on a high volume run so I was fully expecting to find the machine with its insides clogged up, but was extremely pleased to find that everything had gone through without a problem. There is no way that the Xerox machines we used to have would have been able to print that many pages (>1600) without a fault. Thank you Konica.
At 7.30am our consultant turned up, "Sorted?"
"Yup."
Later the consultant received a phone call from the MD & I only heard one side of it but it was basically, "nope, Jon was here before I was & it was all sorted....no, Jon fixed that...yes, Jon did that too....no we can now split up large quotes into smaller chunks, Jon has written a routine to automate that so it won't happen again..." which was really nice!
We will now be completely moving over to my new quotes system on Monday.
The building industry is not known for its cutting edge use of IT so most of our customers still want printed hard copies of quotes & my new system uses XML+XSL files for this. Thanks to Opera's support of XSL, XSLT, XPath, XYZ etc. & most importantly the css property 'page-break-inside: avoid' it has been chosen (by me

) to be our company's browser of choice.
Although if the devs could take a look at bug-255599 I would appreciate it!
In recent weeks there have been meetings upon meetings about the layout of quotes. All the estimators, sales & contracts managers all had different opinions on what should be included & how it should look. Then the Sales director comes along & overules the lot of them... Seemingly every piece of information, table, sentence & picture has been moved, altered, restyled, moved again, removed, added back or resized at some point. Then changed back again. & again.
To keep pace with all this using the old Fox-based reports (shudder) or the newer TQuickReport component for Delphi or Crystal reports would've taken me hours upon hours to do. But being in the familiar environment of Opera & using my basic knowledge of XML, XSL, XSLT, XPath & CSS development time for changes both major & minor has been cut down to minutes. During a couple of meetings where I had the program running on a projector screen I was even fixing layout issues during the meeting, it is that easy to do! Thank you Opera.
My new system also allows the estimator to design custom georgian bar & lead layouts & this data is saved in XML format. I am using XSLT to transform this XML data into SVG images & it is hoped that our glass supplier will come on board soon to allow us to order these layouts via XML rather than faxing over CAD drawings.
What gets me though is our consultant person is absolutely agog at the results I've got out of XML, as has one of our glass supplier's IT geeks. But all I've been doing is: ctrl+t, g 'some xsl related search term', click a link, read, copy & paste code, edit it a bit, save, refresh.
Maybe it's just the industry I'm in, but why hasn't XML been more widely adopted?