Skip to main content

Sever - Dynamic GUI Editor

DynamischDynamically generiertegenerated GUIs kommenare used in verschiedenenvarious Pluginsplugins. zumThese Einsatz.can Diesebe könnenconveniently mithilfecreated desand easily edited using the Dynamic GUI EditorsEditor. komfortabelGUI erstelltelements undcan einfachbe bearbeitetprovided werden.with Zurrules weiterento Unterstützungfurther dersupport Benutzerinteraktionuser könneninteraction. GUI-ElementeThis mitallows Regelnthe versehencontent werden.and Dadurchfunction kannof Inhaltother undelements Funktionto andererbe Elementecontrolled gezieltin gesteuerta werden.targeted manner.

AufbauOverview

  • Layout
  • Edit GUI
  • Controls
  • Rules
  • XML definition

Layout

DasThe Hauptfenstermain gliedertwindow sichis divided into three areas. On the left are the available controls, in dreithe Bereiche.center Linksis befindenthe sichdesign dieview, zurand Auswahlon stehendenthe Kontrollelemente,right inare derthe Mittedetailed istsettings diefor Design-Ansichtthe zuselected finden und rechts die Detaileinstellungen des jeweils ausgewählten Elements.element.

Edit GUI bearbeiten

NeuCreate erstellennew

ZumThere Erstellenare einerseveral neuenways GUIto stehencreate mehrea Möglichkeitennew zurGUI. Verfügung.Via Überthe dasfile Dateimenumenu File -> New oderor in derthe Menüleistemenu kannbar einea neuenew leereempty GUI erstelltcan werden.be Dabeicreated. müssenA einname Nameand undthe derdestination Zielortmust angebenbe werden.specified.

Create-New-GUI.png

Rename-Copy-Close.png

WeiterIt bestehtis diealso Möglichkeit,possible eineto neuecreate a new GUI alsas Kopiea einercopy bestehendenof zuan erstellen.existing Diesesone. geschiehtThis überis dasdone Kontextmenüvia desthe Reiterscontext einermenu bereitsof geöffnetenthe tab of an already opened GUI. DabeiA wirdcopy eineis Kopiecreated imin gleichenthe Verzeichnissame angelegtdirectory undand alleall Einstellungensettings samtincluding definiertendefined Regelnrules werdenare transferred 1:1 übernommen.1.

UmbenennenRename

DasRenaming Umbenennenis erfolgtdone übervia dasthe Kontextmenücontext desmenu Reitersof einerthe geöffnetentab of an opened GUI. Über Rename wirdopens derthe entsprechendecorresponding Dialog geöffnet.dialog.

GUI-umbenennen.png

ÖffnenOpen undand schließenclose

EineAn bestehendeexisting GUI-DateiGUI kannfile übercan dasbe Dateimenuopened via File -> Open oderin the file menu or in derthe Menüleistemenu geöffnetbar. werden.Closing Dasis Schließendone erfolgt übervia File -> Close imin Dateimenü,the file menu, in derthe Menüleistemenu oderbar or Close imin Kontextmenüthe descontext Reitersmenu einerof geöffnetenthe tab of an open GUI. SollteIf die zu schließendethe GUI nichtto gespeichertebe Änderungclosed beinhalten,contains erfolgtunsaved einechanges, Rückfrage.a query is made.

SteuerelementAdd hinzufügencontrol element

UmTo einadd Elementan hinzuzufügen,element, wirdthe dasdesired gewünschteelement Elementis linksselected in derthe Auswahlselection selektierton undthe perleft Dragand placed in the desired position in the design view using drag & Drop in der Design-Ansicht an gewünschter Position platziert.drop.

SteuerelementRemove entfernencontrol element

MarkierteSelected Elementeelements könnencan überbe removed via [Entf]Del] oderor dasthe Kontextmenucontext entferntmenu. werden.There Esis erfolgtalways dabeia immerconfirmation eineprompt. Sicherheitsabfrage.When Beimdeleting, Löschenall werden automatisch alle Regelnrules (s.see Regeln)Rules) gelöscht,are welcheautomatically mitdeleted demwhich Elementwere direktdirectly assoziiertassociated warenwith oderthe eselement alsor Zielhad gesetztset hatten.it as a target.

PositionChange verändernposition

ZumTo Ändernchange derthe Positionposition, werdenthe diedesired gewünschtenelements Elementeare markiertselected undand per Dragdragged & Dropdropped anto ihrertheir neuenew Positionposition.

