Para comenzar deberemos crear un archivo con extensión .xml. Podemos usar muchas herramientas como por ejemplo GVIM o un simple Notepad.
<Datos del ManagementPack a XML>
<Manifest>
<Identity>
<ID> NOMBRE DEL MP</ID>
<Version>Numero de Version</Version>
</Identity>
<Name> Nombre del Management Pack</Name>
<References>
<Reference Alias="System.WorkItem.Incident.Library">
<ID>System.WorkItem.Incident.Library</ID>
<Version>7.0.5244.0</Version>
<PublicKeyToken>tokenpublico</PublicKeyToken>
</Reference>
</Manifest>
<TypeDefinitions>
<EntityTypes>
<EnumerationTypes>
<EnumerationValue ID="nombreobjeto.Enum" Accessibility="Public" Parent="System.WorkItem.Incident.Library!IncidentResolutionCategoryEnum" Ordinal="0" />
</EnumerationTypes>
</EntityTypes>
</TypeDefinitions>
<LanguagePacks>
<LanguagePack ID="ENU" IsDefault="true">
<DisplayStrings>
<DisplayString ElementID="nombreobjeto.Enum">
<Name>Nombre a mostrar para el objeto</Name>
</DisplayString>
</LanguagePacks>
</ManagementPack>
Comenzamos por el número de versión. El número de versión parte del “1.0.0.0” y se incrementa de la manera que se crea conveniente, en mi caso sigo la nomenclatura lógica de comenzar por “1.0.0.0”, pasar a “1.0.0.1” e ir subiendo y en función del tamaño de la modificación subo uno u otro. Por ejemplo, para crear una modificación en la que se añade una nueva empresa solo incrementaré el último dígito “1.0.0.1” pero en caso de incluir varias modificaciones, o subdivisiones modificaré “1.0.1.0”, solo las modificaciones muy grandes merecen un cambio en el último nivel “1.1.0.0”.
Las etiquetas <ID> NOMBRE DEL MP</ID> y <Name> Nombre del Management Pack</Name> incluyen el nombre del Management Pack y en principio ambos pueden contener el mismo nombre aunque es el segundo, el “Name” el que muestra el nombre que se verá en la consola. Lo mejor es usar nombes identificativos.
La etiqueta “<EnumerationValue ID="nombreobjeto.Enum" Accessibility="Public" Parent="System.WorkItem.Incident.Library!IncidentResolutionCategoryEnum" Ordinal="0" />” incluirá un único elemento pero se podrán añadir tantos encadenados como se deseen. Solo se deberán seguir tres reglas básicas:
Las últimas etiquetas de interés son las que hacen visible al elemento de cara al usuario: Estas son las “<DisplayStrings>” y estarán compuestas de las secciones “DisplayString ElementID” y “Name”. Estas tienen dos funciones diferentes:
Con esto ya tenemos una idea básica de como crear este MP y vamos a ver como quedaría un MP para dos elementos.
<ManagementPack ContentReadable="true" SchemaVersion="2.0" OriginalSchemaVersion="1.1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<ID> SoporteExternoRedesVoz </ID>
<Version>1.0.0.0</Version>
<Name>Soporte Externo Redes y Voz</Name>
<EnumerationValue ID="TecnicoTelefonia.Enum" Accessibility="Public" Parent="System.WorkItem.Incident.Library!IncidentResolutionCategoryEnum" Ordinal="0" />
<EnumerationValue ID="TecnicoRedes.Enum" Accessibility="Public" Parent="System.WorkItem.Incident.Library!IncidentResolutionCategoryEnum" Ordinal="1" />
<DisplayString ElementID="TecnicoTelefonia.Enum">
<Name>Tecnico de Telefonia</Name>
<DisplayString ElementID="TecnicoRedes.Enum">
<Name>Tecnico de Redes</Name>
Hay que tener un tema muy claro y es que si utilizamos dos veces un mismo número de versión machacará lo anterior y podemos encontrarnos con casos en los que dupliquemos datos.