KIX - Forum

Community => Fragen | Konfiguration | Hilfe => Thema gestartet von: mplan am 02.11.2021 09:37:33

Titel: csv Import/Update
Beitrag von: mplan am 02.11.2021 09:37:33
Hi,
es sollen regelmäßig Daten aus einer csv Datei für Computer (und andere Asset Klassen) importiert werden.
Dabei soll ein Update von vorhandenen Daten stattfinden. Leider bekomme ich es nicht mit dem Mapping hin.
Habe bereits hier geschaut:
https://forum.kixdesk.com/index.php?topic=2706.msg6197#msg6197 (https://forum.kixdesk.com/index.php?topic=2706.msg6197#msg6197) <= eigentlich genau mein Thema
https://forum.kixdesk.com/index.php?topic=183.msg504#msg504 (https://forum.kixdesk.com/index.php?topic=183.msg504#msg504)

Die csv Datei hat keine Assetnummer. Beim Import wird deshalb jedes Mal ein neues Asset angelegt.
Der Versuch mit kix18.CSVSync.pl ist auch nicht geglückt. Dazu hatte ich in der kix18.CSVSync.cfg analog zu den Beispielen versucht  ein Mapping zu erzeugen
#NOTE: Computer
Computer.SearchColIndex           ="1"
Computer.ColIndex.Number          ="0"
Computer.ColIndex.Name            ="1"
Computer.ColIndex.DeploymentState  ="2"

In der GUI bei Asset ->Import/Export sehe ich zwar die Assetklassen mit "AutoCreated Map", finde aber nichts, wie ich das Mapping beeinflussen kann.
Ziel ist, den (Computer-)Namen als Wert zu nehmen. Existiert der Name, soll ein nur Update erfolgen.
Bisher wird nach der Assetnummer geschaut und dadurch ein neues Asset angelegt.
Gibt es eine Beschreibung, wo und wie das Mapping angepasst werden kann für den Import?

Michael
Titel: Re: csv Import/Update
Beitrag von: Torsten Thau am 15.11.2021 17:19:52
Hi mplan,


leider kann das Importskript kix18sync noch keine "alternativen Identifikatoren" verarbeiten. In Verbindung mit Macro Actions kannst Du jedoch ein Macro definieren, dass die Assetnummer welche das KIX vergibt, ersetzt mit einem spezifischen asset-klassen-abhängigen Attribut. Dessen Eindeutigkeit muss jedoch sichergestellt sein. Eine Beispiel-Job-Konfiguration ist im Anhang.


Damit wäre es in folgenden Asset-Imports möglich eine Aktualisierung vorzunehmen ohne das Skript anzupassen. Das besagte Attribut muss in zwei Wert-Spalten des CSV vorkommen (jeweiliger Wert-Index und auch in der Number).


Ich muss aber zugeben, ich habe nicht auf dem Schirm ob die Asset-Macro-Action in KIX Start oder erst ab KIX Pro/Cloud enthalten ist.


CU, Torsten
Titel: Re: csv Import/Update
Beitrag von: mplan am 15.12.2021 16:44:39
Hallo,Danke für die Antwort, auch wenn ich erst spät darauf reagiere.Ich habe das Perl Script testweise angepasst, so dass es prüft, ob eine Assetnummer bereits existiert für einen vorgegebenen Assetnamen und dann je nachdem ein neues Asset anlegt oder das bestehende aktualisiert.

Ihre Kollegen haben gemeint, man könne den csv-Import "ganz einfach" steuern. Noch habe ich es nicht gesehen und eine Beschreibung steht dafür auch noch aus.
Ich hoffe auf ein Update/Erweiterung des eigentlich sehr guten Tools "kix18.CSVSync.pl"  zum Anlegen und Aktualisieren für beliebige Assets, Organisationen und Kontakte
Viele Grüße,Michael
Titel: Re: csv Import/Update
Beitrag von: Torsten Thau am 20.12.2021 16:26:54
Hallo Michael,


verstehe ich das richtig, dass der Assetimport wie folgt erweitert werden sollte?


- (1) Vorgabe des Attribut-Spalten-Mappings, statt Verwendung CSV-Headlines (so wie Kontakte, Organisationen ...das wollte bislang noch keiner umsetzen :-/ )
  Die Assetstrukturen können durchaus beliebig sein. Das "Mapping" wird nur aktuell direkt im CSV erwartet und nicht extern vorgegeben.


- (2) Anlegen eines neuen Assets bei Verwendung einer nicht vorhandenen Asset-Nummer (in der Ziel-Klasse)


- (3) Verwendung des Assetnamens wie in Asset-Nummer (siehe 2), sofern eindeutig


...Du kannst Deine Anpassung auch gern als PR übermitteln. Ist zwar auf Grund des "internen" git und der dort vorhandenen Arbeiten manchmal ein wenig tricky - aber das bekommen wir schon hin und geht manchmal schneller als langwierig erklären.


CU, Torsten
Titel: Re: csv Import/Update
Beitrag von: mplan am 22.12.2021 13:44:33
Hallo Thorsten,
wir möchten Daten aus vorhandenen csv Files importieren.
wenn ich es richtig verstanden habe, kann das kix18Sync Tool grundsätzlich ein mapping vornehmen.
Ich kann mal versuchen, meine Anpassung hochzuladen und hoffe, die Entwickler bekommen nicht allzuviele Falten oder Lachkrämpfe wenn sie meine Änderungen anschauen.VG Michael
Titel: Re: csv Import/Update
Beitrag von: Torsten Thau am 24.12.2021 12:26:12
Hallo Michael,

schau mal ob Dir die eben ergänzten Möglichkeiten in https://github.com/cape-it/kix18sync nutzen.

Für den Assetimport gibt es jetzt die Optionen "--uam" (use asset mapping) und "--anl" (asset name lookup). Wie ein Assetattribut-zu-CSV-Spalten-Mapping ausschauen kann, findest Du in der Besipielkonfiguration für die Vorgabe-Assetklasse "Computer".

Das Importverhalten wurde ebenfalls angepasst, dh. wird eine Assetnummer (oder auch -name) nicht gefunden, wird nun kein Fehler geworfen sondern eine Neuanlage vorgenommen.

CU, Torsten (ohne h)
Titel: Re: csv Import/Update
Beitrag von: mplan am 27.12.2021 11:03:45
Hi Torsten,das ist ja eine schöne Bescherung! (diesmal ohne Zweideutigkeit!  :-)  )Das ist klingt nach dem, was wir benötigen. Ich werde es testen.
Vielen Dank!
Schöne Weihnachtsfeiertage!Michael