This is a guest blog post from one of our System Center MVPs – Maarten Goet- from the Netherlands. Maarten is a Managing Consultant at INOVATIV, the System Center specialists. He blogs on Techlog and SystemCenterCentral and is a regular speaker at Teched and the Microsoft Management Summit.
In Travis Wright’s article on Creating Workspace (aka “Wunderbars”) in System Center Service Manager (SCSM) he talked about how partners and customers can extend SCSM to show a workspace for a custom developed SCSM solution. Now that you have that workspace set up, how can you show your own content? This article will walk you through a sample.
Let’s assume that your solution is web-based. You do not want to re-engineer the application to be able to use it in System Center Service Manager, but do want to be able to provide the functionality to IT analyst using the SCSM console.
First step, make sure that you have the sample management pack bundle available. Open the Microsoft.Demo.NewWorkspace.xml with your favorite XML editor and add the following section after </Categories> but before <Presentation>:
<ViewType ID=“OverviewType“ Accessibility=“Public“>
<xsd:any minOccurs=“0“ maxOccurs=“unbounded“ processContents=“skip“ xmlns:xsd=“http://www.w3.org/2001/XMLSchema“ />
This will declare a presentation type called “OverviewType” for your management pack. It references the Console library management pack’s “WPF Views Overview” type. Essentially this will allow you to show your web-based solution where normally the Overview page would be. Next step, add the following section after <Presentation> but before <Folders>:
<View ID=“View.Overview“ Accessibility=“Public“ Enabled=“true“ Target=“System!System.Entity“ TypeID=“OverviewType“ Visible=“true“>
<WebBrowser xmlns=“http://schemas.microsoft.com/winfx/2006/xaml/presentation“ xmlns:x=“http://schemas.microsoft.com/winfx/2006/xaml“ Name=“wb1“ Source=“http://mywebserver/webapp/home.aspx“ />
This will declare a view called “View.Overview” of the type “OverviewType”. Now have a look at the yellow highlighted section called “Source”. This is actually the configuration where you specify the URL that should be shown once a user opens this view. Replace it with the URL of your web-based solution.
Tip: The System Center Service Manager console actually uses the IE engine to show/render the pages. Settings in IE will thus influence if a proxy server will be used etc.
Next step, add the following section after </Folders> but before <ImageReferences>:
<FolderItem ElementID=“View.Overview“ ID=“FolderItem.Overview“ Folder=“Folder.NewWorkspace.RootFolder“ />
This will declare a folderitem for our Overview view under the ‘root’ of our custom workspace. For the last step, add the following section just before </DisplayStrings>:
<Description>My web-based solution</Description>
This will make sure that a displaystring will be available for our View. Customize it as appropriate. Finally, increment the version number:
Now, save the management pack file. Follow steps 9 through 10 from the previous article to create a new management pack bundle and import it into System Center Service Manager. Open the SCSM console and click on the New Workspace “workspace” to see it in action:
This is a clear example of how flexible the System Center Service Manager platform is, and how partners and customers can extend it.
— Maarten Goet (MVP)
Thanks again Maarten for writing this up. Just to give some practical perspective on this I’d like to share what Maarten has been doing with this. They are taking their existing solution for capacity management using SCOM and making a managment pack to visualize capacity management information in a new workspace for Service Manager. Check out some early screenshots:
As you can see, Maarten is bringing in reports from SQL Reporting Services. You could do the same with any number of reports you have in your organization – Service Manager reports or anything else.
Here is my next top secret tip…. What I showed Maarten is just the beginning. Look up above in the XML Maarten provided. Inside of the <Content> element Maarten put a <WebBrowser> element. You can put any kind of XAML you want to inside of that <Content> tag. For example, you could create a table of WebBrowser elements which each host different web-based content to create a dashboard look. You could put buttons, images, forms, user controls, etc… in there. The Administration overview page is built using this technique so you get the idea of what is possible.
Remember the blog post about hacking XML like a pro? Export out the Microsoft.EnterpriseManagement.ServiceManager.UI.Administration MP to see how we built the Administration overview page.
If you build something interesting using this technique and write a blog post about it, you could be the next guest blogger! Send me an email with your creation!
Maarten’s MP is attached.