Verwendung von Plänen mit Mängeln
Dies ist der zweite Teil unseres Leitfadens für Pläne. In dem ersten Leitfaden haben wir eine Arbeitsmappe und einen Inhaltstyp vorbereitet, die es uns ermöglichen, ein Gebäude in unsere Checkliste zu laden und einen Plan dafür zu speichern. In diesem Leitfaden fügen wir einen Mangel-Inhaltstyp hinzu und konfigurieren die Arbeitsmappe so, dass Sie die Mängel dieses Gebäudes verfolgen und auf dem Plan des Gebäudes lokalisieren können.
Um diesen Leitfaden besser zu verstehen, lesen Sie bitte den vorherigen Leitfaden Arbeiten mit Plänen.
Um zu beginnen, 💾 laden Sie die fertige Arbeitsmappe von hier herunter und den 💾 Gebäude-Inhaltstyp von hier.
1. Definieren Sie einen Mangel-Inhaltstyp
In diesem Leitfaden gehen wir davon aus, dass Sie bereits mit der Erstellung von Inhaltstypen vertraut sind. Falls nicht, schauen Sie bitte in unserer Wissensdatenbank nach.
Beginnen wir mit einem sehr einfachen Inhaltstyp defect
zur Darstellung von Mängeln.
Wie Sie im folgenden JSON-Schnipsel sehen können, definieren wir einen Inhaltstyp mit einigen Feldern, um die Fehlernummer, eine kurze und lange Beschreibung, seinen Status und das Gebäude, zu dem er gehört, zu erfassen.
Dann gibt es die typische Mangel-Konfiguration:
- wir definieren eine Beziehung zu unserem zuvor erstellten Inhaltstyp
Gebäude
- dieser zeigt auf das Feld
building_ct
, das auf das eingebaute FeldParentContentItemId
abgebildet wird und isRequired ist - wir ordnen auch das Feld
status
dem eingebauten FeldStatus
zu - und definieren schließlich das Feld
builtInTypeId
6, das dem iCL-System anzeigt, dass es sich um einen Mangel handelt.
{
"$type": "contentType",
"name": "defect",
"displayName": "Building Defect",
"builtinTypeId": 6,
"titleFieldName": "defect",
"icon": "fa-building",
"fields": [
{
"$type": "contentField",
"name": "defect",
"displayName": "Defect",
"isRequired": true
},
{
"$type": "contentField",
"name": "defect_number",
"displayName": "Defect number",
"isRequired": true
},
{
"$type": "contentField",
"type": "LongText",
"name": "description",
"displayName": "Defect description"
},
{
"$type": "contentField",
"type": "Number",
"name": "status",
"displayName": "Status",
"builtInField": "Status"
},
{
"$type": "contentField",
"type": "ContentItem",
"name": "building_ct",
"displayName": "Building",
"isRequired": true,
"builtInField": "ParentContentItemId"
}
],
"relationships": [
{
"$type": "contentRelationship",
"name": "buildingrelation",
"displayName": "Building Relation",
"foreignKeyField": "building_ct",
"targetContentType": {
"$type": "contentTypeRef",
"id": "81d4bd07-6f42-46e0-a458-1b1aa55995d5",
"version": 1
}
}
],
"id": "2b61d0bf-0dbe-4910-b5fc-aee13aa99cd3",
"version": 1
}
2. Hinzufügen der Standortfunktion
Um Mängel auf einem Plan lokalisieren zu können, müssen wir dem Inhaltstyp ein Feature und zwei Felder hinzufügen.
Wenn Sie mit der Handhabung von Mängeln noch nicht vertraut sind, lesen Sie dieses Tutorial.
Fügen Sie zunächst die folgenden zwei Felder zu Ihrem Inhaltstyp hinzu:
{
"$type": "contentField",
"type": "Plan",
"name": "plan",
"displayName": "Plan"
},
{
"$type": "contentField",
"type": "PlanLocation",
"name": "location",
"displayName": "Location"
}
Das erste Feld ist wieder vom Typ Plan
- ähnlich wie unser Inhaltstyp Gebäude
. In diesem Fall wird es jedoch verwendet, um den Plan zu speichern, auf dem sich der Mangel befindet.
Dieser Plan gehört also nicht zum Mangel, sondern ist ein Verweis auf den Plan des Gebäudes.
Das zweite Feld vom Typ PlanLocation
wird dann tatsächlich verwendet, um die Position des Mangels auf dem Plan zu speichern.
Jetzt haben wir die Felder, um die notwendigen Informationen zu speichern, aber wir müssen dem iCL-System noch sagen, wie es sie verwenden soll. Dazu müssen wir das planLocation feature zum Inhaltstyp hinzufügen. Diese enthält die Konfiguration (Feldzuordnungen und dynamische Ausdrücke), die dem iCL-System mitteilen, wie ein Mangel auf einem Plan dargestellt werden soll.
"features": [
{
"$type": "planLocation",
"planFieldName": "plan",
"planLocationFieldName": "location",
"displayTextFieldName": "defect_number",
"planLocationMode": 2
}
],
Der obige Ausschnitt sagt iCL, dass
- der Inhaltstyp
defect
auf einem Plan zu finden ist - dass dieser Plan im Feld "plan" gespeichert ist
- der Ort im Feld
location
gespeichert ist - dass bei der Darstellung des Plans eine Beschriftung mit dem Wert des Feldes
defect_number
(das ist die Nummer des Mangels) angezeigt werden soll - und mit der Einstellung
planLocationMode
auf2
geben wir an, dass dieser Mangel als Punkt oder als Fläche (Polygon) gezeichnet werden kann
Schließlich sollte Ihr Inhaltstyp wie folgt aussehen:
{
"$type": "contentType",
"name": "defect",
"displayName": "Building Defect",
"builtinTypeId": 6,
"titleFieldName": "defect",
"icon": "fa-building",
"fields": [
{
"$type": "contentField",
"name": "defect",
"displayName": "Defect",
"isRequired": true
},
{
"$type": "contentField",
"name": "defect_number",
"displayName": "Defect number",
"isRequired": true
},
{
"$type": "contentField",
"type": "LongText",
"name": "description",
"displayName": "Defect description"
},
{
"$type": "contentField",
"type": "Number",
"name": "status",
"displayName": "Status",
"builtInField": "Status"
},
{
"$type": "contentField",
"type": "ContentItem",
"name": "building_ct",
"displayName": "Building",
"isRequired": true,
"builtInField": "ParentContentItemId"
},
{
"$type": "contentField",
"type": "Plan",
"name": "plan",
"displayName": "Plan"
},
{
"$type": "contentField",
"type": "PlanLocation",
"name": "location",
"displayName": "Location"
}
],
"relationships": [
{
"$type": "contentRelationship",
"name": "buildingrelation",
"displayName": "Building Relation",
"foreignKeyField": "building_ct",
"targetContentType": {
"$type": "contentTypeRef",
"id": "81d4bd07-6f42-46e0-a458-1b1aa55995d5",
"version": 1
}
}
],
"filteredSynchronization": true,
"features": [
{
"$type": "planLocation",
"planFieldName": "plan",
"planLocationFieldName": "location",
"displayTextFieldName": "defect_number",
"planLocationMode": 2,
"colorExpression": "#ff0000"
}
],
"id": "2b61d0bf-0dbe-4910-b5fc-aee13aa99cd3",
"version": 1
}
Laden Sie schließlich Ihre Inhaltstypen in das iCL Portal.
2. Erweitern Sie die Arbeitsmappe
Nun, da die Inhaltstypen definiert sind, können wir sie in unserer Arbeitsmappe verwenden. Zunächst importieren Sie den Typ "Mangel" in Ihre Arbeitsmappe.
Definieren Sie dann neben der Überschrift Plan eine Überschrift, die dazu dient, alle vorhandenen Mängel eines Gebäudes zu erfassen und diese auch zu lokalisieren. Nennen Sie sie "Mängel" und fügen Sie die folgenden vier Felder hinzu:
Erstellen Sie die folgenden Felder
- die Felder Nummer, Mangel und Beschreibung sollten Textfelder sein
- das Feld defects_objects sollte vom Typ content item sein und auf den Inhaltstyp defect abgebildet werden
- das Feld Ort sollte vom Typ PlanLocation sein - wir werden dies im Folgenden im Detail konfigurieren
Da wir mehrere Mängel verfolgen wollen, setzen Sie die Überschrift "Mangel" auf wiederholbar.
- Erstellen Sie einen Suchbegriff für das Planfeld.
Display Text: kann eine beliebige Zeichenkette sein. Dieser Text wird im Plan an der Stelle angezeigt, an der sich der Mangel befindet. Achten Sie darauf, dass der Text immer kurz ist und dem Benutzer hilft, den Mangel zu erkennen.
Plan-Element-ID: Eindeutige Kennung des Elements, das sich auf dem Plan befindet. Die App benötigt dies, um ein Symbol auf einem Plan mit dem Element/Mangel, für das es steht, zu verknüpfen. Aus diesem Grund sollten Sie in der Regel die Objekt- oder Mangel-Content-Id verwenden.
Farbe: Hex-Code-String. Z.B.
FF0000
für rot. Dies wird in der Regel verwendet, um eingezeichnete Elemente je nach ihrem Status einzufärben. Ein offenes Problem ist z.B. rot, während ein gelöstes Problem grün ist.Plan: Stellen Sie sicher, dass Sie es mit dem Planfeld verbinden, in dem der Ort platziert werden soll. Andernfalls weiß die App nicht, auf welchem Plan das geortete Element tatsächlich platziert werden soll.
Lokalisierungsmodus: Pin, Polygon oder beides. Normalerweise entscheiden Sie sich für Pin, da Sie damit einen Mangel/Objekt an einer einzigen Stelle positionieren können. Manchmal möchten Sie aber auch Flächen markieren. In diesem Fall ist polygon die Lösung. Wenn Sie beides auswählen, kann der Benutzer entscheiden, wie das Objekt auf dem Plan markiert werden soll.
- Erstellen Sie ein Inhaltstyp-Feld unter Verwendung des Inhaltstyps
Mangel
. Ordnen Sie jedes seiner Felder wie im folgenden Screenshot gezeigt zu.
Sie können 💾 die Arbeitsmappe hier herunterladen
Laden Sie die Arbeitsmappe in das iCL Portal hoch.
3. Mängel erstellen
Legen Sie in iCL Filler eine Prüfung mit der neuen Arbeitsmappe an und wählen Sie ein Inhaltselement vom Typ Gebäude
.
Wenn kein Inhaltselement sichtbar ist, erstellen Sie bitte eines, wie im vorherigen Teil des Leitfadens beschrieben
Nun können Sie eine Checkliste öffnen und mehrere Mängel anlegen, indem Sie eine neue Überschrift hinzufügen und die Felder ausfüllen.
Geben Sie dem Mangel eine Beschreibung und eine Nummer und klicken Sie dann auf die Schaltfläche "Position festlegen". Der Plan öffnet sich und Sie können ein Polygon anheften oder zeichnen.
4. Einen Überblick über die erstellten Mängel erhalten
Wenn Sie eine Liste aller Mängel sehen möchten, können Sie in der Inspektionsansicht zur Mängelliste gehen. Wenn Sie auf einen dieser neuen Mängel klicken, werden Sie zu der Überschrift der Checkliste weitergeleitet, in der der Mangel erstellt wurde.
Das Gleiche gilt für die Planansicht.
Schlussfolgerung
Mit diesem Leitfaden haben Sie gelernt, wie man
- einen Inhaltstyp so konfigurieren, dass er in einem Plan auffindbar ist
- Inhaltselemente auf einem Plan zu lokalisieren
- und wie die Pläne in der Inspektionsansicht angezeigt werden, so dass Sie einen Überblick über alle Pläne und gefundenen Elemente erhalten