I've finally completed the 2.0 Code Plex release of the Hybrid Provider There are three major areas in which I have made improvements.
I've added the Hybrid Profiler, which in the same spirit as the Hybrid Provider, maintains user profile information for both AD and SQL accounts.
There have been some issues that have resulted in major hacks being necessary for getting two or more web apps on the same farm to work with the Hybrid Provider. I've changed the installer to have a drop down of all the web apps, specifying which ones have the Hybrid Provider / Hybrid Profiler installed. This way, you can configure different user data stores for your SQL users.
If you want them all to use the same database, just go into the app settings in each web.config after installation, and give all the "HybridProvider_ApplicationName" keys the value of the one in the web.config of web app you want to use. Also, do this for the central admin web.config as well. This value defaults to the URL of the web app. Note that based on the architecture of the ASP.NET profile and membership infrastructure, the Hybrid Profiler needs to use this same setting. By default, the name of the application is just a slash ("/").
Finally, you can deactivate the Hybrid Provider form one web app, leaving intact in others. It is only actually removed when you use the Hybrid Profiler Installer to uninstall it from the last web app it is activated on. Due to dependencies, you cannot uninstall the Hybrid Profiler independently (although it is optional to install).
These improvements should really open up the situations in which the Hybrid Provider can be used, especially in farms with multiple web apps. It should also minimize the amount of tweaking you need to do manually. I've upped all the version numbers to 2.0 so it should install side by side with the Hybrid Provider 1.0.
If you used the first version of the Hybrid Provider Installer, you'll think this version has made a cameo appearance on Nip/Tuck. I've replaced a lot of the guts with WPF databinding, so now the Install / Uninstall buttons (and others) will only be enabled when appropriate. Also, I've added a lot of gratuitous animations that make navigation fun and exciting!
Here's what the main screen looks like:
Also, I've added multithreading so that the UI has a responsive notification of what features are currently being installed. After installation is complete, a nice list of all the operations, and their outcomes, is shown instead of a message box. Finally, I've been able to remove even more of the inputs and get their values elsewhere, so that there's less possibility for error.
A cool thing we get from WPF is the ability to place arbitrary content inside almost any control. This includes the combo box. So, I was able to put bulleted lists inside of each combo box item, with a title. That first control has all the web apps in the current farm, and lists which of the three features available in this release are currently activated.
Fun animation spoiler: