AppBuilder

  • Der AppBuilder ermöglicht es dem Benutzer von mydatastream individuelle Lösungen zu entwickeln.
    Dazu werden aus den vorgegebenen Apps heraus (siehe Abbildung 1 oberer Teil) Elemente erstellt (siehe Abbildung 1 unterer Teil).


    Hinweise: Im Portal (Dashboard) stehen die Elemente als Dashlets oder als Links im linken Navigationsmenü zur Verfügung. Wobei sich die Verlinkung auf die jeweilige Liste eines Elements bezieht und die Anzeige über Menüeinträge gesteuert wird.



    Abbildung 1: AppBuilder


    Auf der linken Seite in Abbildung 1 sind neben dem Link zurück zum Portal, die Menüpunkte Parameter und API-Dienste zu finden. Diese zwei Menüpunkte gehören zu den erweiterten Einstellungen des AppBuilders und werden zum Schluss in eigenen Abschnitten erklärt. Über den Menüpunkt Portal gelangt der Benutzer wieder zurück in das Portal.


    Die aufgeführten Apps haben unterschiedliche Lizenzen. Welche Vorteile und Einschränkungen die jeweiligen Lizenzen unterliegen, kann auch auf der Seite https://www.logisoft.de/produkte/ eingesehen werden. Die folgenden Abschnitte wurden durch einen Benutzer mit der Lizenz App.Advanced erstellt.


    Um dem Leser die Verbindung von AppBuilder und Apps aufzuzeigen und den Einstieg in die folgenden Abschnitte zu erleichtern werden in Abbildung 2 die wichtigsten Begriff des AppBuilders mit den Apps in Verbindung gebracht. Dabei fällt zudem auf, dass der AppBuilder (Abbildung 1) die gleiche optische Benutzeroberfläche wie eine App (Abbildung 2 rechts) aufweist.



    Abbildung 2: Begrifflichkeiten App-Builder in Verbindung mit den Apps


    Das rechte obere Bild in Abbildung 2 zeigt die App Adressen aus dem Vertriebscockpit. Das untere Bild auf der rechten Seite zeigt ein aufgerufenes Formular, dass nach dem Klick auf den Button Umsätze aus dem Bereich Formular-Buttons (Abbildung 2, Punkt 5) aufgerufen wurde.


    Eine App(1) besteht aus Elementen und die Elemente bestehen aus Listen(2). Die Listen können wiederrum Listenfelder(3), Formulare(5) und Menüeinträge(4) enthalten. Zudem können einer Liste Berechtigungen zugeordnet werden. Die Formulare wiederrum bestehen aus Kategorien(6) welchen Detaillisten(8) und Kategoriefelder(7) zugeordnet werden können.

    1 Apps

    Die Apps (obere Tabelle aus Abbildung 1) sind von LogiSoft vordefiniert und können von dem Anwender nicht verändert werden. Fest verbunden sind die Apps mit den sogenannten Elementen (untere Tabelle). Diese Elemente sind Container für individuellen Ansichten auf die jeweiligen Daten. Über der Apps-Tabelle (siehe Abbildung 1 oben) befinden sich folgende, auf die jeweilige App anwendbare Funktionalität:


    _Funktionen (Drop-Down-Menü):

    Bei einem Klick auf den Button Bearbeiten öffnet sich ein Dialog mit den Feldern Bezeichnung, Beschreibung, Version und Kommentar.

    Über den Button Menü werden die zur Verfügung stehenden Elemente im Menü sortiert. Die Reihenfolge hat Auswirkungen auf die Darstellungen der Menüeinträge im Portal. Ob die Elemente über einen Menüeintrag zur Verfügung stehen, muss über die Einstellungen der Elemente festgelegt werden. Daher kann es vorkommen, dass bei dem Dialog Menü nicht alle Elemente aufgeführt werden, falls der entsprechende Menüeintrag nicht über die Einstellung des jeweiligen Elements angegeben wurde. Die Einstellungen der Elemente werden in dem Abschnitt "Elemente" erklärt.


    Über den Button Übersetzen wird ein Dialog zur Übersetzung der Ressourcen aufgerufen (Abbildung 3). Im Ersten Schritt muss die gewünschte Zielsprache ausgewählt werden. Wurde eine Zielsprache ausgewählt können in der unteren Tabelle die jeweiligen Einträge übersetzt oder angepasst werden. Dabei kann dieser Prozess entweder manuell geschehen oder der Benutzer führt diesen Schritt automatisiert über den Übersetzer von google aus (siehe Button Mitte rechts in Abbildung 3).



    Abbildung 3: Übersetzungs-Dialog


    Metadaten (Drop-Down-Menü):

    Die Buttons Importieren und Exportieren bieten die Möglichkeit die App mit ihren Elementen in einer verschlüsselten Datei zu speichern (Abbildung 4), um diesen dann in einer anderen Umgebung wieder zu importieren (Abbildung 5).

    Wird eine solche Datei importiert, wird die markierte App um einen Build-Stand erweitert.

    Bei einem Import kann die Option "Metadatei zu vorhandener App hinzufügen" aktiviert werden. Dabei wird die App nicht überschrieben, sondern um alle Elemente der zu importierenden App ergänzt. Ist bereits ein Element mit der gleichen Bezeichnung in der vorhandenen App vorhanden, wird das importierte Element mit dem Namen plus einer fortlaufenden Nummer angelegt.


    Nach einem Import steht dann dieser Build-Stand in der App zur Verfügung. Es ist zudem möglich auf einen älteren Build-Stand zurückzukehren (z. B. dem Build-Stand unmittelbar vor dem Import).


    Über den Button Sichern werden die Buildstände der jeweiligen Apps gespeichert. Alle zughörigen Elemente und auch die Einstellungen der App werden in einem eigenen Buildstand abgespeichert (Abbildung 6). Dabei werden keine alten Buildstände überschrieben. Die Apps und Elemente werden bei Änderungen automatisch gespeichert und es ist nicht notwendig die Änderungen in einem neuen Build-Stand abzulegen. Die Buildstände eigenen sich dazu, um ggf. zu einem älteren Build-Stand zurückzukehren.


    Über den Button Wiederherstellen kann auf einen der eingecheckten Build-Stände zugegriffen werden und so die App auf einen vorher gespeicherten Buildstand zurückgesetzt werden (Abbildung 7).



    Abbildung 4: Exportieren einer App



    Abbildung 5: Importieren einer App (Die ursprünglich zu importierende App wird nicht dargestellt)



    Abbildung 6: Sichern von Apps




    Abbildung 7: Wiederherstellen von Apps


    Veröffentlichen:

    Alle Änderungen an den Apps und den Elementen stehen den Benutzern erst nach einer Veröffentlichung zur Verfügung. Das ermöglicht es dem Benutzer erst zu einem späteren Zeitpunkt, nachdem alle Änderungen vorgenommen wurden, den neuen Stand einer App zu verteilen. Der Veröffentlichungsstatus wird in der Spalte über ein Symbol dargestellt, ein grüner Haken steht dabei für veröffentlicht und ein rotes Ausrufezeichen für nicht veröffentlicht (Abbildung 8).



    Abbildung 8: Status Veröffentlicht einer App über Symbole erkennbar.


    2 Elemente

    Die untere Tabelle aus Abbildung 1 enthält die Elemente. Elemente sind Container für verschiedene Ansichten auf eine App. Folgenden Funktionalität ist über die Funktionsleiste erreichbar:


    Neu:

    Über den Button Neu kann ein neues Element angelegt werden. Der Dialog für das Erstellen eines neuen Elementes führt durch eine Reihe von Dialog-Schritten (erster Dialogschritt in Abbildung 9). Das Anlegen eines neuen Elements ist auch Thema in einem YouTube Video von LogiSoft: Die fünf Schritte zur ersten App mit dem AppBuilder.



    Abbildung 9: Neues Element im AppBuilder anlegen


    In dem ersten Dialogschritt muss eine Bezeichnung angegeben werden und eine Verbindung zu einer Datenbank hinterlegt werden. Bei der Auswahl des Connectors werden die möglichen Datenverbindungen aufgeführt (Abbildung 10).



    Abbildung 10: Connector Datenbank


    Falls Daten zurückgeschrieben werden sollen, muss eine Zieltabelle angegeben werden (Abbildung 9 unten).


    Hinweis: Für den Sage-API Connector gelten einige Besonderheiten.


    Hinweis: Werden die Daten in dem Abfrage-Designer mit weiteren Tabellen verknüpft, können die Werte aus den verknüpften Tabellen nicht zurückgeschrieben werden. Die entsprechend Listenfelder und Formularfelder aus den weiteren Tabellen müssen als nicht editierbar definiert werden, sonst kommt es bei einem Zurückschreiben zu einem Fehler. Wenn Tabellen miteinander in Beziehung stehen sollen und zugleich ein Zurückschreiben in alle Tabellen ermöglicht werden soll, gibt es einen alternativen Weg: In einem späteren Schritt im Assistenten können Formulare erstellt und die verschiedenen Tabellen aus der Datenbank über Detaillisten dargestellt werden. Diese Detaillisten ermöglichen ein Zurückschreiben. Weitere Informationen dazu unter dem Abschnitt Assistent/Formulare.


    _Funktionen (Drop-Down-Menü):

    Ist ein Element ausgewählt stehen je nach Lizenz (Basic oder Advanced) unterschiedliche Funktionen zur Verfügung. Über den Button Bearbeiten gelangt man zu den grundlegenden Einstellungen eines Elements, welche von der Neuanlage eines Elements bekannt sind. Zudem können über die Buttons Abfrage-Designer, Elementfelder und Dateispeicher direkt zu den jeweiligen Einstellungen eines Elements gesprungen werden, anstatt über den Button Bearbeiten den kompletten Prozess durchlaufen zu müssen. Darüber hinaus sind Buttons für das Duplizieren und das Löschen von Elementen vorhanden.


    Assistent:

    Direkter Zugriff auf den Assistenten zur Bearbeitung eines Elements. Siehe AppBuilder Assistent


    Vorschau:

    Über den Button Vorschau werden zuerst die Listen des Elements dargestellt und über diese Listen kann pro Liste eine Vorschau aufgerufen werden. Das ermöglicht einen schnellen Überblick über die Listen eines Elements, ohne den Umweg über den Assistenten gehen zu müssen.


    2.1 Abfrage-Designer

    Nachdem die Pflichtangaben Name und Connector eingetragen wurden kann der Dialog-Schritt über den Button Weiter abgeschlossen werden und der Abfrage-Designer wird aufgerufen (siehe Abbildung 11).



    Abbildung 11: Der Abfrage-Designer des App-Builders ohne ausgewählte Daten.


    Mit Hilfe des Abfrage-Designers kann, aus den über den Connector zur Verfügung gestellten Tabellen, eine Abfrage erstellt werden. Hilfreich ist dabei die Suche auf der linken oberen Seite in Abbildung 11. Die Tabellen können durch Drag&Drop in die Hauptabfrage gezogen werden (siehe Abbildung 11 großer leerer Bereich rechts) und dort mit weiteren Tabellen verknüpft werden. Unterhalb der Diagramm-Darstellung werden die ausgewählten Spalten in Tabellenform aufgeführt. Die erstellte SQL-Anweisungen wird im Textfeld im unteren Bereich angezeigt (siehe Abbildung 12).



    Abbildung 12: Der Abfrage-Designer des App-Builders mit ausgewählten Tabellen und Spalten.


    Die in Abbildung 12 ausgewählten Felder werden mittig in einer Tabelle dargestellt. Alternativ kann die SQL-Anweisung im unteren Textfeld bearbeitet werden. Anschließend bietet es sich an die Abfrage über den Button Vorschau (Abbildung 12 unten) zu testen. Dabei werden die Daten der Abfrage dargestellt (Abbildung 13). Hierbei handelt es sich nicht um die spätere Datenansicht der Benutzer, diese wird in einem späteren Schritt über den Assistenten des AppBuilders festgelegt.



    Abbildung 13: Die Daten werden in der Vorschau des Abfrage-Designer dargestellt.


    Nach der Überprüfung der Daten kann der Vorschau-Dialog beendet und im Abfrage-Designer der nächste Dialog-Schritt "Elementfelder" über den Button "Weiter" aufgerufen werden.


    Bei dem Anlegen von SQL-Abfragen über den Abfrage-Designer berücksichtigen Sie bitte folgende Punkte:

    - Bei komplexen Anfragen verwenden Sie am Besten eine View (SQL). Das Zurückschreiben funktioniert nur in Verbindung mit einer Tabelle. Bitte geben Sie dazu in den Eigenschaften des Elements die Zieltabelle an.

    - Verwenden Sie so oft wie möglich "With(ReadUncommitted)", für eine bessere Performance Ihrer Datenbank.


    2.2 Elementfelder

    Als nächstes werden die im Abfrage-Designer ausgewählten Felder (Abbildung 12) angezeigt und als Elementfelder bezeichnet (siehe Abbildung 14).



    Abbildung 14: Elementfelder bearbeiten.


    In diesem Dialog-Schritt können grundlegende Einstellungen der Elementfelder bearbeitet werden. Der Name eines Elementfeldes ist von der Datenquelle vorgegeben und kann nicht verändert werden. Folgende Eingabefelder stehen zur Verfügung:


    Eingabefeld Bedeutung
    Bezeichnung Die Bezeichnung wird bei dem Hinzufügen der Listenfelder und Kategoriefelder angezeigt.
    Datentyp Der Datentyp welcher in der Regel aus der Datenbank übernommen wird und ggf. angepasst werden kann.
    Länge Die Länge für den Datentyp String
    Primär-Schlüssel Der Primärschlüssel welcher in der Regel aus der Datenbank übernommen wird. Hier muss darauf geachtet werden die Primärschlüssel so auszuwählen, dass die Datensätze eindeutig sind.
    Pflichtfeld Gibt an ob das Feld bei einer Neuanlage oder beim Bearbeiten eines Datensatzes ausgefüllt werden muss.
    Datenformat Bestimmt die Darstellung in den Listen und in den Formularen. Die möglichen Datenformate werden beim Bearbeiten als Tooltip angezeigt (siehe Abbildung 15)
    Steuerelement Siehe Tabelle 2 Steuerelement
    Kopieren Durch eine Feldzuordnung in der Form [$FormField:Fieldname]= [$SearchField:Fieldname] können Werte aus der Suchliste übernommen werden. Das rechte Feld stammt aus der Suche und das linke Feld ist das Kopierziel. Die Felder müssen in der Suchliste vorhanden sein, damit der Wert kopiert werden kann. Das Feld kann in der Suchliste ausgeblendet werden, wenn dies dem Endbenutzer nicht angezeigt werden soll.
    Regulärer Ausdruck Für das Elementfeld wird bei einer Eingabe geprüft ob der reguläre Ausdruck erfüllt wird. Beispielsweise kann folgender Ausdruck verwendet werden, um auf eine gültige Telefonnummer zu prüfen: ^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\s\./0-9]*$
    Für die Erstellung von regulären Ausdrücken sind Tools wie z.B. regexr.com hilfreich
    Meldung Meldung die ausgegeben wird, wenn der reguläre Ausdruck nicht erfüllt wird.

    Tabelle 1: Eingabefelder der Elementfelder


    In der folgenden Tabelle sind zusätzliche Informationen zu dem Eingabefeld "Steuerelement" aufgeführt:

    Steuerelement Bedeutung
    Standard Im Standard wird dem Benutzer keine Auswahl in der Benutzeroberfläche angeboten.
    Kontrollkästchen Der Benutzer kann über eine Checkbox eine binäre Entscheidung treffen. Dazu muss das ausgewählte Feld dem Datentyp Bit oder KHKBoolean entsprechen.
    Auswahlliste Es öffnet sich für den Benutzer eine Auswahlliste über die im Dialog hinterlegte Werte oder alternativ von Werten aus einer weiteren Liste (Über die mit dem AppBuilder erstellten Listen siehe AppBuilder Assistent/Listen). Ein Beispiel für eine Auswahlliste mit einer Liste als Datenquelle ist in Abbildung 16 zu sehen.

    # Auswahlliste->Liste
    Wird die Option Auswahlliste->Liste verwendet, erscheinen die zusätzliche Einträge Wertfeld, Textfeld und Anzeigefeld. In dem Feld Wertfeld wird der zu speichernde Wert ausgewählt. Als Textfeld wird der in der Auswahl sichtbare Wert ausgewählt (siehe Abbildung 16). Zudem kann ein Anzeigefeld festgelegt werden. Für das Anzeigefeld stehen die Felder der Liste zur Verfügung. Falls beispielsweise für die Auswahl Land anstatt "DE" der Anzeigename "Deutschland" erscheinen soll , muss dieses Feld in der Liste vorhanden sein. Dazu kann über eine zusätzliche SQL-Anweisung das Feld der Liste hinzugefügt werden (Abbildung 17). Anschließend wird nach einer Auswahl das Anzeigefeld zur Anzeige des Wertes verwendet (Abbildung 18).

    Hinweis: Die Auswahlliste sollte nur bis max. 20 Datensätze verwendet werden.

    ##Filter
    Such- und Auswahllisten können gefiltert aufgerufen werden. Beispielsweise würde für die Filterung von Ansprechpartnern im Kontext zu der ausgewählten Adresse bei der Suchliste "Ansprechpartner" folgender Filter hinterlegt: "Adresse = [$Field:Adresse]".
    Das Feld, welches in der Auswahlliste angesprochen werden soll, muss per Name des Feldes, ohne weitere Syntax, angegeben werden. Enthält Beispielsweise die verknüpfte Auswahlliste das Feld "DatenbankFeldInderAuswahlListe" kann der Ausdruck "DatenbankFeldInderAuswahlListe <> 'Beispiel' " verwendet werden, um Datensätze auszufiltern, welche den String "Beispiel" in dem angegebenen Feld enthalten.

    # Auswahlliste->Werteliste
    Wird die Option Auswahlliste->Werteliste verwendet erscheint das Feld "Werteliste". Dort kann in dem Format "<DB-Wert>;<Bezeichnung>" eine Auswahlliste definiert werden, wie z.B. "0;ja;-1;nein".
    Suchliste Die Suchliste bietet die ähnliche Möglichkeiten wie eine Auswahlliste (vorheriger Punkt) nur wird hier ein neuer Dialog geöffnet der zusätzlich eine Suchfunktion enthält und es kann über mehrere Datensätze gesucht werden.
    Hinweis: Bei mehr als 20 Datensätzen sollte immer die Suchliste verwendet werden.
    Unterschrift Wird das Steuerelement des Feldes auf Unterschrift festgelegt, kann dieses Feld anschließend nur unter Assistent/Formulare verwendet werden. Wird das Feld dort hinterlegt kann bei einer Neuanlage eine Unterschrift hinzugefügt werden. Die Unterschrift kann dabei per Eingabegerät durch den Benutzer erstellt werden. Ein Bearbeiten der Unterschrift über die Benutzeroberfläche ist anschließend nicht mehr möglich. Um das Steuerelement zu ermöglichen wird On-Prem Seite ein binäres Feld benötigt mit dem Typ "varbinary(max)". Als Datentyp in der Feldliste des AppBuilders muss Byte[] ausgewählt sein.
    Optionsliste Siehe Auswahlliste. Hier werden die Daten in einer Optionsliste dargestellt.
    Mehrfachauswahlliste Siehe Auswahlliste. Hier werden die Daten als eine Mehrfachauswahl mit Checkboxen dargestellt. Die ausgewählten Werten werden kommasepariert in das Feld übernommen.

    Tabelle 2: Steuerelement



    Abbildung 15: Tooltip Datenformat für Felder



    Abbildung 16: Auswahlliste mit einer Liste als Datenquelle



    Abbildung 17: Erweiterung der SQL-Anweisung, um ein Feld für das Anzeigefeld zu erhalten.



    Abbildung 18: Anzeige von "Deutschland" anstatt "DE"


    Wird der Dialog Elementfelder durch einen Klick auf den Button Weiter beendet (Abbildung 14) öffnet sich der erste Dialogschritt des Assistenten (siehe nächster Abschnitt).

    2.3 Assistent

    Der Assistent des AppBuilders wird in einem separaten Lexikoneintrag beschrieben: AppBuilder Assistent

Teilen