I've been working with Microsoft Blueprints for the last couple of weeks, to see if it's a suitable deployment vector for some of our reusable IP and Engineering Practices. Blueprints is part of the Software Factories vision, it evolves and includes the great work already done with the Guidance Automation Toolkit, the DSL Tools and Visual Studio Extensibility and creates a more cohesive vision that is easier to develop and deploy. Below is a great diagram that shows the Blueprints lineage and it's future direction:
Although still a little rough around the edges (it's still only CTP) it's value is clear. I won't go into great details about what Blueprints are as there are already a great number of blog posts on the subject that not only show the interesting things people are doing with the framework, but also the customisations and tricks they are learning as they are using Blueprints to solve their own problems.
I've taken the learnings from the last couple of weeks and distilled them into a new CodePlex project: Microsoft.Blueprints.Contrib. At the moment the project contains three areas of help for developing Blueprints:
- Dialogs - some common dialogs for selecting projects, selecting files and editing T4 Template Properties
- Environment - helper class to enable you to easily manipulate the current Visual Studio Solution / Projects
- T4 - some nice helper files which create a facade over the T4 Templating engine and give you a simple, discoverable fluent interface for implementation which leads to cleaner code.
Hopefully as Blueprints pick up some momentum more people will contribute to the CodePlex project; if you're interested in contributing to the project, please contact me or send me a tweet: @HowardvRooijen.