gezogen.

.

KopierenCopy undand Einfügenpaste

Ausgewählte.

Elemente

Selected könnenelements übercan be copied using [Strg]Ctrl]+[c] oderor dasthe Kontextmenücontext kopiertmenu undand mitpasted again at any position using [Strg]Ctrl]+[v] oderor überthe dascontext Kontextmenümenu. anThis beliebigerprocess Stelleis wiederalso eingefügtpossible werden.between Diesermultiple Vorgangopen istGUIs, auchbut zwischenno mehrerenrules geöffnetenare GUIscopied möglich,along jedochwith werdenthem, dabeias keinetheir Regelnconsistency mitkopiert,can dano ihrelonger Konsistenzbe nicht mehr gewährleistet werden kann.guaranteed.

VorschauPreviewing undand Testentesting einera GUI

Über.

Using in derthe Menüleistemenu wirdbar, eina Vorschaufensterpreview derwindow aktuellof ausgewähltenthe currently selected GUI geöffnet.is opened.

Vorschau_GUI.png

HierHere könnenall alleelements Elementewith mittheir ihrenset gesetztenproperties Eigenschaftenand unddefined definierten Regelnrules (s.see Regeln)Rules) getestetcan undbe auftested ihreand Funktionalitätchecked überprüftfor werden.functionality.

ÄnderungenSave speichernchanges
.

ZumFor Speichernsaving, stehenthe functions save and save all are available in demthe Menüleistemenu undbar imand Dateimenüin unterthe Filefile diemenu Funktionenunder speichernFile.

und alle speichern zur Verfügung.

.

Controls

Textbox

TextboxenText verfügenboxes überhave dreithree spezifischespecific Eigenschaften:properties:

  • ReadOnly, gibtspecifies an,whether obthe deruser Benutzeris denallowed gesetztento Textedit editierenthe darf.set text.
  • Mask, einean Eingabemaskeinput zurmask Unterstützungto beisupport derthe Eingabe,input, zumfor Beispielexample __:__:__:__
  • Validation Regex, hierhere kann einea Regular Expression gesetztcan werdenbe nachset welcherafter diewhich Validierungthe dervalidation Eingabeof erfolgt.the input takes place.


ComboBox

ÜberVia ComboBox1.png  wirdthe dercontent Inhaltof einera ComboBox bearbeitet.is Hieredited. könnenHere Elementeyou hinzugefügt,can entferntadd oderor ihreremove Positionelements geändertor werden.change their position.

comboBox2.png

MitAlso Defaultfor kannthe einelements Wertof alsa vorselektierterComboBox Standwertapplies, definierttheir wird.name Esmust kannbe nurunique einwithin Elementthe alsComboBox. StandartwertIf definiertan sein.attempt Wirdis einmade neuesto Elementassign alsa solchesname markiert,twice, wirdthe dieseprogram Eigenschaftwill beimautomatically altenadjust automatischit aufto Falsea gesetzt.valid value.

Über Value wird der intern zu nutzende Wert definiert.

Properties

EmptyEach erzeugtcontrol has properties. These can be viewed and edited in derthe Darstellungright einpart. leeresChanges Auswahlelement.

are

Auchvisible für die Elemente einer ComboBox gilt, ihr Name muss innerhalb der ComboBox einzigartig sein. Wird versucht, einen Namen doppelt zuzuweisen, wird dieser automatisch vom Programm auf einen gültigen Wert angepasst.

Eigenschaften

Jedes Steuerelement verfügt über Eigenschaften. Diese können im rechten Teil eingesehen und bearbeitet werden. Änderungen werden direktdirectly in derthe Design-Ansichtdesign sichtbar.view. DabeiEach hatelement jedeshas Elementa einenname, Namen,which welcheris innerhalbused einerwithin a GUI derfor Zuordnungassignment dientand undmust deshalbtherefore einzigartigbe seinunique. muss.This Diesesis wirdensured durchby dasthe Programmprogram. sichergestellt.If Solltean versuchtattempt werden,is einenmade bereitsto vergebenenassign Namenan einemalready Elementassigned zuzuweisen,name wirdto dieseran automatischelement, aufit einenwill gültigenautomatically Wertbe angepasst.adjusted to a valid value.

FriendlyName ist jeweils dieis in dereach GUIcase anzuzeigendethe Beschriftung.label to be displayed in the GUI.

Eigenschaften_GUI_Editor.png

Mask-TokensMask tokens

