What day is it today? It’s the BimlExpress 2017 release day! Yay! :) I’ve waited for this release for a long time, and I know I’m not the only one. People have asked me many times if Varigence is still around. The answer is most definitely yes! It has been rather quiet from Varigence this past year, and I know we’ve all been waiting for news and updates. But don’t forget that they’re a small company, and that they’re actually giving us BimlExpress for free. They’ve focused on development this past year, and have been working like crazy to rewrite the Biml engine, add new features to BimlExpress, rebrand Mist to BimlStudio and make it even more powerful, and finish their BimlFlex framework. And today? Today we all get to enjoy the new releases! More yay! :)
Download and install BimlExpress 2017
You can download BimlExpress 2017 from the Varigence BimlExpress page:
The new installer is a lightweight VSIX (Visual Studio Extension) Installer:
After installing, you will find BimlExpress in the list of Visual Studio Tools and Extensions:
What’s New in BimlExpress 2017?
I will show you some of the exciting new features below. Spoiler alert: there are some gamechangers in this release! Let’s take a look at some of the exciting new features in BimlExpress 2017 :)
If you prefer to see demos of the new features, take a look at the webinar I did with Varigence:
Preview Expanded Biml
Ok, I know the rest of the post won’t be as exciting when I start with the coolest feature, but this is such a big gamechanger that I want to show it off before you close this tab and move on to the next blog post ;)
Remember all those tips about how you can use RootNode.GetBiml() in a high-tier helper file to save your expanded Biml to a file for debugging?
Yeah. Forget that. You can now preview your expanded Biml directly in BimlExpress, just like you can in BimlStudio!
OH YEAH! :)
This is going to make it so much easier to teach, learn and write Biml.
All you have to do is write some code and watch the Biml compile. Depending on your BimlExpress settings, you may have to click on the Show Preview button to open the preview pane, or click on Update to start compiling:
IS THIS COOL OR WHAT? :D
Wait, what? .NET intellisense? Does that mean C# and VB intellisense? You bet it does!
Now, let’s start with a small disclaimer. The release notes say: “Added preview mode of .NET intellisense for early adopters”. That means that this feature is not available out of the box for everyone, it has to be enabled per product key by Varigence. So how do you get it? It’s very simple: E-mail Varigence. Help them out by providing feedback and suggestions for improvements. If you want to go crazy, you may even mention BimlExpress in social media, blog posts or if you’re presenting somewhere. But that’s not a requirement. Just e-mail Varigence and ask. They’re nice guys :)
So how does .NET intellisense work? Create a BimlScript code nugget and start typing. Just like regular Biml intellisense, the list will be filtered based on what you type, and you can filter further by using the buttons at the bottom:
Global Include Files
Using include files is a great way to separate code so you can maintain it in just one file, and it just got better! With the new global directive, you can create files that will automatically be included in your entire project -- without having to insert the include directive in every single Biml file. This is great for creating global variables, including code files, or to make VB default for your entire solution :)
The only thing you need to do is to add the new global directive to your include file:
<#@ global #>
You can control the global include files by using directive attributes:
<#@ global order="1" location="top" active="True" applytocallbimlscript="False" #>
Order: Specifies the order in which to include the files, starting with the lowest number.
Location: Can be top or bottom. Specifies where the content of the global include file will be added.
Active: Can be True or False. Provides a way to quickly turn on and off global include files, for example for testing vs. generating for production.
ApplyToCallBimlScript: Can be True or False. Specifies if the global include file should be included in CallBimlScript callee files.
Pretty handy, huh? :D
You can now add SSIS Annotations to packages, containers, event handlers, and data flows! This only works for SSIS 2012 and higher. The syntax is very simple:
<Biml xmlns="http://schemas.varigence.com/biml.xsd"> <Packages> <Package Name="PackageWithSSISAnnotations"> <SsisAnnotations> <SsisAnnotation>This package is generated from Biml!</SsisAnnotation> </SsisAnnotations> <Tasks> <Container Name="Sequence Container"> <SsisAnnotations> <SsisAnnotation>Main Wrapper Container</SsisAnnotation> </SsisAnnotations> <Tasks> <Dataflow Name="Empty Data Flow"></Dataflow> </Tasks> </Container> </Tasks> </Package> </Packages> </Biml>
The generated package will include the annotation:
This is a great new feature, especially if you have mixed projects where only some packages are generated from Biml, or mixed development teams where only some developers use Biml.
BimlExpress 2017 has finally been released, and you can download it from the Varigence BimlExpress page. Some of the gamechanging features are Preview Expanded Biml, .NET intellisense, Global Include Files and SSIS Annotations. But wait! There’s more! I haven’t covered all features in this blog post. You can find all the changes in the full release notes.
Download it today and try it out yourself!
Please note that BimlExpress 2017 does not yet work with Visual Studio 2017 due to breaking changes in how Visual Studio 2017 manages extensions.
Thank you for making my life so much easier, Varigence :)
Updated: BimlExpress 2018 was released in June 2018! It supports Visual Studio 2017 and comes with a new Convert from SSIS to Biml feature, in addition to all the features described in this post.
Updated again: BimlExpress 2019 was released in May 2019! It supports Visual Studio 2019.