2004-08-06 Darren Duncan <[EMAIL PROTECTED]> --------------------------------------------------
Finally, after 19 months of waiting, since the first notice of this project was uploaded to CPAN (2003-01-05), I am pleased to announce that the first developer release of my Rosetta database portability framework is now availaable.
These following distributions that comprise the framework should appear on your favorite CPAN mirrors within the next few hours or days:
* Locale-KeyedText-0.06.tar.gz (Locale::KeyedText v0.06) * SQL-SyntaxModel-0.37.tar.gz (SQL::SyntaxModel v0.24) * Rosetta-0.32.tar.gz (Rosetta v0.16) * Rosetta-Extensions-0.06.tar.gz (various and sundry)
My CPAN maintainer ID is DUNCAND. (Note that some CPAN testers may give Fails by mistake because they don't install/test dependencies first.) In addition to CPAN, you should also find the modules here: http://darrenduncan.net/d/perl/ .
These distributions are listed in dependency order, with each one being dependant on those above it in the list; at the same time, each distribution is independently useful apart from the framework, and apart from any distributions that appear below it in the list. The first 3 distributions have zero additional dependencies. Rosetta-Extensions has an additional dependency in the DBI module, along with various DBD modules of your choice (but only DBD::SQLite and DBD::MySQL have been tested so far).
I have labelled this collection a "developer release" because, while the included specification documents and code cover a wide and complete-looking range of functionality, only a small fraction of "real world" functionality has so far been tested and known to work, 100% (functional: auto-detecting a list of database instances, opening a database connection, and closing it). Other important "real world" functionality like standard data definition, data manipulation, querying, and schema importing, is "mostly done" but requires some glue code and testing. I expect to have additional developer releases up over the next few weeks that have these finished and tested.
The reason that this is the first official ANNOUNCE email, despite a 19 month period involving 64 uploads to CPAN ("release early and often"), is that today is the first time that the framework *as a whole* delivers some working "real world" functionality. Until now, while component parts have been functional for quite awhile (particularly Locale-KeyedText and SQL-SyntaxModel), you would have needed to write substantial additional code to actually talk to a database; hence I waited.
During the next few weeks, the Rosetta framework should only be relevant to early adopters, who would start writing practical code against it prior to being able to test that code, or likewise figuring it into near future project design plans. Please download and poke at it (the code should be very clean, too). While it is pre-alpha, I would say that the API is fairly stable now; it and the framework's general structure should not be changing greatly, except in response to feedback. Mostly whats left is some implementation details. Now is as good a time as any for potential adopters to start looking closely at what it does, how it works, and how or when to use it. This especially includes those people who maintain the various "object persistence" modules who yearn to support more than one or two databases. To a lesser extent, it also includes those that make DBD modules, since there are potentially some things you can do that would make my job easier.
Note that all of my modules are pure Perl 5, but they were also designed to be easy to convert into either Parrot assembly / IMC or plain C at some time in the future (SQL::SyntaxModel in particular). I fully plan to make a Parrot version, in fact, which all Parrot-hosted languages can exploit, and do it early.
I welcome any feedback, suggestions, or feature requests that you have (including any about the licences), both good or bad, at [EMAIL PROTECTED] But keep in mind that I already have a list of what still needs doing, so you don't have to point out the obvious gaps.
Thank you and have a good day. -- Darren Duncan
P.S. Note that 'Rosetta' (cdpOg) is already registered with the Perl 5 Module List since 2003-01-21. I also plan to register 'Locale::KeyedText' (cdpOl) and 'SQL::SyntaxModel' (cdpOg) there soon, following "discussion". I do not plan to register any other associated modules in the near term.
P.P.S. Any further ANNOUNCE emails will have the more standard appearance of just listing deltas from previous releases. This one couldn't, obviously.