User Tools

Site Tools


standardimport:confit

ConfigurationItem Import

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:

  • wie viele Geräte wurden importiert
  • wurden Geräte evtl. nicht importiert; aus welchem Grund wurden sie nicht importiert.
CSV-PreProcessor

Ab Version 5.5:

  • CSV-PreProcessor hinzugefügt. Mit diesem kann man statt XML-Dateien auch .csv-Dateien importieren.

Dazu werden 2 Dateien benötigt:

  • 1 XML-Datei, in der der Inhalt aus der CSV-Datei geparsed werden soll
  • Die CSV-Datei

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

  • “Beschreibung” zu importieren
  • für jeden CI oder UserCI eine spezielle CustomAttributeGroup (Value = BoId, innerhalb der OwnerClass) mit dem Feld 'Type' zu konfigurieren. Wenn die Group oder 'Type' nicht vorhanden ist → fallback auf die DefaultGroup

Beispiel

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

Felder im Import

Tag "configurationItems"

Feld-NameDatentypInfo
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.

Tag "attributes" (von configurationItems)

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.

Tag "customer_configurationItem"

Feld-NameDatentypInfo
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)

Tag "attributes" (von customer_configurationItem)

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.

Konfiguration

App.config

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>
Mapping von CustomAttributes über die CustomAttributeConfig.xml

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”

Generische Konfiguration für den Customer- und KonfigurationItemImport

standardimport/confit.txt · Last modified: 2013/06/28 09:54 by rschmitt