Thanks Mike for all of the outstanding work that you have done. I look
forward to meeting you at WWDC.
Garry
-----Original Message-----
From: Mike Schrag [mailto:mschra..dimension.com]
Sent: Saturday, August 05, 2006 9:25 PM
To: woproject-de..bjectstyle.org
Subject: Entity Modeler
I'm calling the latest and greatest Entity Modeler "1.0 beta". It
appears to be working on all the models I've been running it with.
Here's the rundown on what it can do:
* Read/Write EOModel bundles including EOModelGroup, EOModel, EOEntity,
EOAttribute, EORelationship, EOJoin, EOFetchSpecification, EOQualifier,
EOSortOrdering, EOStoredProcedure, EOArgument (i.e.
EOAttribute on a stored procedure), and User Info
* Editors for all of the above, a new EOModeler Perspective, and custom
Outline support for all the EOModel elements
* Cut/Copy/Paste support for all of the above
* NSBundle-style discovery of EOModels that are "reachable" by your
project for autoloading of EOModelGroups
* Flattened relationships and attributes + UI (which includes a KVC
implementation)
* Prototypes, including support for writing models with missing/
unresolved prototypes without destroying your model (and column name
doesn't disappear when you change an attribute's prototype)
* Model verifier that finds possible model errors (runs automatically at
startup and save, but can be run on-demand by an action as well)
* Inheritance "helper" that supports Horizontal, Vertical, and Single-
Table
* Changing the database in your connection dictionary's URL invalidates
and reloads prototypes on-the-fly so that datatypes are properly
reflected for the new prototypes
* .eomodelgroup files (+ creation wizard) for overriding NSBundle model
resolution (for defining custom model groups)
* "Create EOGenerator File" action on .eomodeld that autogenerates an
EOGenerator .eogen file by looking up all referenced EOModels
* Auto-create .eogen files in EOModel creation wizard
* Automatic execution of EOGenerator when models change
* Diff-stable .eomodeld files by sorting appropriate plist and .eomodeld
dictionaries and sets
* SQL generation and execution that runs using your runtime plugins
* Database Configurations (and UI to create them) on your EOModel.
Allows the definition of multiple connection dictionaries (along with
custom selection of the prototype to use). SQL Generation dialog allows
you to choose which database config to generate with.
* Per-project "delegates" for SQL generation -- If you declare a class
named "org.objectstyle.wolips.eomodeler.EOModelProcessor" in your
project with the API:
public void processModel(EOModel _model, NSMutableArray
_entities, NSMutableDictionary _flags);
public void processSQL(StringBuffer _sqlBuffer, EOModel _model,
NSMutableArray _entities, NSMutableDictionary _flags); you can intercept
and modify the SQL generation process before and after the SQL string is
created to provide customizations.
ms
Confidential & Privileged
Unless otherwise indicated or obvious from its nature, the information contained in this communication is attorney-client privileged and confidential information/work product. This communication is intended for the use of the individual or entity named above. If the reader of this communication is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error or are not sure whether it is privileged, please immediately notify us by return e-mail and destroy any copies--electronic, paper or otherwise--which you may have of this communication.
This archive was generated by hypermail 2.0.0 : Sat Aug 05 2006 - 22:29:23 EDT