WayneBrantley wrote:
Surely they could give us some hints and teasers?
http://weblogs.asp.net/fbouma/archive/2009/03/20/the-undo-redo-paradox.aspx
http://weblogs.asp.net/fbouma/archive/2009/05/04/the-desperate-quest-for-doing-it-right.aspx
some tiny looks behind the curtains .
The designer can now do things like:
- multi-database type projects (1 set of entities, meta data from multiple databases like oracle, db2, sqlserver etc.)
- model first (so create entities, relationships inheritance etc. first, then create meta-data from that) using clever editors.
- manual mapping of entities, typed views and stored procs onto targets in every detail possible.
- manually create fields in tables and sequences in targets
- it has rewritten drivers, so they now use linq to objects/datasets, dbprovider factory and are no longer relying on specific ado.net provider dll versions
- meta-data retrieval from databases with full freedom, so you can select which synonyms, tables, views and procs you want to retrieve meta-data for
- stored proc resultset determination
- reverse engineering from meta-data
- value types (nesting is supported), so you can define a type 'Address' for example with fields City, Street, Country, Houseno and define entity fields of that type (or value type fields if you want to).
- grouping of entities (1 level deep)
- mapping typedviews on views, tables (for read only access) and stored proc resultsets
- completely new typed list editor with visual relationship representation
- model validation and meta-data adjustment with clever error/warning reporting ala vs.net but then better: an error is accompanied with a set of corrections with links, which you can click which for example open the editor of the element to correct or do the correction for you when clicked.
- multi-select project / catalog explorer
- you can mark elements as removed in the catalog explorer which are exported as DDL SQL drop statements.
- foreign key fields are now separated
- relationships are now editable, you can change relation types after creation
- project files are now in XML and save/load is very very fast compared to v2.x
- and many many many other things
As with v2.x, all editing work is done live on the model, not on a file, so everything relates to eachother and is kept in sync and if you make an error (e.g. map a string typed field onto a numeric target field) you're warned with a small error icon that something is wrong. If you create a relationship between A and B, fk fields are created automatically if the the pk side has a pk or added when the pk is added, and removed if the pk is removed. All undoable / redoable of course
Most of the work has been spend on writing a solid foundation framework (in Algorithmia and on top of that) so adding features to the designer was simpler and the code would be more extensible. For example, the model is now a graph and everything is undo-redo aware without the developer having to worry about creating commands, it's transparent. Reporting messages/errors is centrally controlled etc. This took a lot of work but it was well worth it. Also as model first was a prominent feature, we couldn't re-use a lot of code of v2.x's designer when it came to entity model classes. So instead we port 'intent' and rewrite the code in .net 3.5 C#, which also gives more compact code due to linq to objects and the new general object model.
What's ahead of us is still a lot of work but we're far beyond halfway the project which is a good thing, so we can work towards a known goal, the list of things to include isn't endless anymore. I'm personally very happy with how things progress and how well the work on the general foundation has panned out. No pretty screenshots to show yet, I'll keep those under wraps when the search -> results -> model feature is added. . Tomorrow is june 6th, a full year after v2.6 was released, and of course we would have liked to have v3.0 to be done by now, but as this is stuff which needs research to get done right, it's always a gamble if ideas up front pan out as expected or suck and should be thrown out. As with 1.0.2003.1, the first version of llblgen pro all those years ago, we now too had to throw out our initial editor idea which costed us at least 2 months of work, but at the same time it's nice it happened early and we know from the past to take painful decisions early. Luckily we found a different way to edit entities which IMHO is also easier to use than our text-based DSL we had earlier (as now full model-editing is possible, everything is kept in sync and is maintained from every angle).
At launch we'll support LLBLGen Pro RT 3.0, Entity framework 1.0/4.0, NHibernate 2.x and Linq to Sql, with many more frameworks planned, also Java frameworks like Hibernate.