1 / 22

Transfer 101

Transfer 101. Dan Vega. About Me. 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)

elysia
Download Presentation

Transfer 101

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Transfer 101 Dan Vega

  2. About Me • 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

  3. Transfer 101 Agenda • 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

  4. 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 • 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

  5. What is Transfer • 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

  6. What it is not • Hibernate / ColdFusion 9 ORM • The end of SQL • A code generator • ORM Frameworks • Reactor • CFWheels

  7. Supported Systems • 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+

  8. Installing Transfer • 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

  9. Installation Demo

  10. CRUD - Create • transfer.new(“object”) • Returns a transfer.com.transferObject • getters / setters for properties • meta methods • Object helper methods • Events • debug getPropertyMemento() (struct) • demo

  11. CRUD - Save • transfer.save(object) • Update existing • Create new • demo

  12. CRUD - Read • transfer.get(“object”,id) • transfer.readByProperty(“object”,prop,val) • transfer.readByPropertyMap(“object’,map) • transfer.readByQuery(“object”,query)

  13. CRUD - Delete • transfer.delete(object) • transfer.cascadeDelete(object) • demo

  14. Retrieving Query Lists • Transfer.list(class, [orderProperty], [orderASC], [useAliases]) • Transfer.listByProperty(class, property, value, [orderProperty], [orderASC], [useAliases]) • Transfer.listByPropertyMap(class, propertyMap, [orderProperty], [orderASC], [useAliases]) • Transfer.listByQuery(query)

  15. Demo

  16. Managing Relationships & Compositions • Relationship types • One to many • Many to One • Many to Many • Collections • Struct • Array

  17. Demo

  18. 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. • Wraps and extends the transfer object • Must extend transfer.com.TransferDecorator • Decorator attribute on the object element in the transfer.xml configuration

  19. Demo

  20. Transfer 201 • Decorators • Cache • Object Proxies • Events • Transfer & Flex • Validation • ValidateThis - http://validatethis.riaforge.org • Frameworks based on transfer • Metro - http://metro.riaforge.org/

  21. Resources • 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

  22. Q&A

More Related