Transfer 101
no text exists for this slide
no notes exist for this slide
About Me
Programmer
Programmer
ColdFusion / Flex / AS3 / HTML / JS / CSS / Groovy & Grails
Cleveland ColdFusion User Group Co Manager
Active ColdFusion Community Member (Love Teaching)
Open Source Developer
CFMU (ColdFusion Multi Uploader)
RocketFM (ColdFusion + Flex File Manager)
cfPayflowPro (Payflow Pro API for ColdFusion)
cfPanel creator along with Todd Sharp
Cleveland OH / Sports Fan / Running / Weight Lifting / Poker
STERIS â Web Developer (www.steris.com)
Blogger â www.danvega.org
no notes exist for this slide
Transfer 101 Agenda
What is an ORM and why does it exist
What is an ORM and why does it exist
What is Transfer
Installing Transfer
CRUD
e-commerce application demo
Relationships
Decorators
Q&A â Feel free to ask questions whenever
no notes exist for this slide
What Problems does an ORM solve
When creating systems that are comprised of objects there are many repetitive tasks that have to be done on a per object basis
When creating systems that are comprised of objects there are many repetitive tasks that have to be done on a per object basis
Value Objects (beans) getters / setters
Writing CRUD (Create/Read/Update/Delete)
Handling Relationships
Populating objects with database queries
Populating SQL with data from your objects
no notes exist for this slide
What is Transfer
An ORM (Object Relational Mapping) Library for ColdFusion
An ORM (Object Relational Mapping) Library for ColdFusion
Transfer ORM's main focus is to automate the repetitive tasks of creating the SQL and custom CFCs that are often required when developing a ColdFusion application.
Through a central configuration file Transfer knows how to generate objects, and how to manage them and their relationships back to the database
Created by Mark Mandel
no notes exist for this slide
What it is not
Hibernate / ColdFusion 9 ORM
Hibernate / ColdFusion 9 ORM
The end of SQL
A code generator
ORM Frameworks
Reactor
CFWheels
no notes exist for this slide
Supported Systems
CFML Engines
CFML Engines
Adobe ColdFusion MX 7+
Railo 3.0+
OpenBD 1.0+ ?
Database Servers (What no Access?)
MS SQL Server 2000+
MySQL 4.1+
PostGres 8.1+
Oracle 9i+
no notes exist for this slide
Installing Transfer
Download the zip
Download the zip
http://transfer-orm.com/
http://transfer.riaforge.org
Setup a mapping
Per application mappings in ColdFusion 8 rock!
Drop it in your web root
Configuration
Datasource.xml / Transfer.xml / definitions
Create Transfer factory & Transfer Instance
no notes exist for this slide
Installation Demo
no text exists for this slide
no notes exist for this slide
CRUD Create
transfer.new(âobjectâ)
transfer.new(âobjectâ)
Returns a transfer.com.transferObject
getters / setters for properties
meta methods
Object helper methods
Events
debug getPropertyMemento() (struct)
demo
no notes exist for this slide
CRUD Save
transfer.save(object)
transfer.save(object)
Update existing
Create new
demo
no notes exist for this slide
CRUD Read
transfer.get(âobjectâ,id)
transfer.get(âobjectâ,id)
transfer.readByProperty(âobjectâ,prop,val)
transfer.readByPropertyMap(âobjectâ,map)
transfer.readByQuery(âobjectâ,query)
no notes exist for this slide
CRUD Delete
transfer.delete(object)
transfer.delete(object)
transfer.cascadeDelete(object)
demo
no notes exist for this slide
Retrieving Query Lists
Transfer.list(class, [orderProperty], [orderASC], [useAliases])
Transfer.list(class, [orderProperty], [orderASC], [useAliases])
Transfer.listByProperty(class, property, value, [orderProperty], [orderASC], [useAliases])
Transfer.listByPropertyMap(class, propertyMap, [orderProperty], [orderASC], [useAliases])
Transfer.listByQuery(query)
no notes exist for this slide
Demo
no text exists for this slide
no notes exist for this slide
Managing Relationships amp Compositions
Relationship types
Relationship types
One to many
Many to One
Many to Many
Collections
Struct
Array
no notes exist for this slide
Slide 17
no text exists for this slide
no notes exist for this slide
Transfer Decorators
A decorator is used when you wish to write your own CFC to be used to represent data, in place of the Transfer generated Object.
A decorator is used when you wish to write your own CFC to be used to represent data, in place of the Transfer generated Object.
Wraps and extends the transfer object
Must extend transfer.com.TransferDecorator
Decorator attribute on the object element in the transfer.xml configuration
no notes exist for this slide
Slide 19
no text exists for this slide
no notes exist for this slide
Transfer 201
Decorators
Decorators
Cache
Object Proxies
Events
Transfer & Flex
Validation
ValidateThis - http://validatethis.riaforge.org
Frameworks based on transfer
Metro - http://metro.riaforge.org/
no notes exist for this slide
Resources
http://www.transfer-orm.com/
http://www.transfer-orm.com/
http://docs.transfer-orm.com/
http://groups.google.com/group/transfer-dev
http://www.compoundtheory.com/
Email â danvega@gmail.com
Blog â www.danvega.org
Twitter - @cfaddict
no notes exist for this slide
Slide 22
no text exists for this slide
no notes exist for this slide
Great slides!!!
Posted By: Toronto Printing On: 04/26/10 11:30 AM