UnterMask tokens can be defined under "Mask". könnenThis Mask-Tokensdefines definiertthe werden.formats Damitof werdenthe dieinput Formate der Eingabefelder festgelegt.fields.

Mask-TokenMask tokens EigenschaftProperty
A AlphanumerischAlphanumeric oderor eina Sonderzeichen,special erforderlich.character, required.
a AlphanumerischAlphanumeric oderor eina Sonderzeichen,special nichtcharacter, erforderlich.not required
L Buchstabe,Letter, erforderlich.required. BeschränktRestricts diethe Eingabeinput aufto diethe ASCII-BuchstabenASCII letters a-z undand A-Z. DiesesThis Maskenelementmask istelement äquivalentis zuequivalent to [a-zA-Z] in regulärenregular Ausdrücken.expressions.
l Buchstabe,Letter, nichtnot erforderlichrequired
\ BrichtBreaks einout Maskenzeichena ausmask undcharacter verwandeltand esturns init eininto Literal.a literal. "\" istis diethe Escape-Sequenzescape fürsequence einenfor Backslash.a backslash.
AlleAll anderenother Zeichencharacters (Literale)Literals) AlleAll Nicht-Masken-Elementenon-mask werdenelements are displayed in RadMaskedTextInput alsas siethemselves. selbstLiterals angezeigt.always Literaletake nehmena zurstatic Laufzeit immer eine statische Positionposition in derthe Maskemask einat undruntime könnenand vomcannot Benutzerbe nichtmoved verschobenor oderdeleted gelöschtby werden.the user.

MehrMore Informatioenninformation unterat  Telerik Mask Tokens.

EinAn Beispielexample einerof Maskea fürmask dasfor Eigebenentering einera MAC-Adresse:MAC address:

AA-AA-AA-AA-AA-AA

Validation Regexregex

MitThe dervalidation Validationregex Regexcan könnenbe dieused to limit the characters allowed in derthe Eingabe erlaubten Zeichen beschränkt werden.input.

Ein.

Beispiel

An Einerexample Regexof diea nurregex Buchstabenthat vonallows only letters from A bisto FF, erlaubt,for fürentering dasa EigebenMAC einer MAC-Adresse:address:

^[{]?[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}[}]?$

AlsElements marked as Internal markierte Elemente sindare essentiellessential fürfor diethe Funktionsweisefunctionality einesof Plug-Ins.a Werdenplug-in. dieseIf gelöschtthese oderare ihrdeleted Nameor geändert,their kannname dieis Funktionchanged, desthe jeweiligenfunction Plug-Insof nichtthe mehrrespective gewährleistetplug-in werden.can no longer be guaranteed.

RegelnRules

DasThe Regelkonzeptrule istconcept einis festeran Bestandteilintegral dynamischerpart of dynamic GUIs. RegelnRules ermöglichenmake es,it diepossible Auswahlto eineslink ComboBox-Elementesthe mitselection weiterenof automisch auszuführenden Aktionen zu verbinden. So kann zum Beispiel ein Wert einer anderena ComboBox selektiert,element oderwith derfurther Inhaltactions einesto Textfeldesbe verändertexecuted werden.automatically. For example, a value of another ComboBox can be selected, or the contents of a text field can be changed.

EinA ComboBox-ElementComboBox kannelement can contain n Regeln enthalten.rules.

AufbauLayout

EineA Regelrule bestehtconsists ausof fünffive Informationen:pieces of information:

DasThe übergeordneteparent GUI-Element.GUI element.

DasThe auslösendetriggering Element.element.

DasThe Ziel-GUI-Element.target GUI element.

DerThe zucontent setzendeto Inhalt.set.

EineAn Aktion,action diethat beschreibt,describes waswhat mitto demdo Zielwith geschehenthe soll.target.

BisAll aufsettings dasexcept übergeordnetefor GUI-Elementthe könnenparent alleGUI Einstellungenelement nachträglichcan bearbeitetbe werden.edited later.

RegelübersichtRules overview

EineAn Übersichtoverview allerof all rules present in derthe ausgewähltenselected GUI vorhandenenis Regelnaccessed wird übervia in derthe Menüleistemenu aufgerufen.bar.

Rules-Overview.png

Regeln hinzufügenAdd & bearbeitenedit rules

Hierzu stehen zwei verschiedene Varianten zur Verfügung. Die komfortabelste Möglichkeit besteht über die Regelübersicht, die andere erfolgt über die Eigenschaften eines ComboBox-Elementes..

