JSON-Dokument einer Prozesslandkarte

Auf dieser Seite ist beispielhaft die Struktur eines JSON-Dokuments einer Prozesslandkarte dargestellt, welche ausschließlich aus einem (großformatigen) Hintergrund besteht. Ein solches Dokument kann beispielsweise als Payload (Request-Body) eines PUT-Requests für den auf der Seite Prozesslandkarten mit Hintergrundbildern programmatisch erstellen (experimentell) beschriebenen REST-Endpunkt zum Speichern der neuen Version einer Prozesslandkarte verwendet werden.

Achtung:

  • Hierbei müssen die u.g. Platzhalter ("INSERT_XYZ_HERE") durch inhaltlich passende Werte ersetzt werden.
  • Die REST-Endpunkte der API der PICTURE-Prozessplattform, welche JSON-Dokumente der hier beschriebenen Art als Parameter eines PUT-Requests entgegen nehmen, erwarten die Dokumente i.d.R. nicht im Klartext sondern als ZIP-komprimierte und Base-64-encodierte Strings (vgl. die entsprechenden Stellen der REST-API-Dokumentation)
Vom Endpunkt zum Speichern einer Prozesslandkarte erwartete Datenstruktur "Model"
{
		"id": "INSERT_RANDOM_UUID_1_HERE",
		"name": "INSERT_PROCESS_MAP_NAME_HERE",
		"description": null,
		"diagrams": [{
				"id": "INSERT_RANDOM_UUID_2_HERE",
				"name": "Hauptdiagramm",
				"description": null,
				"containment": {
					"x": -150.0,
					"y": -155.0,
					"width": INSERT_DOCUMENT_WIDTH_HERE,
					"height": INSERT_DOCUMENT_HEIGHT_HERE
				},
				"nodes": [{
						"attributes": {
							"#backgroundImage": {
								"imageLink": {
									"url": "INSERT_FILE_NAME_FROM_RESPONSE_TO_IMAGE_UPLOAD_REQUEST_HERE",
									"label": {
										"de": "INSERT_USER_DEFINED_LABEL_HERE",
										"en": "INSERT_USER_DEFINED_LABEL_HERE"
									}
								}
							}
						},
						"id": "INSERT_RANDOM_UUID_3_HERE",
						"label": {
							"position": {
								"x": 6.0,
								"y": 6.0
							},
							"label": "Prozesslandkarte",
							"labelArray": ["Prozesslandkarte"]
						},
						"containment": {
							"x": 0.0,
							"y": 0.0,
							"width": INSERT_IMAGE_FILE_WIDTH_IN_PIXELS_HERE,
							"height": INSERT_IMAGE_FILE_HEIGHT_IN_PIXELS_HERE
						},
						"lanes": [],
						"nodes": [],
						"localPosition": {
							"x": -110.0,
							"y": -115.0
						},
						"canvasPosition": {
							"x": -110.0,
							"y": -115.0
						},
						"size": {
							"width": INSERT_IMAGE_FILE_WIDTH_IN_PIXELS_PLUS_20_PIXELS_OFFSET_HERE,
							"height": INSERT_IMAGE_FILE_HEIGHT_IN_PIXELS_PLUS_40_PIXELS_OFFSET_HERE
						},
						"parentId": "INSERT_RANDOM_UUID_2_HERE",
						"nodeType": "PROCESSMAP_MAPCONTAINER"
					}
				],
				"edges": []
			}
		]
	}

Erläuterungen zu den o.g. Platzhaltern

PlatzhalterErläuterung
INSERT_RANDOM_UUID_1_HEREUUID der Prozesslandkarte (wie auch in den REST-API-Aufrufen zur eindeutigen Adressierung der Prozesslandkarte innerhalb eines Arbeitsbereichs verwendet)
INSERT_RANDOM_UUID_2_HERE

UUID des Diagramms.

