Zum Hauptinhalt springen

Umgang mit Mängeln

Im vorherigen Leitfaden haben wir etwas über Inhaltstypen im Allgemeinen gelernt. Wir haben einen Inhaltstyp building erstellt, um Gebäude im iCL-System darzustellen. Nun wollen wir den nächsten Schritt machen und einen neuen Inhaltstyp namens "Mangel" einführen. Durch die Erstellung eines Inhaltstyps defect können wir Probleme oder Mängel, die in Gebäuden auftreten können, effektiv verfolgen und verwalten.

In diesem Leitfaden führen wir Sie durch den Prozess der Erstellung eines Inhaltstyps "Mangel", der Verknüpfung mit dem Inhaltstyp "Gebäude" und der Erstellung von Mangel-Instanzen für einzelne Gebäude. Am Ende dieses Tutorials werden Sie eine solide Grundlage für die Verwaltung von Mängeln in Gebäuden mit dem iCL-System haben.

für den Einstieg

Bevor Sie beginnen, lesen Sie den vorherigen Leitfaden über allgemeine Inhaltstypen und lesen Sie unsere Wissensdatenbank-Artikel über Inhaltstypen. Dieser Leitfaden baut auf dem in diesen Artikeln vermittelten Wissen auf.

Wir werden die Arbeit an der Arbeitsmappe zur Gebäudeinspektion aus den vorherigen Leitfäden fortsetzen,
💾 Sie können sie hier herunterladen

Erstellen Sie einen defect Inhaltstyp

Im iCL-System wird zwischen allgemeinen Inhaltstypen (z.B. building) und Mangel-Inhaltstypen unterschieden. Zusätzlich zu den grundlegenden Eigenschaften definieren Mangel-Inhaltstypen ein Objekt, zu dem sie gehören (genannt "parent") und den Zustand, in dem sie sich gerade befinden (z.B.: offen, in Bearbeitung, gelöst).

Lassen Sie uns einen Inhaltstyp defect erstellen, der zu dem Inhaltstyp building gehört, den wir bereits erstellt haben.

Der Anfang der JSON-Datei ist der building-Content-Type-Definition sehr ähnlich, aber in diesem Fall definieren wir nicht 'canBeInspected', sondern wir haben eine 'builtinTypeId' und diese ist auf 6 gesetzt. Wenn Sie nicht wissen, warum, lesen Sie den Beitrag hier.

  "$type": "contentType",
"name": "defect",
"displayName": "Defect",
"builtinTypeId": 6,
"titleFieldName": "defect_title",
"icon": ""

Lassen Sie uns nun die "Felder" definieren. Wir brauchen einen Titel, optional ein Foto und eine Beschreibung des Mangels, sowie das Elternelement und den Zustand, wie oben erwähnt.

"fields": [
{
"$type": "contentField",
"name": "defect_title",
"displayName": "Defect title",
"isRequired": true
},
{
"$type": "contentField",
"type": "FileEntry",
"name": "defect_photo",
"displayName": "Photo"
},
{
"$type": "contentField",
"type": "LongText",
"name": "description",
"displayName": "Description"
},
{
"$type": "contentField",
"type": "ContentItem",
"name": "building_ct",
"displayName": "Building",
"isRequired": true,
"builtInField": "ParentContentItemId"
},
{
"$type": "contentField",
"type": "Number",
"name": "status",
"displayName": "Status",
"builtInField": "Status"
}
]

Beachten Sie, dass der "Typ" des Feldes, das das Gebäude speichert, "ContentItem" ist und die Eigenschaft "builtInField" auf "ParentContentItemId" gesetzt ist. Dies teilt dem iCL-System mit, dass unser Mangel-Inhaltstyp ein Kind des Gebäude-Inhaltstyps ist, sodass wir ihn später in die Checkliste laden können.

Außerdem ist der Wert von 'builtInField' des letzten Feldes Status, was dem iCL-System mitteilt, dass es dieses Feld für alle statusbezogenen Funktionalitäten verwenden soll.

Nach den "Feldern" müssen wir auch die "Beziehungen" definieren. Hier geben wir die Beziehung zwischen dem Mangel und dem Gebäude an. Achten Sie darauf, dass Sie hier die ID des Inhaltstyps building verwenden!

