Zum Hauptinhalt springen

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.

Hinweis

Um diesen Leitfaden besser zu verstehen, lesen Sie bitte den vorherigen Leitfaden Arbeiten mit Plänen.

1. Definieren Sie einen Mangel-Inhaltstyp

Sind Inhaltstypen Ihnen neu?

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 Feld ParentContentItemId abgebildet wird und isRequired ist
  • wir ordnen auch das Feld status dem eingebauten Feld Status 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.

defects Einführung

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 auf 2 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
}
Download der Inhaltstypen

💾 Sie können die Inhaltstypen hier herunterladen.

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.

  1. 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.

  1. Erstellen Sie ein Inhaltstyp-Feld unter Verwendung des Inhaltstyps Mangel. Ordnen Sie jedes seiner Felder wie im folgenden Screenshot gezeigt zu.

Download der Arbeitsmappe

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.

Hinweis

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