The idea behind all this is such that I can do more for Transfer than I am currently doing, both in terms of being able to write code, as well giving me more freedom to present, and travel to conferences to physically talk to people.
Not only will Compound Theory be providing a series of services based on Transfer ORM, it will also be offering project based consulting, training, and mentoring.
To that effect, if you are interested in Compound Theory's services, please feel free to contact me directly.
On the Transfer front, understandably, things are moving forward pretty fast.
Right now, I'm taking Expressions of Interest in the following areas:
A subscription and/or per incident model for support as pertaining to Transfer installation, use and/or any overall issues.
A Transfer curriculum that will come in a series of short courses, as well as single/multiple day training programs, covering both on-line training, and in-person training.
Transfer Developer Certification
Much like ColdFusion Developer Certification,a Developer certification give you a listing on the new Transfer site as certified, as well as a spiffy certificate.
Transfer Training Certification
Again, much like ColdFusion Training Certification, this would give you a listing on the Certified Trainers page on the Transfer ORM site, as well as access to the training materials.
If you are interested in any of the above programs and/or services, please send me an email either on my contact form, or via the Transfer Google Group. Once we have launched these programs, I will be in contact to let you know of the specific details.
If anyone wants any more information on Professional Open Source Software, 'The Beekeeper' article by Pentaho Commercial Open Source Software is one the best descriptions of POSS I have ever read.
So with all that, what are the specific plans for Transfer in the near future? Lots of things!
First of all, the SVN version of Transfer is currently in feature freeze. I'm only fixing bug fixes at this stage, to prepare for a Release Candidate of 0.7.
This release candidate will coincide with the new Wiki that will power and house the extended documentation, both for the new features of Transfer, and expansion on current feature sets. This Wiki is currently under development, and you should be seeing something on it soon.
The Wiki will be a new part of the new Transfer site that I have been promising for a long time. The design for this has been done, and it looks fantastic. This will consolidate things like bug tracking, project and knowledge management into a single space, which will be very useful in the long run.
Once that is all up and running, we're going to be moving as quick as we can towards a Transfer 1.0!
I have revised the road map, and pushed out several pieces to be implemented post 1.0:
Included in the 1.0 Roadmap
Binary Data Support
Currently Transfer doesn't support being able to insert or retrieve binary data from the database.
Programmatic setting of the data source details through the Configuration Bean
This will give a developer the ability to programmatically set the details of the data source, which is particularly useful when the datasource name is dynamically generated.
Generated methods all have hints on them, for TransferDoc and/or if displaying the object meta data in any way
Currently some, but not all methods that are generated have a populated hint="" on their <cffunction> definitions. This will be expanded to include all <cffunctions>, to enhance generated documentation
Ensure hashing is unique for all changes to the transfer.xml, by
ensuring that changes to any parents, flow through to generating new
definitions for children.
There are currently a few rare occurrences where Transfer .transfer files won't be regenerated when a change is made to the XML file. These rarities will be fixed.
Finalise CLOB support across all DBs.
CLOB support has a few issues across some DBs, specifically Oracle. This will be resolved so that it is no longer an issue.
Cascading insert, updates, delete and saves
This is what it says it is.
Programmatic reloading of the XML file.
The ability to be able to programatically reload the XML configuration file from within Transfer, to aid in development.
Pushed out to post 1.0 release
I have some more flexible ideas on how to go about this, that will provide soft delete functionality, as well as some other far more extensible possibilities.
TQL on conditions
This will allow you to use TQL on <condition> declarations, however, I'm not sure if <conditions> are necessary any more, as it may be superseded by some other ideas I have
Transaction based caching that discards objects inside a transaction if the transaction fails.
The way I wanted to implement this was not actually possible with ColdFusion, but I have some other ideas on how to facilitate at least something similar
From here there is also a strong plan to be releasing on a regular and frequent schedule. I am fully aware of the fact that it's almost been a year since the last release, but for those of you who haven't followed the SVN version of Transfer, will be pleasantly surprised at how much we've managed to fit into this new release.
The goal is to have the 1.0 of Transfer at least at Release Candidate stage by cf.Objective() this year. Even though it's going to be a lot of hard work, I think that is is truly possible.
All in all, this is a pretty exciting time for Transfer, so I want to thank all those who have participated up until now, we've developed a great community, and 2008 is looking to be a very fun, and exciting year for all involved.