RE: Entity Modeler

From: Watkins, Garry (gwatkin..otleyrice.com)
Date: Sat Aug 05 2006 - 22:27:23 EDT

  • Next message: Ken Anderson: "Re: Entity Modeler"

    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