DataMgr 2.5 Beta 2

What a fun weekend! We got to celebrate my brother-in-law's birthday, I took my girl to a Christmas party, my kids turned 23 months old, and (more relevant to this blog) I finished the second beta of DataMgr 2.5.

(What is DataMgr?)

So, what is new in DataMgr 2.5 Beta 2 (since Beta 1)?

  • Optional "XmlData" argument to "init" method (calls "loadXml" automatically)
  • Filters (and named filters) can now accept CF-style operators (like "GTE" for ">=") as well as SQL-style operators.
  • Optional "truncate" argument to automatically truncate data to fit in database while saving data.
  • Optional "fieldlist" argument to limit the data that can be changed while saving data.
  • New methods to return SQL used internally: getSelectSQL, getFromSQL, getWhereSQL. This is very useful with CF_DMQuery.
  • New "applyListRelations" method (take tablename,query) for post-calculation of list relations for getRecords() - also useful with CF_DMQuery
  • For tables with a simple (single-field) primary keys, the ability to pass a single value into the "data" argument for getRecords() instead of a structure of values.
  • New "isDeletable" calculated field available to "getRecords" determines if each record can be deleted based on "onDelete" property of relation fields.
  • Verifications on record deletions now check deletes that DataMgr would cascade prior to deleting record.
  • New "ftable" attribute (this deserves its own blog entry).
  • Some small MS SQL specific improvements
  • A few very minor bug fixes

Feel free to download DataMgr 2.5 Beta 2 (zip) or use the repository for the Bleeding Edge Release. For the latest full release, use the DataMgr RIAForge page. DataMgr is open source and free for any use.

Manager.cfc and Elasticity

Whenever I see any example saying "See how easy this is!?", I inevitably think "What happens when my needs differs a bit from the expected?". My worry is that I could start with a situation for which the tool is a good match and then things change a bit. Do I have to abandon the tool altogether in those cases? Basically, I always want to know how much elasticity any solution has.

More often than not, it seems, systems that are extremely efficient have very little elasticity (think of airline schedules where bad weather anywhere effects flight patterns everywhere). I think that the past several blog entries on Super-Easy CRUD/File Management have demonstrated that the com.sebtools package provides great efficiency for basic CRUD and file tasks. What it hasn't demonstrated (yet) is how elastic it is when the problem is more complicated than what com.sebtools is built to handle.


Introducing CF_DMQuery

One of my favorite things about ColdFusion compared to other languages is the CFQUERY tag. It is just a real thing of beauty. I rarely use it any more, however, because I use DataMgr for my every day CRUD work (actually I use Manager.cfc, but that is another story). I rarely have to write any SQL code any more.

Rarely isn't the same as never, though. I have actually found a spectrum of cases for which I need to write custom SQL. First is the case where I need something more complicated than what DataMgr is built to handle and I don't need any of the functionality that DataMgr provides. In this case, I can easily move to using CFQUERY and I do so happily.


BlogCFC was created by Raymond Camden. This blog is running version 5.8.001.