VarianteThere Regelübersicht:are two different variants available for this purpose. The most convenient option is via the rule overview, the other is via the properties of a ComboBox element.

.

Variant rule overview:

NeueCreate Regelnew anlegenrule

DasThe Anlegencreation einerof neuena Regelnew erfolgtrule überis done via in derthe Menüleiste.menu Imbar. folgendenIn Dialogthe werdenfollowing vondialog, obenthe nachdesired untensettings dieare jeweilsassigned gewünschtenin Einstellungeneach zugewiesen.case from top to bottom.

Create-New-Rule.png

VorhandeneEdit Regelexisting bearbeitenrule

UmTo eineedit Eigenschafta derproperty Regelof zuthe bearbeiten,rule, wirdselect dieseit in derthe Regelübersichtrule selektiertoverview undand dannthen mitpress [F2] oderor perdouble-click Doppelklickto inswitch dento Bearbeitungsmodusedit gewechselt.mode.

Vorhandene-Regel-bearbeiten.png

RegelRemove entfernenrule

UmTo einedelete oderone mehrereor Regelnmore zurules, löschen,they werdenare diesehighlighted markiertand undthen danndeleted übervia delete.png in derthe Menüleistemenu oderbar mitor with [Entf]Del]. gelöscht.A Esconfirmation erfolgtprompt einewill Sicherheitsabfrage.be displayed.

VarianteVariant Eigenschaftenproperties einesof ComboBox-Elementes:a ComboBox element:

DieseThis Variantevariant bietetis sichuseful an,if wennyou manwant beimto Hinzufügendefine vonrules ComboBox-Elementendirectly direktwhen Regelnadding definierenComboBox möchte.elements. ÜberVia in denthe Eigenschaftenproperties einenof ComboBox-Elementsa wirdComboBox derelement Regel-Editorthe geöffnet.rule editor is opened.

Eigenschaften-ComboBox-Element.png

NeueAdd Regelnew hinzufügenrule

EineA neuenew leereempty Regelrule wirdis überadded via Add-Icon.png hinzugefügt..

VorhandeneEdit Regelexisting bearbeitenrule

UmTo eineedit vorhandenean Regelexisting zurule, bearbeiten,select wird diese linksit in derthe Auswahlselection selektiert.on Daraufhinthe könnenleft. imThen rechtenits Teilproperties descan Fenstersbe ihreedited Eigenschaftenin editiertthe werden.right part of the window

.

RegelRemove entfernenrule

UmTo einedelete oderone mehrereor Regelnmore zurules, löschen,they werdenare diesehighlighted markiertand undthen danndeleted übervia Remove-Icon.png gelöscht.There Eswill erfolgtbe keineno eineconfirmation Sicherheitsabfrage.prompt.

XML-

XML Definition

BeiThe derunderlying zugrundeliegendenXML XML-Definitiondefinition handeltis esa sichgeneral umformat einfor allgemeinesdescribing Formatconfigurable zurgraphical Beschreibunginterfaces vonwithin konfigurierbaren grafischen Oberflächen innerhalb desthe SCCM Managers.Manager.

Im.

Folgenden

The wirdfollowing derexplains Aufbauthe derstructure Konfigurationsdateiof the configuration file "ClientCreater_OSDVariables.xmlxml"

erklärt.