Eine Prozesslandkarte kann aus einem oder mehreren Subdiagrammen bestehen. Innerhalb einer Prozesslandkarte muss jedes Diagramm anhand seiner UUID eindeutig identifiziert werden können. Bei der Neuerstellung eines Diagramms sollte dieser Wert i.d.R. durch einen UUID-Generator zufällig generiert werden. Haben zwei Diagramme in unterschiedlichen Prozesslandkarten die gleiche UUID, so kann dies von der Prozessplattform als ein Indiz dafür interpretiert werden, dass eines dieser Diagramme aus einer Kopie aus dem anderen Diagramm hervorgegangen ist.

INSERT_RANDOM_UUID_3_HERE

UUID des Modellements des "Hintergrundgrafik-Containers".

Dieser Wert muss innerhalb eines Diagramms eindeutig sein. Bei der Neuerstellung eines Diagramms sollte er i.d.R. durch einen UUID-Generator zufällig erzeugt werden. Haben zwei Modellelemente in verschiedenen Diagrammen die gleiche UUID, so kann dies von der Prozessplattform als ein Indiz dafür interpretiert werden, dass eines dieser Modellelemente aus einer Kopie aus dem anderen Modellelement hervorgegangen ist.

INSERT_PROCESS_MAP_NAME_HEREName der Prozesslandkarte. Sollte per Konvention mit dem Namen der Prozesslandkarte im Prozessregister übereinstimmen.
INSERT_FILE_NAME_FROM_RESPONSE_TO_IMAGE_UPLOAD_REQUEST_HEREDateiname der mit diesem Modellelement verknüpften Bilddatei (relativ zum zentralen Dateianhang-Speicherverzeichnis des Mandanten). Der hier anzugebende Name wird durch den Server beim Aufruf des Webservices zum Hochladen der Bilddatei (URL-Endung rest/files/workspace/{workspace_uuid}) in der Property "url" des JSON-Objektes, welches als Response vom Server übermittelt wird, angegeben.
INSERT_USER_DEFINED_LABEL_HEREBeschriftung der Bilddatei (im Sinne eines "alt"-Textes wie er im HTML-Tag "img" vorgesehen ist)
INSERT_IMAGE_FILE_WIDTH_IN_PIXELS_HEREBreite der Bilddatei in Pixeln
INSERT_IMAGE_FILE_HEIGHT_IN_PIXELS_HEREHöhe der Bilddatei in Pixeln
INSERT_IMAGE_FILE_WIDTH_IN_PIXELS_PLUS_20_PIXELS_OFFSET_HEREBreite der Bilddatei in Pixeln zzgl. eines Offsets von 20 Pixeln (für den Rahmen des Container-Elements)
INSERT_IMAGE_FILE_HEIGHT_IN_PIXELS_PLUS_40_PIXELS_OFFSET_HEREHöhe der Bilddatei in Pixeln zzgl. eines Offsets von 40 Pixeln (für den Rahmen des Container-Elements)
INSERT_DOCUMENT_WIDTH_HERE

Breite der Zeichenfläche des Prozesslandkarten-Dokuments, auf dem die Hintergrundgrafik platziert wird (in Pixeln).

Der hier angegebene Wert muss

  • größer oder gleich der Breite der Bilddatei zzgl. eines Offests von 60 Pixeln (20 Pixel Padding für den Hintergrundgrafik-Container, 40 Pixel für Seiten-Padding) sein
  • ein ganzzahliges Vielfaches von 850 sein.
INSERT_DOCUMENT_HEIGHT_HERE

Höhe der Zeichenfläche des Prozesslandkarten-Dokuments, auf dem die Hintergrundgrafik platziert wird (in Pixeln).

Der hier angegebene Wert muss

  • größer oder gleich der Höhe der Bilddatei zzgl. eines Offests von 80 Pixeln (40 Pixel Padding für den Hintergrundgrafik-Container, 40 Pixel für Seiten-Padding) sein
  • ein ganzzahliges Vielfaches von 1203 sein.