So I've been doing more and more work with the Umbraco API of recent (particularly in regards to my website) but I'm getting more and more frustrated at the interaction which occurs at an API level (not to mention that it's rather ugly in some places).
When you're working with documents which are using extended document types (and how often will Id and Text be enough data?). You're constantly populating code with getProperty(alias) and performing null checks, default data handling, etc.
This is why I wrote the Umbraco Member class, as members are the one thing that is most commonly interacted with from a code level.
So to make it easier to interact with Umbraco documents at a code level I have a preview of the Umbraco Interaction Layer.
This project aims to create a code generator for Umbraco document types. It aims to take the complexity out of interacting with the Umbraco API.
Another goal is to bring Umbraco closer to a viable choice as a data storage mechanisum, not just a CMS. Most projects I have worked across have had some form of Data content tree which contains content which is non-navigatable, just CMS manageable, such as people profiles, news articles or photo gallery items.
Quite frequently interacting with this Data content structure is done via .NET and via the Umbraco API. So having an easier way to interact with an actual representation of my document types at a code level would be a whole lot nicer.
At the moment I'm still in early stages of development, but I thought it'd be nice to share. Lets say I have the following document type (it's actually one from my site and used in my Data content tree :P):
Well now I can generate some lovely .NET code, say C#?
Or maybe you're a VB person?
Well you can join in too!
You may notice all properties decorated with an UmbracoInfo attribute, well that will be used to provide feedback about how the object relates back to it's Umbraco instace.
Well there we have it, a nice little tease of things to come ;)