I generally prefer to write posts that reflect action rather than intent. However, given my almost total disengagement from the SubSonic community over the past couple months, I thought it best to acknowledge the situation, and talk a little bit about where I'm focusing my efforts in the coming weeks.
In case you missed Rob's post a few weeks back, as of October 20th, I am now a happily married man (and no, he didn't have to fly to Boston to provide emotional support - no cold feet here). It was a wonderful event, and both Tera and I couldn't be happier with how it turned out. I'll post more about it at a later date, but in the interest of keeping this on target, I'll just mention that SubSonic played a minor, but important role in the process, powering a reservation and reporting system I built to manage to attendance and meal choices for our rehearsal dinner. With the wedding planning, and a perfect storm of professional commitments, which included building another new SubSonic powered site and its associated CMS, I checked out for a while. So to those of you wrote me emails but never heard back, my apologies... Life is just now starting to get back to normal...
So What Now?
While Rob fends off the MVC paparazzi, I'm wrapping myself in my wet blanket and returning to the subterranean depths to work on code with considerably less sex appeal, namely Query 2.0. Specifically, the goal here is to carry forward the simplicity and elegance of the existing model, resolve some long-standing provider neutrality issues, and address some important functional limitations, including adding full JOIN support and mechanisms for specifying condition grouping to address operator precedence issues in WHERE clauses. Once complete, I'll be exploring the extension of the model to support strongly-typed query result sets, providing a richer set of options for operations on complex result sets than simply iterating with IDataReader (no promises yet on this one).
Once the new query engine is in good shape, I'll be revisiting the templates with the goal of providing a significantly improved support for user-generated and extended templates. This has always been a goal of ours, but currently extending templates requires both knowledge and modification of the core code base. We'd like to address this and establish a model which truly supports and encourages the modification and extension of the core template library.
Enough talk for now... It's time for me to get back to actually pumping out some code... As always, your feedback is our primary driver, so please weigh-in with your requests for the next generation query and template functionality!