“In the May CTP bits, we started working on parts of uninstall support for schema created by an image, but didn’t expose it as a user-visible feature as we will in future CTPs. So if you want to get your hands on this functionality right now, give this SQL script a try. This creates a stored procedure creatively named ‘Uninstall,’ which takes one argument, the id of the image to uninstall which can be obtained from the [Language.Catalog.Runtime].[Images] table.”
Dave Langer, an architect at Microsoft, explores the question of how to model inheritance in “M”. What do you think? What support for inheritance should "Oslo" provide? What scenarios do you need us to nail in this area? Let us know!
Imagine you’ve shipped v1 of your database applications against a schema created from “M”. Now, you’re about to ship the v2 of your database, but what about the v1 clients? Are the tables and views exposed from your database backward compatible or are you going to break those existing clients? How do you even find out?
Well, wonder no more! Telerik has shipped the alpha of their “Oslo” comparison tool, which can compare v1 of your “M” source code against v2 to see what’s changed and whether that’s going to break your v1 clients. And as if that weren’t enough, they’re working on another version of the tool that will create scripts so that you can migrate your v1 data to v2 after you’re satisfied that your v1 clients will continue to work.
Stephen Forte and Mehfuz (who, like Prince and Cher, needs no last name), have built LINQ to “M”, which means that if you’ve got “M” source code like this (shown in a C# string variable for loading convenience):
public class Person { public string Name { get; set; } public int Age { get; set; } }
then you can load the “M” source and run LINQ queries against it:
var persons = QueryContext.Instance.Load<Person>(MGraphCode); var result = from person in persons where person.Age == 37 && person.Name == "Stephen Forte" orderby person.Name ascending select person;
In part 1 and part 2 of his series, Dana Kaufman, a Program Manager on the "Oslo" team, used "M" to model the schema for employee information and to create a domain-specific language (DSL) for creating values of that schema. In part 3, Dana shows how to navigate the schema and models in "Quadrant," the data visualization and manipulation tool of "Oslo." Enjoy!
Rockford Lhotka of several C# and VB books and the world-renown CSLA .NET business object framework has ported his “Oslo”-based MCsla.NET to the May 2009 CTP. For the part that he's made work in "Oslo," Rocky has told me that the amount of code you need to write to take advantage of his framework is down by 90% over the C#/VB.NET versions, which sounds like a pretty big win to me. Enjoy!
Ceyhun Ciper is at it again, this time taking advantage of the Intellipad plug-in capabilities in the “Oslo” May 2009 CTP and adding real-time “M” visualization as you type. This is a wonderful way to see both the textual and graphic abstract symbol tree of your data as you type it. Keep up the good work, Ceyhun!