.

  • EsYou könnencan define n-vielemany Controls definiert werden.controls. Dabei lassen sich aktuell zwei Typen definieren: „TextBox“ und „ComboBox“.
  • DabeiA mussname beimust jedembe Controldefined einfor Nameeach definiertcontrol. werden.This Diesermust mussbe eindeutigunique, sein,may darfnot keinecontain Leerzeichenany beinhaltenspaces undand hathas three functions (imin Beispielthe example Client Creator) drei Funktionen..
    • Interner Name

      Internal desname Controls,of umthe diesescontrol perto Regelbe ansteuernable zuto können.control it by rule.

    • Name derof Computervariable.the computer variable.

    • Label desof Controls,the fallscontrol, keinif no FriendlyName definiertwas wurdedefined.

  • Außerdem kann

    In einaddition, a FriendlyName definiertcan werden,be dieserdefined, dientthis dannthen alsserves Labelas a label in derthe GUI.

  • Jedes Control

    Each kanncontrol optionalcan einenoptionally Description-Tagcontain beinhalten.a Dortdescription kanntag. eineA Beschreibungdescription hinterlegtcan werden,be diestored interherthere, alswhich Tooltipis überthen demdisplayed jeweiligenas Controla angezeigttooltip wird.above the respective control.

  • Jedes Control

    Each kanncontrol can have n-vielemany Items haben.items.

    • Ein Item

      An benötigtitem wiederagain zwingendneeds einena Namenmandatory undname optionaland einenoptionally a FriendlyName zurto Darstellungrepresent it (andernfallsotherwise wirdthe automatischname deris Nameused benutzt)automatically).

    • Bei einer

      In ComboBoxa sollteComboBox, dasthe Itemitem auchshould einenalso Valuehave haben.a Dieservalue. istIn im Beispielthe Client Creator derexample, Wertthis deris Computervariable.the value of the computer variable.

    • Das Standard-Item

      The einerdefault item of a ComboBox lässtcan sichbe überset dasvia Attributthe IsDefault setzen.attribute. AnsonstenOtherwise, istnone initialis keinsinitially ausgewählt.selected.

    • Jedes Item

      Each kannitem can have n-vielemany Rulesrules. haben.As Sobaldsoon diesesas Itemthis dannitem späteris selected later in derthe GUIGUI, ausgewähltall wird,rules setzenassigned alleto ihmit zugeordnetenare Regeln ein.applied.

      • A target is always defined in a rule, i.e. the name of the control that is to be influenced.

      • In eineraddition, Rulea wirdTargetItem immeris eindefined, Targete.g. definiert,the item that is to be automatically selected in another ComboBox.

      • Optionally, a so-called action can also derbe Namedefined. desThere Controls,are welchescurrently beeinflusstfour werdendifferent soll.

      • ones:
      • Außerdem wird ein TargetItem definiert, also z.B. das Item, das automatisch in einer anderen ComboBox ausgewählt werden soll.
      • Optional kann auch eine sog. Action definiert werden. Hier gibt es momentan vier verschiedene: „Show“"Show", „Hide“"Hide", „Enable“"Enable", „Disable“"Disable". DadurchThis könnencan anderebe Controlsused zusätzlichto beeinflusstadditionally werden.influence other controls.

  • Eine

    A TextBox kanncan außerdemalso nochhave zusätzlicheadditional Attributeattributes undand Tags haben.tags.

    • Es kann

      A einemask Maskecan definiertbe werden,defined, dazufor könnenthis diethe Attributeattributes „Mask“und"Mask „MaskType“gesetzt"and werden"MaskType "can be set (siehesee Beispiel)example).

    • Es kann

      An einadditional zusätzlichertag Tag"ValidationRegex" „ValidationRegex“hinzugefügtcan werden.be Dadurchadded. bekommtThis diegives the TextBox diethe Möglichkeit,possibility sichto beivalidate Benutzereingabenitself selbston zuuser validieren.input.

    • Außerdem erkennt

      Furthermore, einea TextBox nurrecognizes ihronly erstesits Item.first Diesesitem. wirdThis zwingendis benötigt,absolutely damitnecessary esso überhauptthat einenthere Valueis gibta undvalue umat z.B.all überand eineto Rulebe daraufable zugreifento zuaccess können.it via a rule, for example.

  • Für kundenspezifische

    For Pluginscustom lässtplugins sichthis diesessystem Systemcan ebenfallsalso einsetzenbe used

Beispielkonfiguration

Example unconfiguration dieand daraus generiertethe GUI

 generated from it

dynamic_gui_xml.png

  • Das erste

    The Controlfirst imcontrol Bildin the image (OS Name) gehörtbelongs interninternally zumto the Client Creator.

  • Der Computername

    The alsfirst control in the image (OS Name) belongs internally to the Client Creator. aThe computer name as TextBox (ebenfallsalso intern)internal): derthe reguläreregular Ausdruckexpression (ValidationRegex) erwartetexpects Großbuchstaben.uppercase letters.

  • Netbios Domaindomain alsas ComboBox: durchthe die dazugehörige Regel wird automatisch der dazu passendecorresponding FQDN gewählt.is automatically selected by the associated rule.

  • Primary Site Server: DerThe FriendlyName fürfor dasthe Controlcontrol istis PrimarySiterServer=ExampleSite01, tatsächlichbut wirdactually aberthe spätervariable der Variablenwert (Value)value ExampleSite01 gewählt.will Diesbe giltchosen genausolater. fürThis denis Variablenname,the diesersame wirdfor späterthe alsvariable OSDPrimarySiteServername, gesetzt.this will be set later as OSDPrimarySiteServer.

dynamic_gui_example.png