Dynamische Fenster

Sie können dynamisch festlegen, ob ein Feld in einem Fenster in Web Access oder Ivanti Workspaces obligatorisch, schreibgeschützt oder ausgeblendet ist, je nachdem, welche Werte an anderer Stelle im Fenster ausgewählt wurden.

Einsatzbeispiele sind:

  • das Anzeigen zusätzlicher Felder, wenn eine bestimmte Kategorie oder ein bestimmter Benutzer ausgewählt wird
  • die Umwandlung eines Felds in ein obligatorisches Feld, wenn eine bestimmte Dringlichkeit gewählt wird
  • ein Standortfeld bearbeitbar machen, wenn ein Kontrollkästchen „Abwesend“ markiert wird

Dynamische Fenster stehen nur für Web Access und Ivanti Workspaces zur Verfügung und werden unter Verwendung von Berechnungen entwickelt, die zu Attributen im Objekt Designer hinzugefügt werden. Zum Berechnungseditor wurden neue Fensterfunktionen hinzugefügt, die für diese Fensterberechnungen zur Verfügung stehen. Beispiele für Berechnungen werden später gegeben und erklärt (siehe Beispiele für Fensterberechnungen) und stehen auch auf der Website der Ivanti Community zur Verfügung.

Weitere Informationen zur Erstellung von Berechnungen und zur Verwendung des Berechnungseditors finden Sie unter Berechnungen.

Die Fensterfunktionen sind:

:SetHidden(Attribut, True/False) (zeigt Attribute an und blendet sie aus)

:SetMandatory(Attribut, True/False) (macht Attribute obligatorisch oder nicht obligatorisch)

:SetMandatory(Attribut, True/False) (macht Attribute schreibgeschützt oder bearbeitbar)

wobei Attribut für den Namen des Felds steht, auf das Sie die Funktion anwenden möchten.

Wenn alle Felder in einem Gruppenfeld so definiert wurden, dass sie ausgeblendet (verborgen) sind, wird auch das Gruppenfeld selbst ausgeblendet. Wenn eines der Felder in einem ausgeblendeten Gruppenfeld auf sichtbar gesetzt wird, dann wird auch das Gruppenfeld sichtbar.

Attribute, die im Objekt Designer auf Objektebene als obligatorisch definiert wurden, können nicht über eine Fensterfunktion auf „nicht obligatorisch“ gesetzt werden.

Diese Berechnungen sind ausschließlich für Web Access und Ivanti Workspaces gedacht. Sie stehen nicht für die Manipulation von Fenstern in der Console zur Verfügung.

Planen des Fensterdesigns

Berechnungen zur Steuerung dieser Eigenschaften von Fenstern erfordern das Hinzufügen von drei Attributen zum Fenster:

  • das Triggerattribut, d. h. das Attribut, das bei einer Änderung die Ausführung der Berechnung veranlasst. Bei diesem Attribut muss außerdem die Eigenschaft Ist "Bei Änderung berechnen" im Window Manager auf True (Wahr) gesetzt sein und es muss zum Bedienfeld Abhängigkeiten des Berechnungseditors hinzugefügt worden sein.
  • das Zielattribut, d. h. das Attribut, das sich als Ergebnis der Berechnung ändert
  • das Berechnungsattribut, d. h. das Zeichenfolgenattribut auf dem Objekt des Fenster, das die Berechnung speichert

Zur einfacheren Identifizierung der Ziel- und Triggerattribute für die Fensterberechnungen kann es hilfreich sein, eine Anforderungsaussage für die Berechnung nach folgendem Muster niederzuschreiben:

Wenn das <Triggerfeld> auf <Wert> gesetzt wird, möchte ich den Wert <Eigenschaft> des Felds <Zielfeld> auf <wahr/falsch> setzen.

Wenn also beispielsweise das Feld CI erscheinen soll, wenn die Kategorie für einen Incident als Hardware definiert wird, würden Sie Folgendes schreiben:

Wenn Kategorie auf Hardware gesetzt wird, möchte ich die Eigenschaft SetHidden des Felds CI auf false (falsch) setzen.

Hieraus können Sie entnehmen, dass das Triggerattribut Kategorie lautet, das Zielattribut CI und dass :SetHidden(,) die Fensterfunktion ist, die Sie verwenden möchten. Sie möchten erreichen, dass für :SetHidden(,) der Wert false (falsch) gesetzt wird, da Sie nicht wollen, dass das Feld CI ausgeblendet wird.

Zielattribute, die Sie dynamisch aktualisieren können, sind:

  • Steuerelemente für Datum und Uhrzeit
  • Dropdown-Listen
  • Kategorielisten
  • Textfelder und numerische Felder

Als Trigger für diese Berechnungen kommen Änderungen bei folgenden Elementen in Frage:

  • Steuerelemente für die Datumsauswahl
  • Boolesche (sowohl Kontrollkästchen als auch Dropdowns)
  • Dropdown-Listen
  • Kategorielisten

Zwar müssen diese Attribute im Fenster vorhanden sein, aber Sie können sie bei Bedarf auch ausblenden, indem Sie die Eigenschaft ShowOnWindow im Window Manager auf False (Falsch) setzen. Das Fensterdesign und die Fehlerprüfung gestalten sich unter Umständen einfacher, wenn das Berechnungsattribut beim Entwurf des dynamischen Fensters sichtbar ist. Sie können es dann wieder ausblenden, wenn das Fenster live geht.

Bei Verwendung von Fensterberechnungen sind bestimmte Regeln zu beachten. In einem einzelnen Fensterdesign ist Folgendes möglich:

  • mehrere Berechnungsattribute zum Aktualisieren mehrerer unterschiedlicher Zielattribute
  • eine Berechnung mit einem Triggerattribut für die Aktualisierung mehrerer Zielattribute
  • eine Berechnung mit mehreren Triggerattributen für die Aktualisierung mehrerer Zielattribute

In jedem Fall zu vermeiden sind jedoch:

  • mehrere Berechnungsattribute zum Aktualisieren von ein und demselben Zielattribut

Die Gründe für diese Regeln sind in diesem Absatz geben, den Sie nicht lesen müssen, sofern Sie die oben angeführten Regeln befolgen. Alle Fensterberechnungen auf einem Fenster werden beim Öffnen des Fensters und bei Änderung des Triggerattributs ausgeführt. Damit wird sichergestellt, dass das Fenster bei jedem Aufruf die Daten, die jeweils in ihm angezeigt werden, auch richtig darstellt. Sie können jedoch keinen Einfluss auf die Reihenfolge nehmen, in der die Berechnungen beim Öffnen des Fensters ausgeführt werden. Dies bedeutet, dass Sie sicherstellen müssen, dass jedes Zielattribut nur von einer Berechnung aktualisiert wird, sonst könnten die Berechnungen beim Öffnen des Fensters zu nicht vorhersagbaren Ergebnissen führen. Sie können eine Berechnung erstellen, die mehr als ein Quellenattribut zum Aktualisieren eines einzigen Zielattributs verwendet, oder eine Berechnung, die mehr als ein Ziel aktualisiert. Fensterdesigns mit mehr als einer Berechnung für das jeweilige Zielattribut sollten Sie jedoch vermeiden.