Upload
Die Benutzeroberfläche ermöglicht das Importieren von Modellen (einschließlich aller enthaltenen Elemente) aus unterschiedlichen Formaten.
Benutzer mit der Zugriffsstufe Administrator sind immer berechtigt, Modelle zu importieren.
Zusätzlich können im Workflow bestimmte Rollen definiert werden, die Modelle importieren dürfen.
Benutzer mit der Zugriffsstufe Editor sind berechtigt, Modelle zu importieren, wenn sie in einer dieser Rollen für das Modell verantwortlich sind.
Im Gegensatz dazu darf jeder Benutzer Metadaten exportieren und Reports generieren.
Funktionsweise
Der Upload in der Benutzeroberfläche hat die gleiche Funktionsweise und Semantik wie das Upload-API. Alle Optionen können im Upload-Dialog konfiguriert werden.
Formate
Beim Importieren von Modellen werden folgende Formate unterstützt:
| Format | Dateierweiterung | Beschreibung |
|---|---|---|
Microsoft Excel | .xlsx | XLSX (Excel Spreadsheet) |
CSV (Gezippt) | .zip | CSV (Comma-separated values) in ZIP-Datei |
XML | .xml | XML (Extensible Markup Language) |
JSON | .json | JSON (JavaScript Object Notation) |
SQL | .ddl, .sql | DDL/SQL (Data Definition Language), nur für Datenmodelle |
XSD (Gezippt) | .zip | XSD (XML Schema Definition) in ZIP-Datei, nur für Datenmodelle |
JSON Schema (Gezippt) | .zip | JSON Schema in ZIP-Datei, nur für Datenmodelle |
Die Properties richten sich nach dem Modell welches importiert wird, und bestehen aus allen Properties, die laut Metamodell standardmäßig definiert sind, ergänzt um alle kundenspezifischen Custom-Properties, die in der jeweiligen Datenbank konfiguriert sind.
Aufruf
Der Upload-Dialog kann im Objektfenster des Modells, durch Klicken des Upload-Symbols, geöffnet werden.

Eine Datei kann mittels Drag and Drop in den Upload-Dialog gezogen werden. Alternativ kann ein Dateiauswahl-Dialog geöffnet werden, um eine Datei aus dem Dateisystem auszuwählen.

Falls eine Datei mit der Erweiterung .zip geöffnet wird, muss das genaue Format (CSV, XSD oder JSON Schema) ausgewählt werden (siehe Option format).
Standardmäßig ist CSV (Gezippt) ausgewählt.
Die Version (siehe Option v) hat Einfluß auf den Abgleich der importieren Elemente und kann geändert werden.
Version 3 (empfohlen) ist standardmäßig ausgewählt.
Der Modus (siehe Option operation) definiert, ob bereits vorhandene Elemente, die im Modell nicht importiert wurden, als obsolet gelten.
- Hinzugefügte Elemente können auf einen angegebenen Status gesetzt werden (siehe Option
onInsert) - Geänderte Elemente können auf einen angegebenen Status gesetzt werden (siehe Option
onUpdate) - Obsolete, nicht mehr vorhandene Elemente können gelöscht oder auf einen angegebenen Status gesetzt werden (siehe Option
onDelete).
Der Upload kann als Probelauf durchgeführt werden oder Daten tatsächlich ändern:
- Durch Klick auf "Vorschau" (siehe Option
dryRun) wird ein Job gestartet, der den Upload als Probelauf durchgeführt, jedoch ohne Daten tatsächlich zu ändern. Anschließend werden die Statistik und das Protokoll angezeigt. - Durch Klick auf "Upload" wird ein Job gestartet, der den Upload tatsächlich durchführt. Anschließend werden die Statistik und das Protokoll angezeigt.
- Durch Klick auf "Stoppen" wird der laufende Upload gestoppt.
Durch Klick auf "Schließen" kann der Dialog geschlossen werden, ohne den laufenden Upload zu stoppen. Der Benutzer kann die Applikation weiter benutzen, während der Upload im Hintergrund läuft. Der Upload kann gegebenenfalls später im Dashboard gestoppt oder erneut gestartet werden.

Fehlerbehandlung
Treten beim Upload schwerwiegende Fehler auf, wird eine entsprechende Fehlermeldung ausgegeben. In diesem Fall wird der gesamte Upload abgebrochen und es werden keine Daten geändert. Die genaue Fehlerursache kann dem Protokoll entnommen werden.

Fehlerbehebung
Beim Upload sind die Eigenheiten der jeweiligen Formate zu berücksichtigen. Durch das Beachten einiger Hinweise können viele Fehler und Probleme vermieden werden.
| Fehlerquelle | Auswirkung | Lösung |
|---|---|---|
| Duplikate von Elementen | Der Import von Elementen mit identischen fachlichen Schlüsseln kann zu Fehlern führen. Jedenfalls wird mit jedem Auftreten das vorangegangene Element überschrieben. | Nach dem Zusammenkopieren von Inhalten aus unterschiedlichen Quellen sollte überprüft werden, ob Duplikate vorhanden sind, und diese gegebenenfalls vor dem Import korrigiert oder entfernt werden. |
| Spalten in Excel oder CSV, die keiner gültigen Property entsprechen | Ungültige Spalten führen zum Abbruch des Imports. | Es dürfen nur Spalten vorhanden sein, denen Properties entsprechen, die laut Metamodell standardmäßig definiert sind bzw. kundenspezifischen Custom-Properties, die in der jeweiligen Datenbank konfiguriert sind. Weitere Spalten (z.B. Kommentare) müssen vor dem Import entfernt werden. |
| Fehlende Zuordnung zur Sammlung | Fehlende Zuordnungen führen zum Abbruch des Imports. | Bei allen Elementen, die innerhalb von Sammlungen liegen, muss eine Referenz auf eine Sammlung angegeben werden. |
| Ungültige Werte in Properties mit Wertelisten | Ungültige Werte, die nicht der Werteliste entsprechen, führen zum Abbruch des Imports. | Beim Export nach Excel werden bei Properties mit Wertelisten die möglichen Werte als Dropdown-Liste im Feld hinterlegt. Beim Import sollten nur diese Werte ausgewählt werden. |
| Fehlender Status | Fehlender Status führt zum Abbruch des Imports. | Bei allen Elementen muss ein Status angegeben werden. Nach dem Export nach Excel kann der Status aus einer Dropdown-Liste ausgewählt werden. Das Feld "Status" muss mit einem gültigen Wert aus der Dropdown-Liste befüllt sein. |
| Ungültige Referenzen zu anderen Elementen | Eine Referenz auf ein nicht vorhandenes Element bzw. ein ungültiger fachlicher Schlüssel führt zum Abbruch des Imports. | Jede Referenz muss ein gültiger fachlicher Schlüssel zu einem vorhandenen Element sein. |
| Leerzeilen | Leerzeilen können zur fehlerhaften Verarbeitung der nachfolgenden Elemente führen. | Leerzeilen innerhalb der Felder müssen entfernt werden. |
Je nach Format entsprechen die Namen der Properties den angezeigten Beschriftungen in der Benutzeroberfläche oder den (internen englischen) Attributsnamen (laut Metamodell). Für Properties, deren Werte aus Wertelisten stammen, wird die Bezeichnung des Codes (wie in der Benutzeroberfläche angezeigt) oder der jeweilige Code (laut Metamodell) erwartet.