It has been a whirlwind few weeks. Just as I was relaxing into a beautiful daze of complacency a new customer dragged me back out screaming.
We now have a new Tornado customer who has engaged us to build a web deployment system to run on top of their Tivoli installation. Basic principle is helpdesk and workstation deployment people can go to a secure internal web page and and through a click or two send a software package to be deployed on the workstation. Precisely the work Tornado was designed for.
Of course there were a few hurdles to leap. First, this is our first customer using Oracle, so some tweaks had to be made to the webdesign app (table building logic, eg CREATE TABLE ...) and to the Tornado core, specifically the HTMLView class.
The HTMLView class is used inside Tornado to render lists of records from a database (and used behind the <P@View @P> tag). Basically you throw an SQL query at it and it will render in full html glory a representation of that recordset, which you can also scroll through using next and previous. The really bad news is each database vendor implements the LIMIT clause in a different way - or not at all. Oracle's implementation is questionable (and don't even start me on Microsoft SQL Server!). The real benefit of HTMLView is that you just say "SELECT * FROM ATABLE ORDER BY Name" and the HTMLView class takes care of all the hard work. Using LIMIT means you only have to deal with a small subset of all the records in the table. Short answer is HTMLView got a good reworking to be able to deal with Oracle. Whew.