Appendix A - Reporting Management Pack Schema

Applies To: Operations Manager 2007 R2, Operations Manager 2007 SP1

Within a management pack such as the Microsoft.SystemCenter.DataWarehouse.Report.Library.xml, the Reporting section contains the necessary information for deploying related items such as the reports themselves, linked reports, and report parameter controls. When creating a reporting solution, it is important to understand the management pack schema. The full management pack schema is available at https://go.microsoft.com/fwlink/?LinkId=111035.

The following sections describe the basic elements of the schema.

Reports section:

0e85ee65-bf79-447e-8fec-9c000958c57e 8ec74f2e-4076-415b-ac93-7cba51fdacc8

Dependencies: Details any dependencies such as stored procedures required for the report to function.

Parameter Block: Defines the look of the Smart Parameter Header (SPH) that shows up in the console when the report is opened.

Each control in the SPH is bound to one or more ReportParameters

Also, some controls have user-definable properties, such as the LinkedPerformanceChartObjectPicker. All parameter block controls are defined in Appendix B.

Definition: Contains the report RDL information. When you have an RDL file ready, the XML is copied directly into this section.

Note

Be sure to omit the xml declaration before pasting it in the definition section: <?xml version="1.0" encoding="utf-8"?>

Report Strings: Enables localization for the report.

Linked reports section:

2758adb9-248a-48d8-a62d-6d98427ca792

Dependencies: Details any dependencies such as stored procedures required for the report to function.

Parameter Block: Defines the look of the Smart Parameter Header that shows up in the console when the report is opened.

Each Control in the SPH is bound to one or more ReportParameters

Also, some controls have user-definable properties, such as the LinkedPerformanceChartObjectPicker. All parameter block controls are defined in Appendix B.

Parameters: Passes pre-defined parameters to the report to enable the scoping of a generic report to user-defined values.

Report Strings: Enables localization for the report.

Report Parameter Controls section:

The Report parameters block is the place where all these parameters are entered. The Report parameters block consists of a set of report parameter controls, each of which defines a visual representation for one or more underlying report parameters.

Report parameter controls used for a particular report are defined in the RPDL file.

Here is the schema for them:

<xs:element name="Control" minOccurs="1" maxOccurs="unbounded">
    <xs:complexType>
        <xs:sequence> 
            <xs:element name="ReportParameters" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="ReportParameter" 
                                           minOccurs="1" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="Prompt" type="xs:string"
                                                       minOccurs="0" maxOccurs="1" />
                                </xs:sequence>
                                <xs:attribute name="name" type="xs:token" use="required" />
                                <xs:attribute name="binding" type="xs:token" use="optional" />
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="Properties" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Property"
                                           minOccurs="1" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="Value" type="xs:string"
                                                       minOccurs="1" maxOccurs="1" />
                                </xs:sequence>
                                <xs:attribute name="name" type="xs:token" use="required" />
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="type" type="xs:token" use="optional" />
        <xs:attribute name="columnSpan" type="xs:unsignedByte" use="optional" />
        <xs:attribute name="rowSpan" type="xs:unsignedByte" use="optional" />
    </xs:complexType>
</xs:element>

As you can see from the schema, the parameter control has a list of underlying report parameters it uses. The way it uses these parameters is defined by the binding attribute. Binding is defined by specific control code. You cannot change the way it is handled, but you can set which report parameter is used. "Empty" or default binding is usually used for a report parameter for which the control sets value, but this is not a strict rule.

The next section is the parameter control properties. It is a name multi-value collection. These properties changes control behavior or visual appearance, for example controlling the maximum width or the background color.

All "out of the box" report parameter controls are defined in the Microsoft.SystemCenter.DataWarehouse.Report.Library management pack. The most commonly used controls are defined in Appendix B.