From the end of February 2008, Transfer will be become Professional Open Source Software. This means that Compound Theory will start selling services that are based around Transfer, while still retaining its free, Open Source licence.
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.
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
like ColdFusion Developer Certification,a Developer certification give
you a listing on the new Transfer site as certified, as well as a
Transfer Training Certification
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.
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
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
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.