DataMgr 2.0 Release Candidate

DataMgr 2.0 has reached Release Candidate stage. It is now feature complete. The best new feature? Documentation ! I now have a full 15 pages of documentation available.

The documentation is of a first-draft quality, but it is still better than what I have had already. It should provide at least an overview of all of the major (and most of the minor) functionality of DataMgr.

Other new features include:

  • The ability to only return structure data for only one table from getTableData()
  • Allow saving of concat Relation Field value (where list length matches)
  • A new choice for insertRecord: "OnExists" argument: "save" will update for primary key match and insert in all other cases
  • Some performance improvements
  • A small bug fix on insertRecord()

If you are unfamiliar with DataMgr, it is database abstraction tool. You might think of it in the save class of tools as ORM or a SQL Generator, but it is different from each of them.

DataMgr doesn't enforce an ORM style of interaction (though it could be used as the data-access layer for one). It also doesn't generate any code. This allows more dynamic and flexible interactions than are generally provided by generated SQL.

DataMgr does provide CRUD (Create Read Update Delete) functionality. Just because you use DataMgr for some of those interactions, however, does not mean that you need to use it for all of them. I generally use DataMgr for my insert/update/delete actions, for example, but I frequenty handle my select queries outside of DataMgr (though much less frequently as of 2.0).

DataMgr also simplifies a number of other common interactions that I have not seen other similar tools address (and certainly not with the same power and simplicity). For example, it simplifies setting sort order values and handling many-to-many relationships.

The biggest advantages for DataMgr come from version 2.0, where it adds features that I haven't seen elsewhere. For example, a simulated database which can allow you to switch between a simulated database (which provides QuerySim like functionality with the randomly generated data) and a real database by merely switching which DataMgr component you use - no need to change any of the code that uses DataMgr. This is ideal for prototyping an application.

The Relation Fields feature in DataMgr allows you to treat different types of data as though they existed as field in your database without actually creating that field in your database (a "FullName" field that uses FirstName and LastName fields for example or a "Category" field that gets its data from a field in a related database).

It also has several small touches that are generally helpful. It reports which field has too much data, if one does (to avoid the unhelpful "data truncation" errors). It also replaces the special characters for quotes and dashes that MS Word uses with their ASCII equivalents.

The documentation covers these features and more in detail, but hopefully this provides a general overview of what DataMgr does. It currently runs on MS Access, MySQL, MS SQL Server, and PostGreSQL with the exact same API. It is also easy to add support for another database.

If you would like to see DataMgr in use, take a look at CodeCop which serves as both a robust code checking application and an example DataMgr application. You can also view the demonstration site to see DataMgr in use. 

DataMgr is free and open-source.

Comments (Comment Moderation is enabled. Your comment will not appear until approved.)
BlogCFC was created by Raymond Camden. This blog is running version 5.8.001.