Ever had the great idea that you’d create an enumeration list that you’ll use on several RO’s to maximize data quality and ensure successful automation?
I’ve had it. Several times in fact.
However, for obvious reasons I don’t want to relate this enumeration to any class. I want it to be stand-alone and only be used with one or several RO(s). As all “centrally managed lists” I want a change in the list to reflect on all RO(s). And as most of you know you have to map every prompt to a property of a class that is defined in the template related to the RO to be able to publish it.
There’s actually a requirement for this on the data layer and not just in the GUI, which I tought at first.
So how do you map an enumeration that is not a property of any class?
Since all configuration of RO’s are saved in a Management Pack and in XML format we should start by reading the Management Pack XML Schema Reference.
After a few clicks we should notice that the <Extension> element (which contains the RO definition) isn’t documented on MSDN. Thank you very much! Continue reading
For those of you working with System Center Service Manager (SCSM) and have created or edited forms in the Authoring Tool have probably noticed that Management Pack can easily become a couple of hundred rows! And that’s just the inside the <Forms> node!
This is happening due to the fact that the Authoring Tool is basically writing 3 lines of XML for every change you make. This includes changing values, moving controls etc.
There’s also some rumors that the excess amount of rows causes performance issues when loading the form in SCSM. It sounds reasonable to me, but I haven’t personally done any testing in this matter.
But fear not! The below script will remove the unnecessary XML!
I’ve included functionality for piping several XML-files, ie.
Get-ChildItem *.xml | Invoke-SCSMAuthoringToolCleanup
You can define where to save the processed XML with the parameter -OutputPath. If omitting this parameter the script will overwrite the existing Management Pack.
If you want the XML object as output for further processing, use the parameter -Passthru.
If you’re using fixed position and control sizes (which you shouldn’t!) you can omit processing of these nodes by setting the parameters -ProcessResize and -ProcessMove to $false.
You can download the script from TechNet Gallery at:
If you do not use the OLAP Reporting Cubes in Service Manager it’s probably just going to use resources while delivering no business value.
By disabling Cube Processing and the SSAS instance you’ll save 4GB+ of RAM usage and the CPU usage from the Cube Processing task.
Depending on what your Service Manager environment looks like, it could be a couple of dollars on your electricity bill or a couple of more dollars if you’re running your environment in a pay-as-you-go Cloud, such as a Public Cloud or a Hosting Service Provider.
And lucky for you I’ve made a Powershell script to do this for you!