Define the requestable technologies and resources
Define the requestable technologies and resources in an XML file.
The XML file includes the following structure:
- Set the technology.
- Define the technology.
- Define the permission sets
- Summarize the permissions for types - Describe the resources.
- Define the resource root
- Define the resource
Example
<?xml version="1.0" encoding="utf-8"?>
<!-- do not change -->
<resourceImport Version="3">
<!-- technology definition -->
<
technology
Id="D54C16F2-42C1-477A-BD20-3285158F68D3" Name="Hardware" IconId="2" Color="#0000be">
<definitions>
<permissionSets
>
<permissionSet PermissionSetId="1" Description="['en-US:Buy','de-DE:Kaufen']" />
<permissionSet PermissionSetId="2" Description="['en-US:Lease','de-DE:Leasen']" />
<permissionSet PermissionSetId="3" Description="['en-US:Rent','de-DE:Mieten']" />
</permissionSets>
<
types>
<type Id="1" Description="['en-US:Hardware','de-DE:Hardware']" IconId="Container" PermissionSetIds="[]" />
<type Id="3" Description="['en-US:Desktop','de-DE:Desktop']" IconId="Computer" PermissionSetIds="[1,2,3]" />
</types>
</definitions>
<!--
resource definition
-->
<data>
<
root
Id="6CE9B526-9FFD-46A5-9ED0-36FB4E1303B5" Name="Computer" TypeId="1" Merge="no">
<
resource
Name="Desktop PCs" TypeId="3" Description="['en-US:Stationary PC','de-DE:Stationäre Arbeitsplatz-PCs']">
<resource Name="Desktop-PC simple" TypeId="3" />
<resource Name="Desktop-PC default" TypeId="3" />
<resource Name="Desktop-PC customizable" TypeId="3" TemplateID="E3865726-6FDF-489E-A7D5-4ABBA5B2BF83" />
</resource>
</root>
</data>
</technology>
</resourceImport>
Set the technology
An OpenOrder XML configuration can contain several technologies. In the first line of a technology section, specify the ID, name, and icon.
Example
<!-- technology definition -->
<technology
Id
="D54C16F2-42C1-477A-BD20-3285158F68D3"
Name
="Hardware"
IconId
="2">
Id
Identifies the technology and must be unique within Open Order. Our recommendation: Use a GUID, e.g. from guidgen.com
Name
Display name of the technology.
IconId
Displayed icon for the DataOwner configuration (not for GrantMA). See predefined icons.
Define the permission sets
In the permissionSets section, define the technology's permission sets.
Example
<permissionSets>
<permissionSet
PermissionSetId
="1"
Description
="['en-US:Buy','de-DE:Kaufen']" />
<permissionSet PermissionSetId="2" Description="['en-US:Lease','de-DE:Leasen']" />
<permissionSet PermissionSetId="3" Description="['en-US:Rent','de-DE:Mieten']" />
</permissionSets>
PermissionSetId
Assign an integer that identifies the entry in the permission set.
Description
Optionally provide a description of the permission set.
Define the types
A type definition of a technology contains 0 to n permissions and an icon.
Example
<types>
<type
Id
="1"
Description
="['en-US:Hardware','de-DE:Hardware']
"
IconId
="
Container"
PermissionSetIds
="[]" />
<type Id="3" Description="['en-US:Desktop','de-DE:Desktop']" IconId="Computer" PermissionSetIds="[1,2,3]" />
</types>
Id
Assign an integer that identifies the type.
Description
The displayed description of type.
IconId
Displayed icon for the DataOwner configuration (not for the GrantMA). See predefined icons for details.
PermissionSetIds
A list of possible permissions for the type. An empty list of PermissionSetIds implies that a resource with the authorization type cannot be ordered.
Define the resources
You define the resources in the data section. A resource node begins with a root entry. You then specify the resources that can be requested.
Define the resource root
With a node entry (root), you define the topmost entry of a resource.
Example
<data>
<root
Id
="6CE9B526-9FFD-46A5-9ED0-36FB4E1303B5"
Name
="Computer"
TypeId
="1"
Merge
="no">
<resource Name="Desktop PCs" TypeId="3" Description="['en-US:Stationary PC','de-DE:Stationäre Arbeitsplatz-PCs']">
<resource Name="Desktop-PC simple" TypeId="3" />
<resource Name="Desktop-PC standard" TypeId="3" />
<resource Name="Desktop-PC customizable" TypeId="3" TemplateID="E3865726-6FDF-489E-A7D5-4ABBA5B2BF83" />
</resource>
</root>
</data>
Id
Assign an ID to the top node. The ID must be unique within Open Order. Our recommendation: Use a GUID, e.g. from guidgen.com
Name
Assign an display name for the node.
TypeId
Specify the type of the top node.
Merge
Set the update behavior if you re-upload the XML configuration.
Merge="no"
An existing configuration of the same root ID is removed and replaced by the new upload.
Merge="yes"
For an existing root ID:
- new entries (new name) will be added
- same entries (same name) will be added creating duplicates
- old entries will be kept
Define the resource
Within the root, you define the resources in the resource section. You can nest the resources as required.
Example
<data>
<root Id="6CE9B526-9FFD-46A5-9ED0-36FB4E1303B5" Name="Computer" TypeId="1" Merge="no">
<resource Name="Desktop PCs" TypeId="3" Description="['en-US:Stationary PC','de-DE:Stationäre Arbeitsplatz-PCs']">
<resource Name="Desktop-PC simple" TypeId="3" />
<resource Name="Desktop-PC standard" TypeId="3" />
<resource Name="Desktop-PC customizable" TypeId="3" TemplateID="E3865726-6FDF-489E-A7D5-4ABBA5B2BF83" />
</resource>
</root>
</data>
Name
Displayed name of the resource.
TypeId
Mandatory: Assign a type to the resource.
Description
Optionally, provide a description of the resource.