Moin,
wir haben da einen Bug in der 25 und 26.
Für beiden Versionen haben wir jeweils einen Hotfix erstellt und hochgeladen.
Entwicklungspartner
Moin,
wir haben da einen Bug in der 25 und 26.
Für beiden Versionen haben wir jeweils einen Hotfix erstellt und hochgeladen.
Hallo @KZinn
ich erinnere mich dunkel daran, das wir mal das Thema angesprochen hatten - damals aber noch ohne programmierte Kategorie Damit das XML als solches dargestellt wird müsstest du es für den Browser mittels
$xmlData = htmlentities($xmlData);
umformatieren, sonst wird probiert dieses als HTML zu interpretieren.
Die Funktion geht her und ersetzt z.B. alle <
mit <
und alle >
mit >
- dann wird der Browser das korrekt darstellen.
Wenn es sich um eine eigene Kategorie handelt wäre der richtige Ort dafür vermutlich die UI-Klasse. Wie übergibst du denn die Daten an das Template? Wird dieses einfach nur in der GUI gerendert oder soll es in einer Textarea dargestellt werden? Vielleicht könntest du Ausschnitte vom Code posten
Viele Grüße
Leo
Hi,
ich habe eine programmierte Kategorie mit einem longtext Feld erstellt. Darin möchte ich ein kleines XML speichern und es mir anzeigen lassen.
Das Speichern funktioniert mit der Einstellung cmdb.registry.sanitize_input_data = 0; die XML steht richtig in der Datenbank. Allerdings wird mir in der UI nur ein scheinbar leeres Feld angezeigt.
Wie kann ich mir den XML-Abschnitt anzeigen lassen?
Ein Beispiel für das XML ist:
<And>
<Module moduleID="mod1" property="HW" value="0815" />
</And>
Viele Grüße
Hallo @boni127
ich fürchte das Thema ist tatsächlich etwas komplizierter als zunächst gedacht - das liegt an den verschiedenen Kategorien und Beziehungen zwischen zwei Objekten.
Ich habe noch mal reingeschaut. Um die Person einer Organisation zuzuweisen habe ich die Kategorie C__CATS__PERSON_CONTACT_ASSIGNMENT
genutzt, das sieht dann so aus:
(new CMDBCategory($api))->save($objectIDp, 'C__CATS__PERSON_CONTACT_ASSIGNMENT', [
'object' => $objectIDc, // Organisation Objekt-ID
'role' => 'Administrator', // Rolle via ID oder String
]);
Viele Grüße
Leo
Hallo @cpokorny ,
das ist eine Zusammenfassung zu welchen Werten mit welchem Matching Kriterium geprüft wurde und dient nur zu debugging Zwecken damit man weiß welcher Wert für welches Kriterium genommen wird.
Laut dem Logging wurde beim Importierten Gerät aus JDisc die Seriennummer EM00MT7V verwendet und hat diese beim Objekt mit der Objekt-ID 3606 gefunden. Wurde hier ein falsches Gerät aktualisiert?
Beim 2ten Logging für das Matching wurde anscheinend nach einem referenziertem Objekt gesucht und das Gerät hat anscheinend nur eine Seriennummer im JDisc. Diese wurde so wie ich es sehe aber in i-doit gefunden mit der Objekt-ID 5746.
@cpokorny
Hast du beim Importieren die Protokollierung hoch eingestellt? Also auf
Wenn Ja dann kannst du einmal schauen was im Logfile unter diesem Gerät steht? Bzw. such mal nach der entsprechenden Seriennummer.
Da müsste irgendwas mit Matching value: 'SERIENNUMMER' on attribute ... stehen
Hallo @cpokorny ,
mit welchem Import Modus werden die Objekte importiert?
Aktualisieren oder Aktualisieren (Neu inventarisiert)?
Viele Grüße
VQH
Hey @l-hartmann
was erhältst du denn für Daten wenn du den Request abschickst? Und wie sieht der genaue JSON Request aus? Damit könnte ich das dann mal probieren nachzustellen
Viele Grüße
Leo
Hallo @StefanP74
aktuell funktioniert das leider noch nicht - ich habe es aber mal an die zuständigen Kollegen weitergeleitet
Viele Grüße
Leo
Hey @boni127
also zum hinzufügen einer Adresse benötigst du nur die Objekt ID der entsprechenden Organisation. Anschließend solltest du so etwas hier schreiben und nutzen können:
(new CMDBCategory($api))->save(123, Category::CATG__ADDRESS, [
'address' => "Mehrzeiliges\nTextfeld",
'street' => 'Musterstraße',
'house_no' => '123 A',
'stories' => 1,
'postcode' => '12345',
'city' => 'Musterstadt',
'region' => 'Region',
'country' => 'Land',
'description' => 'Beschreibung',
]);
Für die Personenzuweisung:
(new CMDBCategory($api))->save(123, Category::CATS__ORGANIZATION_CONTACT_ASSIGNMENT, [
'object' => 321, // Personen Objekt-ID
'role' => 'Administrator', // Rolle via ID oder String
]);
Ich habe den Code jetzt nicht im einzelnen getestet, aber etwa so sollte es aussehen
VG Leo