"relationships": [
{
"$type": "contentRelationship",
"name": "buildingrelation",
"displayName": "Building",
"foreignKeyField": "building_ct",
"targetContentType": {
"$type": "contentTypeRef",
"id": "216bf3e2-a3a1-4941-9e58-dccf79f2038b",
"version": 1
}
}
]

Sehen wir uns die gesamte Mangel-Inhaltstypdefinition an.

{
"$type": "contentType",
"name": "defect",
"displayName": "Defect",
"builtinTypeId": 6,
"titleFieldName": "defect_title",
"icon": "",
"fields": [
{
"$type": "contentField",
"name": "defect_title",
"displayName": "Defect title",
"isRequired": true
},
{
"$type": "contentField",
"type": "FileEntry",
"name": "defect_photo",
"displayName": "Photo"
},
{
"$type": "contentField",
"type": "LongText",
"name": "description",
"displayName": "Description"
},
{
"$type": "contentField",
"type": "ContentItem",
"name": "building_ct",
"displayName": "Building",
"isRequired": true,
"builtInField": "ParentContentItemId"
},
{
"$type": "contentField",
"type": "Number",
"name": "status",
"displayName": "Status",
"builtInField": "Status"
}
],
"relationships": [
{
"$type": "contentRelationship",
"name": "buildingrelation",
"displayName": "Building",
"foreignKeyField": "building_ct",
"targetContentType": {
"$type": "contentTypeRef",
"id": "216bf3e2-a3a1-4941-9e58-dccf79f2038b",
"version": 1
}
}
],
"id": "86dc8088-520f-4f2b-9b09-c9578c2f16e7",
"version": 1
}

Laden wir sie in das iCL Portal hoch! Folgen Sie den Schritten aus dem vorherigen Tutorial.

Im iCL Portal sind die Mangel-Inhaltstypen mit einem kleinen Fehlersymbol in der Spalte 'Basistyp' gekennzeichnet.

Importieren Sie den Inhaltstyp in die Arbeitsmappe

Um dieses Tutorial übersichtlicher zu gestalten, ignorieren wir, dass Gebäude mehrere Stockwerke mit individuellen Mängeln haben können. Wir gehen davon aus, dass das Gebäude eine einzige Einheit ist und wir es als Ganzes prüfen.

Die folgenden Änderungen sind erforderlich:

  • das Kapitel "Kontrolle" nicht wiederholbar machen,
  • das Skript der Kapitelüberschrift löschen (durch Rechtsklick und 'Löschen'),
  • Entfernen Sie in der Überschrift "Kontrolle" das Feld "Stockwerk",
  • benennen Sie die Frage "Ist der Boden sicher?" in "Ist das Gebäude sicher?" um,
  • und schließlich löschen Sie die Frage "Ist es sehr gefährlich?" aus der Überschrift "Mangel" und auch das Skript "Existieren" aus dem Fotofeld, in dem das Feld verwendet wurde.
Hinweis

Dies ist ein sehr vereinfachtes Szenario, das der Demonstration dient. In komplexeren Szenarien (z.B. wenn jedes Stockwerk separat inspiziert wird) ist es natürlich auch möglich, Mängel zu erstellen und zu pflegen. In diesem Fall empfehlen wir, einen Inhaltstyp Etage zu erstellen (der zum Gebäude gehört), und die Mängel sollten dann zu den Etagen gehören.

Erstellen Sie das Feld für den Inhaltstyp

Erweitern wir nun die Arbeitsmappe um unseren neuen Inhaltstyp. Importieren Sie zunächst die JSON-Datei in die Arbeitsmappe.

Wir haben bereits eine Überschrift "Mangel" in der Arbeitsmappe. Erweitern wir sie ein wenig, um Mangel-Inhaltselemente erstellen zu können. Wir werden ein neues Inhaltselement und ein Textfeld hinzufügen.

Das Feld für das Inhaltselement sollte:

  • schreibgeschützt sein,
  • die Optionen "Automatische Erstellung", "Automatische Aktualisierung" und "Automatisches Ausfüllen" aktiviert haben und
  • die Mappings korrekt angeben.
Automatische Erstellung

Die 'Automatische Erstellung' ermöglicht es Ihnen, Inhaltselemente des ausgewählten Typs zu erstellen, wenn die Prüfung in iCL Filler abgeschlossen wird. Auf diese Weise können wir neue Mängel während einer Inspektion registrieren.


Hinweis

