Transfer Updates and News

Things seem to have heated up in the news for Transfer , which has been fantastic.  Huge thanks to Sean Corfield and Matt Woodard for their write-ups on Transfer, they are greatly appreciated.

The most interesting of news is having Sean on board to write a the ORM Adapter for Model-Glue:Unity , so that Transfer can be used in place of Reactor .  This has actually been very interesting, as I have had very little experience with Model Glue, but with some enhancements and changes to Transfer, Sean got it up and running in what seemed to be relative ease.

The reason I haven't been able to do many posts about Transfer as of late, is because I've been attempting to get code out the door in preparation for the 0.6 release, but I figured with all the good press it has been getting lately, I definitely needed to get off my lazy rear end and put hands to the keyboard.

I have to say – there has been a lot of work done on Transfer, and I'm very happy with the new features that are coming out with the next release.

I won't take you through a full change log, but a teaser of some of the major features that are either already implemented in CVS, or will be soon, that you can look forward to:

  • Oracle Support – Got some small bugs working on this right now.
  • Lazy Loading of Composite Objects – About time too!
  • TransferObject 'Decorators' – No more generic 'TransferObjects' if you don't want them.  Decorate generated objects with real CFC's, and extend their functionality as you want.
  • Tell Transfer to not use transaction blocks, during saves and deletes
  • Nullable property values
  • Refresh and/or ignore property values on insert or update
  • Automatic data syncronisation with cached objects
  • Place conditions on composition elements
  • Heaps of bug fixes

The roadmap has also been set for the 1.0 release, seeing Transfer finally move out of its beta state, which I'm finding very exciting.

If you are at all interested in Transfer, I would suggest getting onto the mailing list , and downloading the source from CVS , and having a play with it.

If you have any questions, or problems, please do post them to the mailing list, or hit me via the meebome widget or don't forget there is now a #transfer channel on Dalnet – I'm there almost every day, and am happy to help.  My IRC handle is [Neurotic], so fire me a message if you hop online.

Leave a Comment


  • Dan Wilson | September 13, 2006

    Wow! A lot of features indeed. I am interested in working with the TransferObject ‘Decorators’. I did have a question, when you wrote about placing conditions on composition elements, would you touch on how that could be used?

  • Mark | September 14, 2006


    Good question, but may be tricky to explain…

    The situation we’ve had is that you have object ‘A’, that refers back to children of the same type, that creates a possibly infinite tree of ‘A’ instances.

    Object ‘B’ is composed of object ‘A’, but instead of just getting every object of type A that refers to B (and in this case every A in the tree does), it only wants the top of the tree – i.e. every copy of A with no parent.

    With a condition you can now tell Transfer, in this collection of A objects inside B, only get me the ones with no parent – which gives us the top of the tree.

    The onus is on the developer to maintain the collection condition after it has been retrieved from the database however.

    Did that make sense? It was a little convoluted, but I think you can see the case.