Herunterladen:
Mit dem folgenden Bookmarklet lässt sich das Infomodell des Konnektors in eine Textdatei speichern.
Lege hierzu ein neues Lesezeichen im Browser an mit dem Namen "Infomodell speichern" und folgender Adresse:
Code: Alles auswählen
javascript:(function()%7Bfunction%20Get(yourUrl)%7Bvar%20Httpreq%20%3D%20new%20XMLHttpRequest()%3BHttpreq.open(%22GET%22%2CyourUrl%2Cfalse)%3BHttpreq.send(null)%3Breturn%20(Httpreq.responseText)%3B%20%20%20%20%20%20%20%20%20%20%0A%7Dvar%20infomodell%20%3D%20Get(%22%2Fadministration%2Fjson-data%2Finfomodell%22)%3B%0Afunction%20download(content%2C%20fileName%2C%20contentType)%20%7Bvar%20a%20%3D%20document.createElement(%22a%22)%3Bvar%20file%20%3D%20new%20Blob(%5Bcontent%5D%2C%20%7Btype%3A%20contentType%7D)%3B%20a.href%20%3D%20URL.createObjectURL(file)%3Ba.download%20%3D%20fileName%3Ba.click()%3B%0A%7D%0Alet%20date%20%3D%20new%20Date()%3B%0Adate%20%3D%20date.toISOString().slice(0%2C10)%3B%0Adownload(infomodell%2C%20window.location.hostname%20%2B%20%22-%22%20%2B%20date%20%2B%20%22.json%22%2C%20'text%2Fplain')%3B%7D)()%3B
Quellcode zum Bookmarklet (ist nur zur Anschauung und wird NICHT für das Bookmarklet benötigt)
Code: Alles auswählen
function Get(yourUrl){
var Httpreq = new XMLHttpRequest(); // a new request
Httpreq.open("GET",yourUrl,false);
Httpreq.send(null);
return (Httpreq.responseText);
}
var infomodell = Get("/administration/json-data/infomodell");
function download(content, fileName, contentType) {
var a = document.createElement("a");
var file = new Blob([content], {type: contentType});
a.href = URL.createObjectURL(file);
a.download = fileName;
a.click();
}
let date = new Date();
date = date.toISOString().slice(0,10);
download(infomodell, window.location.hostname + "-" + date + ".json", 'text/plain');
Hochladen:
Mit dem folgenden Bookmarklet lässt sich das Infomodell auf den selben oder einen anderen Konnektor hochladen. Achtung: CT_IDs müssen ggf. manuell angepasst werden. Aktuelles Infomodell wird unwiderbringlich überschrieben!
Lege hierzu ein neues Lesezeichen im Browser an mit dem Namen "Infomodell hochladen" und folgender Adresse:
Code: Alles auswählen
javascript:(function()%7Blet%20infomodell%20%3D%20prompt(%22Fuegen%20Sie%20hier%20das%20Infomodell%20aus%20ihrer%20Textdatei%20ein%22%2C%20%22%22)%3B%0Afetch(%22%2Fadministration%2Fjson-store%2Finfomodell%22%2C%20%7B%20method%3A%20%22POST%22%2C%20body%3A%20infomodell%2C%7D)%3B%7D)()%3B
Quellcode zum Bookmarklet (ist nur zur Anschauung und wird NICHT für das Bookmarklet benötigt)
Code: Alles auswählen
let infomodell = prompt("Fuegen Sie hier das Infomodell aus ihrer Textdatei ein", "");
fetch("/administration/json-store/infomodell", { method: "POST", body: infomodell,});
Vorgehen:
- Lesezeichen anlegen
- Auf dem Konnektor Port 9443 einloggen (zur Kommunikation wird eine aktive Login-Session benötigt).
- Gewünschtes Lesezeichen klicken.
FAQ:
- Wenn ich auf "Infomodell importieren" klicke nimmt er mein Infomodell nicht an
Das ist richtig. Die Konnektor-Funktion Infomodell importieren nimmt von den Primärsystemen erzeugte xml-Dateien an. Die JSON Datei ist nicht kompatibel. Sie müssen die JSON Datei in einem Editor öffnen, sie in die Zwischenablage kopieren (STRG + A und dann STRG + C) und im Anschluss mit STRG + V in das Textfeld einkopieren, welches sich öffnet, wenn sie auf das "Infomodell hochladen" Bookmarklet klicken.
- Funktionieren diese Skripte auf allen Konnektoren?
Nein, nur auf der KocoBox
- Was machen die Skripte?
Sie bedienen die Weboberfläche des Konnektors, d.h. sie lesen und speichern im Kontext der aktuellen Login-Sitzung des Browsers die offizielle JSON-Schnittstelle.
- Kann ich das Tool für eine Migration des Konnektors nutzen?
Ja. Aber die CT_IDs müssen ggf. angepasst werden.
- Klappt das mit CGM MANAGED TI?
Nein, die Weboberfläche muss erreichbar sein.
- Kann ich damit mehr als nur das Infomodell speichern und hochladen?
Nein. Ich werde diese Funktionen auch nicht nachliefern. Aber man könnte es selbst leicht anpassen, um z.B. Zertifikate oder VSDM Receipt Keys zu migrieren.
Grüße
Christian Krause