Note from the legal dept: The process described here is not officially supported by Microsoft and are provided only as an example to the community.
Neither I nor Microsoft, nor any other person, animal, vegetable or mineral assumes responsibility for the process demonstrated here. USE AT YOUR OWN RISK!
I have an Orchestrator system that has a bunch of IPs installed in it. In fact, it has all the System Center IPs, all the other Microsoft-released IPs, and a bunch of CodePlex IPs. In fact, I have a total of 52 (!) categories showing up in the Activities pane. As you might imaging, dealing with this Activities pane is a pain (pardon the pun). All of the categories are collapsed and the only view I have makes me scroll to the right for each category’s list of activities. Event if I maximize the Activities pane by moving the Log pane to the left, I still have to scroll.
Going back to my hacker roots, I wanted to find a way to control the sprawl of categories displayed without actually having to uninstall / reinstall IPs when I wanted them to be hidden or displayed. I happened to know that the Runbook Designer knows what and how to display items in the Activities pane by the XML files located in the C:\Program Files (x86)\Common Files\Microsoft System Center 2012\Orchestrator\Extensions directory. These XML files contain the category and activity information, along with information of where to locate the resource files (for the icons). It’s also good to know that for some IPs, localized/localizable strings files are placed into the Strings directory (a sibling of the Extensions directory) as either XML or DLL files.
I figured out that the simple way to hide an entire category was just to rename the /XML file to .XML.BAK. And un-hiding it was as simple as renaming it back to .XML. So what I did was create a quick utility that would scan the contents of the directory, pull in all the XML files and try to determine category names (sometimes going to the strings XML files for those), and provide a way to quickly enable/disable categories. So now I introduce to you…the Category Switcher!
The Category Switcher is a simple executable that you run on a Runbook Designer system. When it runs, it will pull up a list of all the categories it finds and shows them in a list with checkboxes. Note that some category names may be repeated due to the way that the XML files are laid out and I didn’t bother to try and match category names to eliminate the duplicates. Here’s what the program looks like when opening on my system with 52 categories:
From here, all I have to do is uncheck the categories I don’t want, or if a category is unchecked, that means I’ve disabled it before, and I can just check the box to enable it again. As an example, I will disable all of the categories except the ones that say “File Management”. The easy way to do that is to click “Disable All” and then select the ones I want:
I just click Save, then open the Runbook Designer. Note: You’ll have to close and re-open the Runbook Designer after every change like this so it can re-load the XML files. Now look at my Activities pane:
It’s that cool? To re-enable everything I just open the program again and click on “Enable All” or just the ones I want to enable. This program will give you some breathing room on the Activities pane and makes it easier to find and work with the activities you use most often. And when you need to show a category to add activities for a single purpose, you can use the tool to un-hide the category and then you can hide it again. Note: the top category shown (the one without a title) is there even if you disable all of the categories in the list.
One important thing I need to mention before people use it and then start freaking out… Enabling and disabling a category affects the overall display of all the activities in a category across the Runbook Designer. So not only will the activities disappear from the activities pane, they will also disappear from your runbooks! Rest assured, however, that the activities are not being removed from the runbooks, they’re just not being displayed. Your runbooks will continue to function correctly, they just won’t display properly until you unhide the category the activity comes from.
For example, if I hide the Configuration Manager IP category from the Activities pane, and I have a runbook that uses those activities, I would see this:
I can’t edit or open the activity in the Runbook Designer, but if I enable the category again and re-open Runbook Designer, it’s right there again.
This might not be the optimal solution for category sprawl, but it does offer one solution that is usable. So I know you’re asking “where can I get this wonderful, magical tool?”. Well we have this wonderful, magical place called CodePlex, and on the Orchestrator project (http://orchestrator.codeplex.com), I’ve added not only the downloadable tool, but also the source code (as rough as it might be) in case you want to do something more with it.
Get the downloadable tool here: >>>> http://orchestrator.codeplex.com/releases/view/87474
Get the source code here: >>>> http://orchestrator.codeplex.com/SourceControl/list/changesets
Be sure to let me know what you think!