PTom Logo

Torpor 1.0

As of this morning, after extensive testing and its first production beta deployment (which did result in a few minor bug fixes), I am pleased to announce that Torpor has reached release 1.0 (slightly delayed to allow for other DataStore adapters and management of pigfluenza in the home, but close enough for open source).

Things to check out:

On the whole, everything works.  Case sensitive collations under SQLite and SQL Server have issues, but mostly due to he limitations of those particular databases, and SQL Server cannot enforce DISTINCT selection when returned records include TEXT/CLOB columns (so DISTINCT is temporarily disabled in SQL Server – I’ve chosen to go live with the bug).  All told, these are fairly minor issues when everything else works so well.  All major features work in:

  • MySQL
  • Oracle
  • SQLite
  • SQL Server

An identical database has been ported to each of these database engines in turn, and the same code and same configuration XML (with minor adjustments to specify the new DataStore adapter) pass, exercise the full suite, on each.  Additionally, the provided Memcache adapter allows for distributed read/write-through caching for horizontal scalability at the app layer.

All DataStore and Cache adapters use generic interfaces, and the provided code serves well as examples of working implementations.  It should be possible with minimal effort to add additional DataStore components (even non-RDBMS adapters for XML, SOAP, etc.) or Cache’s.

The 1.1 road map is being assembled, to include better performance through leveraging bind variables in those adapters which support it, Postgres (which will almost certainly come as an earlier component release), inferred joins and a join hint syntax, and custom reports / aggregate functions, etc.  Have a suggestion?  Create an issue in the project home page (same goes for bugs).

While it sounds like there’s a lot to do, this is still an incredibly strong 1.0 offering especially in the PHP world (did I mention it passes E_ALL|E_STRICT error reporting?), and is being made use of professionally at the day job with excellent results.

The one lament, and this will be remedied over time, is the lack of end user documentation.  I’ve settled on the use of TiddlyWiki as a convenient mechanism for creating, storing, and distributing the documentation with the project, and will begin adding this as time permits (though it’s now in competition with other projects, so not likely to move at the same speed with which Torpor has also matured).

For now: download, use, enjoy!

« »

Leave a Reply

Your email address will not be published.