Entity Modeler

From: Mike Schrag (mschra..dimension.com)
Date: Sat Aug 05 2006 - 21:25:05 EDT

  • Next message: Watkins, Garry: "RE: 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



    This archive was generated by hypermail 2.0.0 : Sat Aug 05 2006 - 21:25:16 EDT