in

CodePrairie .NET

South Dakota .NET User Group

I Hate Linux

New Home Server Add-in: Tab Manager

In yet another attempt to make the Home Server Console a little more manageable with regards to multiple tabs, Tab Manager allows a user to bypass the normal Home Server Add-in loading mechanism and display whatever tabs they want inside of another tab.

Say what?

Rather than having a cluttered tab tool bar full of lots and lots of add-ins:

Home Server Console - Lots of tabs

A user can offload the tabs they use less often to be only displayed:

Home Server Console - With Tab Manager

And after you've selected the tab you want, you can collapse the list:

Home Server Console - With Tab Manager - Hidden

All the while still making all of the settings pages in the Settings dialog (relatively) normally available:

Tab Manager Settings

How it works

Existing readers of this blog will likely know that the Home Server Console looks for add-in tabs in assemblies with the following naming style: HomeServerConsoleTab.TabName.dll

By simply renaming those assemblies (ie HomeServerConsoleTab.SomeAddin.dll to HomeServerConsoleTab.TabManager.SomeAddin.dll), the add-in will no longer be loaded automatically by the Home Server Console and through the use of some code borrowed from Test Loader, are loaded instead by Tab Manager.

Aside from providing a new organizational home for the tabs, Tab Manager provides much of the same functionality as the Home Server Console with regards to tab ordering and ITabExtender (with the exception of ITabStatus support).

On the Settings side of things, Tab Manager's Settings tab uses ITabExtender to create a chain of custom settings tabs (using the Next property) to provide the Settings form access to the actual settings pages in a way that it expects/can handle.

In a later version I may offer a way to remove Settings tabs from view in a manner similar to... however I need to come up with reasonable way of doing this visually.

Warning

As is the case with (now) the majority of my add-ins, this add-in utilizes undocumented and unsupported mechanisms of Windows Home Server that could be misunderstood by me or change at any time possibly leading to a users Home Server no longer functioning correctly.

This add-in is by no means done and still is in need of some polish and is not advised at this time for wide spread use.

Please use caution with this add-in and use at your own risk.

If you are feeling daring and want to give it a try and offer feedback... please do.

If not, don't fret, the next version(s) will be even better thanks to those daring folks that tested out and gave feedback on earlier versions.

Usage

After you have installed the add-in...

  1. Launch the Windows Home Server Console
  2. Launch the Settings dialog
  3. Select the Tab Manager tab
  4. Select an assembly from the Standard Assemblies list and press the button with the Right arrow to move it to the Managed Assemblies list
  5. Repeat this process until all assemblies you want to be under the control of Tab Manager have been moved
  6. Press the OK button
  7. Click the Yes button to close the Windows Home Server Console
  8. Relaunch the Windows Home Server Console
  9. Select the Tab Manager tab
  10. Select desired tab from list.

Assemblies listed on the Standard Assemblies list are those that are automatically loaded by the Home Server Console, while those under the Managed Assemblies list are loaded by Tab Manager instead. Moving assemblies between the lists is as simple as double clicking on the item, or single clicking and using the appropriate button to move it.

Uninstalling this add-in does not automatically rename the modified files back to their original names. This is something I am looking into for the next version, in the mean time if/when you do decide to uninstall this add-in, you will need to add the desired files back to the Standard Assemblies list.

Note: No file name changes are made until the settings are applied through the use of the OK or Apply buttons.

Known issues

  • Tab Reorderer is unaware of tabs loaded through Tab Manager and can result in not all tabs being displayed on it's list or even phantom tabs without icons.
  • If loaded through Tab Manager, Tab Scroller still functions however it does not remove it's own icon.

Both of these issues will be resolved in a later version that will include the functionality of Tab Reorderer and Tab Scroller being added natively to Tab Manager (and reduce my add-in count from 5 to 3).

  • Any add-in that exposes status information (ie the main Microsoft tabs) will still work, however no status bar information will be displayed.
  • Some third-party add-ins that expect a given assembly name may not be able to load/save their settings.
  • Non-English systems may have issues loading the correct language for localized add-ins.

Downloads

Read the complete post at http://feeds.feedburner.com/~r/IHateLinux/~3/222077967/new-home-server-add-in-tab-manager.html

Powered by Community Server (Commercial Edition), by Telligent Systems