#2 “dorm, the Delphi ORM” bullettin

This is the second post regarding a fast update on the last changes to the dorm project in terms of management and code.

  • Welcome to 2 new contributors: Marco Mottadelli and BraveCobra (this is the full list http://code.google.com/p/delphi-orm/people/list)
  • Added 2 new PersistentStrategy for MSSQLServer based on dbExpress (the 1st use the Embarcadero dbExpress driver, while the 2nd use the DevArt dbExpress driver)
  • Added another PersistentStrategy for MSSQLServer based on ADO (so also Delphi Professional users can use dorm with MSSQLServer)
  • The new mapping strategy is under development. There will be “3 levels” of mapping: Config File, RTTI Attributes and “Conventions Over Configuration” (CoC) (do you wanna check the code in dev branch? Click here)
  • Added more unittests
  • Roadmap updated
  • Introduction to dorm, now is a PDF document
  • The config file has been splitted in “Persistence” and “Mapping” for a more flexible configuration
  • Added packages (Thank you BraveCobra)
  • Added MappingCreator. Now you can create the mapping file using an existent database.
  • IWrapperList (a duck typed list) now is used EVERYWHERE! You can use whatever list from whatever library you want to use. The list must have only a specific methods named as following: Add, Clear, GetElement/GetItem, Count
  • Added FillList methods
There are plenty of new features still to come. Stay tuned!

6 thoughts on “#2 “dorm, the Delphi ORM” bullettin

  1. Maybe I am just not finding but is there any simple example that does not require any of the additional stuff like datasnap or XE2 only features?

    I would actually like to see some simple Northwind kind of example on how to use DORM because at the moment I honestly don’t find the real benefit of using DORM over some hardcoded SQL (especially if you don’t have to support multiple databases) if you have to specify lots of stuff (like external config files). Maybe this is not ready yet, but I actually prefer CoC or RTTI (attributes) in that case.

  2. Maybe I am just not finding but is there any simple example that does not require any of the additional stuff like datasnap or XE2 only features?

    I would actually like to see some simple Northwind kind of example on how to use DORM because at the moment I honestly don’t find the real benefit of using DORM over some hardcoded SQL (especially if you don’t have to support multiple databases) if you have to specify lots of stuff (like external config files). Maybe this is not ready yet, but I actually prefer CoC or RTTI (attributes) in that case.

  3. @Stefan Glienke
    dorm is only for XE2 and XE. There is “ObjectsList” sample that show all the simple features of dorm without using datasnap. XE2 (or XE) is a requirement. dorm use extensively some specific features of the compiler. Delphi 2010 simply is not enough to support some of the more advanced dorm features. I’ve not tried the backport, but in some case, also with XE1 I’m faced to some problems and bugs that in XE2 simply there aren’t.

    With dorm you can generate the configfile directly from the database. Attributes mapping and CoC are on the way.
    The roadmap is here: http://code.google.com/p/delphi-orm/wiki/RoadMap

    bye

  4. @Stefan Glienke
    dorm is only for XE2 and XE. There is “ObjectsList” sample that show all the simple features of dorm without using datasnap. XE2 (or XE) is a requirement. dorm use extensively some specific features of the compiler. Delphi 2010 simply is not enough to support some of the more advanced dorm features. I’ve not tried the backport, but in some case, also with XE1 I’m faced to some problems and bugs that in XE2 simply there aren’t.

    With dorm you can generate the configfile directly from the database. Attributes mapping and CoC are on the way.
    The roadmap is here: http://code.google.com/p/delphi-orm/wiki/RoadMap

    bye

  5. I have seen the ObjectsList sample, but:

    – Isn’t is purpose to show how to work with DORM and not showing FMX and LiveBindings? Imho it’s way to overloaded with other stuff I am not familar with (yet). So I spend more time with figuring out what is LiveBinding stuff and what is DORM stuff.

    – It only works with XE2 (which is not a problem at all but the DORM part itself should not limit it to XE2 – this is only because using FMX and LiveBindings

    – It just does not run out of the box (getting source, compiling, run):

    “Exception EdormException in module ObjectsLists.exe at 00266C09.

    Cannot find logger [dorm.loggers.CodeSite.TdormFileLog].”

  6. I have seen the ObjectsList sample, but:

    – Isn’t is purpose to show how to work with DORM and not showing FMX and LiveBindings? Imho it’s way to overloaded with other stuff I am not familar with (yet). So I spend more time with figuring out what is LiveBinding stuff and what is DORM stuff.

    – It only works with XE2 (which is not a problem at all but the DORM part itself should not limit it to XE2 – this is only because using FMX and LiveBindings

    – It just does not run out of the box (getting source, compiling, run):

    “Exception EdormException in module ObjectsLists.exe at 00266C09.

    Cannot find logger [dorm.loggers.CodeSite.TdormFileLog].”

Comments are closed.