Dieser Import dient als Standard-Geräteschnittstelle für ConfiguartionItems, dabei importiert er ConfigurationItems aus einer oder mehreren formatierten XML-Files.
Der Pfad in dem die XML-Files gesucht werden, kann in der “App.Config” konfiguriert werden. Des weiteren werden die importierten Files zur Absicherung lokal, in einen konfigurierbaren Ordner, archiviert.
Felder, welche nicht „standardmäßig“ in der Datenbank hinterlegt sind, können als zusätzliche Attribute “CustomAttributes” angelegt werden, dabei ist zu beachten dass die Namen der CustomAttributes gesondert in der “CustomAttributeConfig.xml” in boID's gemapped wird.
Am Ende eines jeden Imports wird eine E-Mail versendet, in welcher der Ablauf des Imports protokolliert ist:
Ab Version 5.5:
Dazu werden 2 Dateien benötigt:
Beispiel:
format.xml (In die [DATA:] Tags, können die Spaltennamen aus der CSV-Datei eingefügt werden. )
test.csv
CSV-Preprocessor Konfiguration
Ab Version 4.1:
folgende neue Möglichkeiten wurden implementiert
ab Version 5.4+ folgende:
BeispielXML5.4+
ab Version 5.3.18+ folgende:
configurationitems5_3_18.xml
ab Version 5.1+ folgende:
BeispielXML5.1+
ab Version 4.1+:
BeispielXML4.1+
älter
BeispielXML
| Feld-Name | Datentyp | Info |
|---|---|---|
| id | Text | Die ID des Configuration Items. Wenn bereits ein CI mit dieser ID existiert wird er aktualisiert. |
| parentid | Text | Die ID des übergeordneten CIs. |
| name | Text | Der Name des Configuration Items. |
| acronym | Text | Das Feld Kürzel. |
| isExternallyManaged | bool | Die Werte 'true' und 'false' sind gültig. Wenn 'true', dann ist der CI in 1stAnswer schreibgeschützt. |
| isRelevantForAvailabilityCalculation | ||
| isCritical | ||
| description | Text | Beschreibung |
| type | Text | Der Name der CustomAttributeGruppe für diesen CI, wenn nicht geliefert wird die in 1stAnswer definierte Standard-Gruppe zugeordnet. |
| status | Das CI kann den Status: 0 = Deleted 1 = Unchanged 2 = Changed 3 = Synchronised haben. Es kann die Ziffer oder der Text geliefert werden. Wenn nichts geliefert wird, wird Status 'Unchanged' gesetzt. |
Der XML-Tag “attribute” hat ein Attribut mit dem Namen “name”.
Der Wert dieses “name-Attributs” muss mit dem Wert einer der “attribute”-Tags aus der CustomAttributeConfig.xml übereinstimmen.
Der Inhalt des Tags ist der Wert des CustomAttributes in der Applikation.
| Feld-Name | Datentyp | Info |
|---|---|---|
| id | Text | Eindeutige ID der Kunden-CI Beziehung (z.b. Seriennummer). Wird für Updates benötigt. |
| externalContactNumber | Text | Ansprechpartnernummer des zuzuordnenden Kunden. |
| externalCompanyNumber | Text | Firmennummer der zuzuordnenden Firma (alternativ zur Ansprechpartnernummer). |
| type | Text | Der Name der CustomAttributeGruppe für diesen UserCI, wenn nicht geliefert wird die in 1stAnswer definierte Standard-Gruppe zugeordnet. |
| relationType | Text | Kein Pflichtfeld. Der Beziehungstyp des UserCI, mögliche Werte: “POS” (Standort), “ASP” (Ansprechpartner), “” (keine spezielle Beziehung, wird auch als Standardwert verwendet wenn “relationType” nicht geliefert wird) |
Der XML-Tag “attribute” hat ein Attribut mit dem Namen “name”.
Der Wert dieses “name-Attributs” muss mit dem Wert einer der “attribute”-Tags aus der CustomAttributeConfig.xml übereinstimmen.
Der Inhalt des Tags ist der Wert des CustomAttributes in der Applikation.
Der Import wird innerhalb des “appSettings”-Abschnitt in der App.config konfiguriert
<appSettings> <!-- import --> <add key="importDir" value="D:\SVN\ConfigurationItemImport\import" /> <add key="importFileMask" value="*.xml" /> <add key="mandatorId" value="1" /> <add key="archiveDir" value="D:\SVN\ConfigurationItemImport\backup"/> <add key="customAttributeConfigFilePath" value="D:\1stAnswer\ConfigurationItemImport\CustomAttributeConfig.xml" /> <add key="configurationItemFallbackCustomAttributeGroupBoId" value="" /> <add key="ClearChildCIs" value="false" /> <!-- ab 5.7 --> <add key="ClearParentCIs" value="true" /> <!-- ab 5.7 --> <add key="ClearUserCIs" value="true" /> <!-- ab 5.7 -->
importDir: Pfad indem die formatierten XML-Files liegen
importFileMask: Filterfunktion
archiveDir: Pfad indem die bereits importierten XML-Files archiviert werden
customAttributeConfigFilePath: Pfad zur CustomAttributeConfig.xml
configurationItemFallbackCustomAttributeGroupBoId: Hier kann eine Custom Attribut Gruppe für ConfigurationItems konfiguriert werden, welche die Standardgruppe für ConfigurationItems im Kontext des Import überschreibt.
ClearChildCIs: Entfernt beim Importieren eines CIs alle CI-Kind-Beziehungen desselbigen wenn die Option aktiviert ist (true).
ClearParentCIs: Entfernt beim Importieren eines CIs alle CI-Vater-Beziehungen desselbigen wenn die Option aktiviert ist (true).
ClearUserCIs: Entfernt beim Importieren eines CIs alle CI-Kunden/Firmen-Beziehungen desselbigen wenn die Option aktiviert ist (true).
<!-- email testmode--> <add key="testMode" value="true"/> <add key="testModeEmailRecipient" value="dev0@samhammer.de"/>
testMode: falls 'true' werden die E-Mails an den testModeEmailRecipient versendet
<!-- mail sending -->
<add key="logFilePath" value="D:\SVN\ConfigurationItemImport\Logs\UserLog.log"/>
<add key="smtpServer" value="mail.samhammer.de"/>
<add key="from" value="ciimport@1stanswer.de"/>
<add key="to" value="dev0@samhammer.de"/>
<add key="bcc" value=""/>
<add key="subject" value="1stAnswer Configurationitem-Import"/>
<add key="mailBodyPrefix" value="Sehr geehrte Damen und Herren,
anbei erhalten Sie Informationen über den aktuellen Configurationitem-Import:
Erstellt: {0}
"/>
<add key="mailBodySuffix" value="
Mit freundlichen Grüßen
Ihr HelpDesk-Team"/>
Hier wird der E-Mail Versand konfiguriert, dabei wird nach jedem Import eine Log-File versendet.
logFilePath: Pfad zur Log-File
</appSettings>
Beispiel:
<customAttributes> <configurationItem> <!-- Name sollte der gleiche sein wie der des Attributes im XML, value ist die boId vom Attribut <attribute name="attribute1">1</attribute> --> </configurationItem> <customer_configurationItem> <!-- Name sollte der gleiche sein wie der des Attributes im XML, value ist die boId vom Attribut <attribute name="attribute1">1</attribute> --> </customer_configurationItem> </customAttributes>
name: “Name des Attributes im XML”
value: “ID der Attribut-Vorlage in 1stAnswer”