|   Register
Sunday, September 05, 2010    
Manifest - Schema Layout

Manifest.PNG

Illustration from Altova XML Spy

Manifest Details

Identity

The full identity of a management pack is made up of the ID, the version, and the public key token if the MP is signed.  The ID and the version are explicitly defined in the manifest of the MP, while the public key token is not known until the MP is signed.  The public key token will be dependent on the certificate that the MP is signed with.

The ID of the management pack must also be used for the filename of the MP.  If this is not the case, MPVerify will not pass for the MP.  The ID follows the standard unique identifier requirements for all MP elements.  This means:

·         It contains only characters a through z (upper or lower case); the numbers 0 through 9; the “.” character and the “_” character

·         It is less that 256 characters in length

·         It is unique among all other MP Elements in the MP

The version of the MP consists of 4 numbers.  Each number can be between 1 and 4 digits in length.  You are free to use any versioning scheme that you wish for your management pack.  Some valid examples would be:

·         1.0.0.0

·         1.0001.3.3400

·         1234.1234.1234.1234

Note that there is a required element in the manifest called name.  This name is not used by the Operations Console or any other part of OpsMgr.  You are free to put whatever name you want in here.  You should always set a display name for the MP and this is what will show up in the Operations Console.  Why is it here?  Well it was needed in early builds of OpsMgr 2007 and was never removed!

References

Management packs can reference other sealed management packs.  This is a new concept in OpsMgr 2007 and is part of the extensible nature of the product.  All the core type definitions and monitoring workflows are defined in MPs that ship with the product.  These MPs are imported by default during setup.  To reference a management pack you need to specify

·         The management pack ID

·         The minimum version of the MP that you require

·         The public key token (unsealed MPs do not have a public key token so you cannot reference them)

When you specify the MP you give it an alias.  Whenever you need to refer to something in the referenced MP you prefix the MP element with the alias and a ! character.  You must use a different alias for each reference and you cannot created multiple aliases for the same MP. 

As an exmaple, here is a reference to the System.Library:

<Reference Alias="System">

  <ID>System.Library</ID>

  <Version>6.0.4955.0</Version>

  <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>

</Reference>

Note that all MPs from Microsoft will have the public key token 31bf3856ad364e35.

If you need to find the public key token for a management pack on the file system you can use sn.exe that ships as part of the .NET Framework 2.0 SDK and is also installed with most versions of Visual Studio.  Use the syntax:

sn –T <managementpack>

For example, sn –T System.MP

 

Example

<Manifest>

  <Identity>

    <ID>AuthorMPs.Demo.MyFirstMP</ID>

    <Version>1.0.0.0</Version>

  </Identity>

  <Name>My First MP</Name>

  <References>

    <Reference Alias="System">

      <ID>System.Library</ID>

      <Version>6.0.4955.0</Version>

      <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>

    </Reference>

    <Reference Alias="Windows">

      <ID>Microsoft.Windows.Library</ID>

      <Version>6.0.4955.0</Version>

      <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>

    </Reference>

    <Reference Alias="SC">

      <ID>Microsoft.SystemCenter.Library</ID>

      <Version>6.0.4955.0</Version>

      <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>

    </Reference>

    <Reference Alias="SCDW">

      <ID>Microsoft.SystemCenter.DataWarehouse.Library</ID>

      <Version>6.0.4955.0</Version>

      <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>

    </Reference>

    <Reference Alias="SystemHealth">

      <ID>System.Health.Library</ID>

      <Version>6.0.4955.0</Version>

      <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>

    </Reference>

    <Reference Alias="SystemPerf">

      <ID>System.Performance.Library</ID>

      <Version>6.0.4955.0</Version>

      <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>

    </Reference>

  </References>

</Manifest>

 


Copyright 2009 Steve Wilson   |  Privacy Statement  |  Terms Of Use