Introduction to Windows Home Server “Vail” SDK

Hi everyone! My name is Dileep and I am a Development lead with Windows Home Server team. It has been more than a week since we released the beta builds of the next version of Windows Home Server “Vail”, and we are very encouraged by the download and the feedback pouring in through connect. Thank you for everyone who is participating in the beta program! Alongside that, we thought this is the right time to start discussing some of the features of Vail and its extensibility with the community to get the excitement started for building great, cool and useful add-ins for the next version of Windows Home Server. The SDK is also available to download from Connect and if you already tried it out, you might have noticed that the extensibility options for Vail are pretty broad in comparison with first version of Windows Home Server. There are many ways one can extend Vail – by extending Dashboard (old Admin Console), Launchpad or by building a Provider. You can even build an addin which has both server and client components to it. Vail SDK contains information about all these plus APIs for many other core features like Alerts framework, Storage (Server Folders & Hard Drives), Computers & Backup, Identity, Remote Access, Media Streaming and much more! The SDK also contains detailed documentation as to how you can build, package and deploy your add-ins to Vail Server and clients. All-in-all, you can see that we’ve tried to put up a much broader and more powerful SDK in place compared to the previous version.

There is a lot of information to digest in Vail and SDK in particular. Hence we are taking this opportunity to do a series of blog posts to talk about the various extensibility points of Vail in a much higher level than the actual SDK documentation. The idea is to give developers an overview of the capabilities of Vail SDK along with providing guidance as to how to go about building addins the right way so that the user experience or performance is not compromised. In the first of such posts, I am discussing the Vail ‘Dashboard’ and its extensibility vis-à-vis Home Server v1 here.

The Administration console in Home Server v1 has been renamed to ‘Dashboard’ to better reflect the information it provides. Just like the Admin console in v1, Dasbhboard still is the main user interface for administrative or management type of tasks on the Server. Dashboard is where you would go to monitor the health of the network, create user accounts, view backups, add shared folders, increase storage capacity, enable or disable media streaming etc. Dashboard is still not the place to put any day-to-day non-administrative tasks. I have posted a document on connect website (link is given below) which talks about the differences in the Dashboard UI compared to Home Server v1 Admin Console. In the document I talk about the new Dashboard layout, the new UI elements introduced, the three different kinds of tabs that one can build as well as plugging into the existing Microsoft tabs and wizards. I also cover the extensibility aspects of Home Server v1 Admin console which are no longer available in Vail.

You can download the complete document here.

(You will have to sign in to Microsoft Connect site.)

I hope I was able to give an adequate overview of the changes and new features in Windows Home Server ‘Vail’ Dashboard in the document, especially when compared to v1. Please remember that this document is meant as a high level overview of the extensibility points, and the low-level details of all of those extensibility APIs, documentation, samples and templates are available in the Vail SDK. We would love to hear your comments and feedback. Moreover we would love to get all of you started on writing cool addins for Vail. Please use Vail SDK Forum for discussing seeking assistance for the SDK. In subsequent posts, we’ll cover other topics such as Launchpad, building Providers, addin deployment, various object models etc. Happy coding!

Download Dashboard overview document

Download “Vail” SDK

Discuss about “Vail” SDK