Beachten Sie, dass wir in der übergeordneten Zuordnung (building_ct) die id des building content item verwenden.

Hinzufügen des Statusfeldes

Wir brauchen ein weiteres Feld in der Überschrift "Mangel" für den Zustand des Mangels.

Der Zustand des Mangels muss eine Zahl sein. Wir können hier aber nicht einfach ein Zahlenfeld anlegen, denn woher sollen die Benutzer wissen, was sie eingeben sollen, welche Zahl was bedeutet? Stattdessen erstellen wir einen Radio-Button (ein Radio-Button erlaubt es dem Benutzer, nur eine von mehreren vordefinierten Optionen zu wählen).

Normalerweise hat ein Mangel die folgenden Zustände: neu, offen, behoben und archiviert. Erstellen wir einen Radiobutton mit diesen Optionen.

Das einzige Problem ist nun, dass dies keine Zahlen sind, sodass wir sie (noch) nicht im Feld "Status" des Inhaltselements verwenden können.

Im iCL Designer können Sie bei Multiple-Choice-Fragen Titel und Werte für die Antworten angeben. Die Titel werden dem Benutzer in iCL Filler angezeigt, aber die Werte können auch in Skripten verwendet werden. Lesen Sie mehr über Werte und Titel hier.

Wir können also Zahlen als Werte für die Optionen festlegen.

best practice

Sie können eine beliebige Zahl für den Status verwenden, aber bedenken Sie, dass Mängel mit einem Status über 9 in iCL Filler nicht angezeigt werden, wenn bestehende Mängel geladen werden.

Am besten verwenden Sie Zahlen zwischen 0 und 9 für Zustände wie neu/offen/behoben, und 10 für archiviert.


Das Mapping für "status" sollte wie folgt aussehen:

Antwortskripte erstellen

Wie im vorherigen Leitfaden fügen wir nun Skripte für die Antworten der Felder defect_title, description, photo und state hinzu. Verwenden Sie in diesen Skripten das Feld defect1 für das Inhaltselement.

Die 'Scripted Answer' des Feldes defect_title sollte sein:

Die Skripte für Beschreibung und Foto sind dem hier sehr ähnlich.

Die "Scripted Answer" für das Feld "state" sollte jedoch etwas komplexer sein. Wenn ein Mangel bereits existiert, sollten wir seinen Status laden, aber wenn er gerade erst erstellt wurde, sollte der Status automatisch auf "Neu" (mit dem Wert 0) gesetzt werden. Um dieses Skript hinzuzufügen, müssen wir zuerst lernen, wie man bestehende Mängel lädt.

Laden vorhandener Mängel

Ein Gebäude kann mehrere Mängel aufweisen. Wenn ein Gebäude inspiziert wird, sollte der Inspektor alle vorhandenen Mängel sehen und auch neue hinzufügen können.

Zuallererst müssen wir die Überschrift "Mangel" wiederholbar machen. Dies ermöglicht es den Benutzern, manuell neue Instanzen dieser Überschrift hinzuzufügen, wodurch für jede Überschrift ein neuer Mangel erstellt wird, da wir "Automatische Erstellung" gewählt haben.

Um alle vorhandenen Mängel zu laden, benötigen wir die Eigenschaft "Wiederholen für". In diesem Fall verwenden wir die Option "Verwandte Elemente".

Wir wollen die Überschrift für alle Objekte des Typs defect wiederholen, die zu dem Gebäude gehören, das gerade inspiziert wird. Hierfür verwenden wir die 'Abfrage'. Das folgende Skript wird die Aufgabe erfüllen:

Um sowohl die Wiederholung für vorhandene Elemente als auch das manuelle Hinzufügen von Elementen zu ermöglichen, wählen Sie in der Eigenschaft "Bearbeitung zulassen" die Option "Manuell hinzufügen/entfernen". Damit dies funktioniert, ist ein databound Feld erforderlich, klicken Sie auf 'Erstellen'.

Information

Das Ja/Nein-Feld für die Datenbindung gibt an, ob die Überschrift automatisch erstellt wurde (für einen bestehenden Mangel) oder vom Benutzer manuell hinzugefügt wurde (um einen neuen Mangel zu erstellen).

Wenn die Überschrift automatisch erstellt wurde, ist der Wert "Ja", andernfalls "Nein".

Diese Information wird vom System verwendet, um zu verhindern, dass Benutzer automatisch erstellte Überschriften/Kapitel entfernen. Auch wenn "Manuell hinzufügen/entfernen" konfiguriert ist, kann ein Benutzer immer nur die Überschriften/Kapitel löschen, die er manuell erstellt hat.

Mit diesem neuen Feld können wir nun das Antwortskript für das Feld State hinzufügen:

Es gibt nur noch eine letzte Sache, die in der Arbeitsmappe geändert werden muss: Derzeit gibt es die Überschrift "Mangel" nur, wenn die Antwort auf die Frage "Ist das Gebäude sicher?" falsch ist. Bei einem Gebäude, das zum ersten Mal inspiziert wird, kann das funktionieren. Bei einer erneuten Inspektion eines Gebäudes, das bereits Mängel aufweist, sollten diese jedoch geladen werden, unabhängig davon, ob Sie die Frage beantwortet haben oder nicht. Löschen wir das 'Exist'-Skript der Überschrift 'Mangel'.


Wir haben die Arbeitsmappe fertiggestellt. Laden Sie sie in das iCL Portal hoch.

Download der Arbeitsmappe

Sie können die icl-Datei von hier herunterladen.

Sehen wir uns das alles in iCL Filler an

Starten Sie eine neue Inspektion, wählen Sie das inspizierte Gebäude aus. Navigieren Sie dann zur Überschrift "Kontrolle" und wählen Sie die Option, dass das Gebäude nicht sicher ist.

Fügen Sie eine Überschrift "Mangel" hinzu, indem Sie auf das Symbol "+" klicken. Der Status der Überschrift wird automatisch auf "Neu" gesetzt.


Beachten Sie, dass Sie so viele Mängel hinzufügen können, wie Sie wollen.

Geben Sie nun den Titel und die Beschreibung ein und schließen Sie die Prüfung ab.

Hinweis

Beachten Sie, dass der Artikel erst nach Abschluss der Inspektion erstellt wird! Dies hat einen Grund:

Bevor Sie eine Inspektion abschließen, können Sie die Daten in der Checkliste nach Belieben ändern - und zwar so, wie es die Checkliste erlaubt. Sie können sogar eine Inspektion abbrechen und damit die Daten in den Checklisten löschen. Inhaltselemente live zu ändern, wäre keine gute Idee, da Sie versehentlich Daten löschen oder beschädigen könnten.

Aus diesem Grund werden Änderungen an Inhaltselementen erst nach Abschluss der Inspektion übernommen.

Feststellung des Mangels im iCL Portal

Gehen Sie zum iCL Portal und navigieren Sie zur Liste der defekten Inhaltselemente. Sie sollten das neu erstellte Element dort finden. Ändern Sie seinen Status von 'Neu' (0) auf 'Offen' (1).

Erneute Inspektion des Gebäudes

Stellen Sie sich vor, dass ein Monat vergangen ist und es an der Zeit ist, das Gebäude erneut zu inspizieren.

Synchronisieren Sie und starten Sie eine neue Inspektion mit demselben Gebäude. Wenn Sie nun zum Kapitel "Kontrolle" navigieren, sollte der bestehende Mangel bereits mit dem Status "Offen" geladen sein.


Wenn der Mangel noch vorhanden ist, können Sie ihn unberührt lassen oder ein Bild des aktuellen Zustands hinzufügen oder die Beschreibung ändern usw. Andernfalls, wenn das Problem behoben wurde, ändern Sie den Status in 'Behoben'.

Sie können auch neue Mängel hinzufügen, falls erforderlich.

Zusammenfassung

Mithilfe dieses Leitfadens haben Sie ein solides Verständnis für die effektive Verwaltung von Mängeln in Gebäuden mit dem iCL-System erlangt. Sie verfügen nun über die Werkzeuge und das Wissen, um Mängel zu erstellen und zu verfolgen und sicherzustellen, dass Probleme sofort erkannt, angegangen und behoben werden.

Wir hoffen, dass dieser Leitfaden informativ war und Sie mit den notwendigen Fähigkeiten ausgestattet hat, um Mängel in Zukunft effizient zu verwalten.

Wenn Sie das Gefühl haben, dass Sie verstehen, was Sie hier gelernt haben, und bereit sind, Ihr Wissen zu testen, ändern Sie die Arbeitsmappe zurück, um die Mängel Etage für Etage zu behandeln und die Mängel so zu verwalten.