URL/Datei öffnen
Öffnet die in dieser Aktion definierte URL oder Datei auf dem Client-Gerät. Eine URL wird im Standard-Internetbrowser des Client-Geräts geöffnet. Eine Datei wird auf dem Client-Gerät in der Standard-App für diesen Dateityp geöffnet. Aktivieren Sie in den Konfigurationsoptionen der Aktion das Optionsfeld URL öffnen oder Datei in externer App öffnen und geben Sie anschließend die Informationen zu der zu öffnenden URL bzw. Datei ein.
In beiden Fällen steht für Web Clients eine Option zur Verfügung, um die URL auf dem aktuellen Register (oder alternativ auf einem neuen Register des Browsers) zu öffnen; siehe Abbildung unten.
URL öffnen
Wenn Sie im Dialogfeld "XPath-Ausdruck" der Aktion URL öffnen die Option URL öffnen auswählen, können Sie einen XPath-Ausdruck eingeben, (i) dessen Ergebnis entweder ein String ist, der die zu öffnende URL bildet (erste Abbildung unten) oder (ii) dessen Ergebnis ein String ist, der eine Daten-URL erzeugt (zweite Abbildung unten) oder (iii) dessen Ergebnis eine Sequenz von Strings ist, die eine Befehlszeilenanweisung (für die Verwendung in Simulationen nur in MobileTogether Designer) erzeugt.
Daten-URLs
Mit Hilfe von Daten-URLs können Sie Binärdateien direkt auf einem neuen Register des Web Client Browsers öffnen. Beachten Sie, dass diese URLs nur in Web Clients aufgerufen werden können. Die Syntax einer Daten-URL lautet folgendermaßen:
data:[<mediatype>][;base64],<data>
Eine Daten-URL besteht aus zwei Teilen (oben in unterschiedlichen Farben markiert). Der Teil data: ist ein festgelegtes Präfix. Der Teil <mediatype> ist ein MIME-Typ. Das Token ;base64 ist optional; falls es verwendet wird, gibt es an, dass der Teil <data> als Base64-kodierte Daten gelesen werden muss; falls das Token fehlt, wird der Teil <data> als Text gelesen. Die Base64-kodierten Daten können dynamisch aus einem Node in einer Seitenquelle ausgelesen werden (Ein Beispiel dazu sehen Sie unten).
Beispiel:
data:application/pdf;base64,<SomeBinaryData-SuchAsInThe-$BINARIES/PDF-Node>
In einem XPath-Ausdruck kann eine Daten-URL zum Auslesen von Base64-kodierten Daten aus einem Node eingegeben werden, wie in der Abbildung unten gezeigt. In diesem Ausdruck befinden sich die Base64-kodierten Daten im Node $BINARIES/PDF.
Anmerkung: | Base64-kodierte Daten in einem Node können auch mit der Aktion In Binärdatei speichern in einer Datei gespeichert werden und die Datei kann anschließend geöffnet werden. Mit der Aktion Daten-URL öffnen hingegen wird die Datei mit nur einem Klick geöffnet. |
String-Sequenz für eine Befehlszeilenanweisung
Der XPath-Ausdruck für URL öffnen kann auch so erstellt werden, dass sein Ergebnis eine Befehlszeilenanweisung ist. In diesem Fall muss das Ergebnis des XPath-Ausdrucks eine Sequenz von Strings sein, deren erster String den Dateipfad zur ausführbaren Datei bildet. Die Parameter der Befehlszeilenanweisung können anschließend folgendermaßen definiert werden: (i) in einem zweiten String der Sequenz, wobei jedes durch ein Leerzeichen getrenntes Token ein Befehlszeilenparameter ist, (ii) in darauf folgenden Strings der Sequenz, wobei jeder dieser Strings einem Befehlszeilenparameter entspricht oder (iii) einer Kombination der beiden vorhergehenden Muster (d.h. bei denen mehr als ein darauf folgender String vorhanden ist, wobei jeder davon einem oder mehreren Befehlszeilenparametern entspricht).
Anmerkung: | Die Parameter müssen in der richtigen Reihenfolge eingegeben werden. |
Anmerkung: | Die Option zur Erzeugung einer Befehlszeilenanweisung kann nur in einer Simulation in MobileTogether Designer verwendet werden. Sie hat bei Ausführung auf einem Client keine Auswirkung. |
Beispiele:
In den beiden unten gezeigten Beispielen wird Altova DiffDog aufgerufen, um zwei XML-Dateien zu vergleichen. Der erste XPath-Ausdruck ist eine Sequenz von zwei Strings. Der zweite ist eine Sequenz von drei Strings. In beiden Fällen ist die erzeugte Befehlszeilenanweisung dieselbe.
("C:\Program Files\Altova\DiffDog2021\DiffDog.exe",
"C:\TestFiles\Colors2.xml C:\TestFiles\Colors3.xml")
("C:\Program Files\Altova\DiffDog2021\DiffDog.exe",
"C:\TestFiles\Colors2.xml",
"C:\TestFiles\Colors3.xml")
Anmerkung: | Wenn der Dateipfad ein Leerzeichen enthält, sollte er - je nach Bedarf in einfache oder doppelte - Anführungszeichen gesetzt werden. |
Datei in externer App öffnen
Mit dieser Aktion wird eine Datei, die sich auf dem Client-Gerät befindet, geöffnet. Sie können die Datei direkt im Design definieren oder die Auswahl der Datei durch den Endbenutzer vornehmen lassen. Die Datei wird in der für den Dateityp der ausgewählten Datei festgelegten Standard-App des Geräts geöffnet. Wenn es sich beim Client um einen Web Client handelt, wird die Datei auf einem Browser-Register geöffnet. Es steht eine Option zur Verfügung, um dafür entweder das aktuelle Register oder ein neues Register auszuwählen. Beachten Sie, dass die Dateiauswahl durch den Endbenutzer auf Web Clients nicht zur Verfügung steht.
Wenn Sie auf die Bearbeiten-Schaltfläche der Aktion Datei öffnen klicken, wird ein "Datei öffnen"-Dialogfeld angezeigt (Abbildung unten). Wählen Sie die entsprechenden Optionen aus.
Dateipfad wird im Design gespeichert
Um direkt (im Design) zu definieren, welche Datei auf dem Gerät geöffnet werden soll, aktivieren Sie die Option Pfad unten definieren (siehe nächste Abbildung). Geben Sie einen absoluten oder relativen Pfad oder einen XPath-Ausdruck, dessen Auswertungsergebnis ein solcher Dateipfad ist, ein. Wenn Sie einen relativen Pfad eingeben, so wird dieser Pfad relativ zum Basisverzeichnis, das Sie für diesen Gerätetyp definieren, aufgelöst (siehe Liste und Abbildung unten).
•Android: Wählen Sie das Android-Geräteverzeichnis aus der Dropdown-Liste aus. Wenn Sie die Standardauswahl Default wählen, so wird das Sandbox-Verzeichnis der MobileTogether-App ausgewählt. Beachten Sie jedoch, dass keine andere App (außer MobileTogether) Zugriff auf das MobileTogether-Sandbox-Verzeichnis hat, es sei denn das Android-Gerät wurde gerootet. Daher kann eine Datei in der MobileTogether Sandbox eventuell nicht mit einer anderen App geöffnet werden.
•Windows RT: Wählen Sie das Windows Phone bzw. Windows RT-Geräteverzeichnis aus der Dropdown-Liste aus. Wenn Sie die Standardauswahl Default wählen, so wird das Sandbox-Verzeichnis der MobileTogether-App ausgewählt.
•iOS: MobileTogether erstellt auf dem Gerät des Benutzers zwei Verzeichnisse: (i) ein Gesichertes Verzeichnis für Dateien, die vom Betriebssystem gesichert werden und später, z.B. nach einem Wiederherstellungsvorgang, zur Verfügung stehen. Dieses Verzeichnis ist für Dateien gedacht, die für den Benutzer wichtig sind und die nicht verloren gehen sollten; (ii) ein Nicht gesichertes Verzeichnis für Dateien, die nicht gesichert werden müssen bzw. für deren Wiedergabe eine schnellere Pufferung erforderlich ist. Wählen Sie je nach Bedarf Gesichertes Verzeichnis oder Nicht gesichertes Verzeichnis aus.
•Webbrowser: Hier steht keine Auswahl zur Verfügung. Relative Pfade werden im Kontext der Sandbox des Browsers aufgelöst.
Der Benutzer wählt die Datei auf dem Gerät aus
Damit der Endbenutzer eine Datei auf seinem Mobilgerät auswählen kann, wählen Sie die Option Auswahl durch den Benutzer auf dem Endgerät (siehe Abbildung unten). Wenn die Aktion zur Laufzeit verarbeitet wird, kann der Endbenutzer zu der zu öffnenden Datei auf seinem Gerät navigieren oder den Namen dieser Datei eingeben.
Hierbei stehen die folgenden Optionen zur Verfügung:
•Optionaler Dateifilter: Im Browser-Dialogfeld, das auf dem Client-Gerät geöffnet wird, werden die Dateitypen der zu öffnenden Dateien gefiltert, sodass nur die von Ihnen hier definierten Dateierweiterungen zulässig sind. Sie können Folgendes eingeben: (i) eine durch Kommas oder Semikola getrennte Liste von Dateierweiterungen (z.B.: txt,html;xml) oder (ii) einen XPath-Ausdruck, dessen Ergebnis eine Sequenz von String-Elementen ist, von denen jedes einer Dateierweiterung entspricht (hier sehen Sie z.B. eine Sequenz aus drei String-Elementen: 'txt','html,'xml').
•Web-Meldungsfeld: Bevor das Dialogfeld "Datei öffnen" auf dem Client-Gerät geöffnet wird, erscheint ein Meldungsfeld. Sie können eine Meldung eingeben, um den Standardtext dieses Meldungsfelds außer Kraft zu setzen. Geben Sie den Text der Meldung direkt ein oder definieren Sie einen XPath-Ausdruck dafür.
Fehlerverarbeitung
Mit der Option Bei Fehler können Sie definieren, wie bei Auftreten eines Fehlers vorgegangen wird. Da die Fehlerbehandlung für diese Aktion genau definiert werden kann, werden Fehler in solchen Aktionen (für die eine Fehlerbehandlung vorgesehen ist) als Warnungen und nicht Fehler behandelt. Der Vorteil davon ist, dass Sie Fehler bei Aktionen, für die bereits eine Fehlerbehandlung definiert wurde, nicht überprüfen müssen. Die folgenden Fehlerbehandlungsoptionen stehen zur Verfügung:
•Skript abbrechen: Sobald ein Fehler auftritt, werden alle nach diesem Ereignis durchzuführenden Aktionen beendet. Dies ist das Standardverhalten bei Auftreten eines Fehlers. Wenn Sie möchten, dass auch bei einem Fehler fortgefahren werden soll, wählen Sie entweder die Option Weiter oder Throw aus.
•Weiter: Die Aktionen werden nicht beendet. Sie können stattdessen auswählen, was in jedem der beiden Fälle (kein Fehler (Bei Erfolg) oder Auftreten eines Fehlers (Bei Fehler)) geschehen soll. So kann z.B. ein Meldungsfeld definiert werden, das den Benutzer darüber informiert, ob eine Seite erfolgreich geladen werden konnte oder nicht.
•Throw: Wenn ein Fehler aufgetreten ist, wird mit dieser Option eine Ausnahme ausgelöst, die in der Variablen der Try/Catch-Aktion gespeichert wird. Mit dem Catch-Teil der Try/Catch-Aktion wird definiert, welche Aktion bei Auftreten eines Fehlers durchgeführt werden soll. Wenn kein Fehler auftritt, wird die nächste Aktion verarbeitet. Nähere Informationen dazu finden Sie im Abschnitt zur Aktion "Try/Catch Ausnahme".
Ein Fehler wird nur registriert, wenn die Datei nicht vorhanden ist. Wenn die Datei vorhanden ist, wird ein Erfolg registriert, auch wenn die Daten von keiner Geräte-App geöffnet werden konnte.
MobileTogether-Erweiterungsfunktionen
MobileTogether enthält eine Reihe von XPath-Erweiterungsfunktionen, die speziell für die Verwendung in MobileTogether-Designs erstellt wurden. Einige davon können bei bestimmten Aktionen sehr nützlich sein. So erhalten Sie etwa mit mt-available-languages() die Sprachen, in denen die Lösung zur Verfügung steht. Diese Funktion könnte z.B. mit der Aktion Meldungsfeld verwendet werden. Wenn eine Funktion für diese Aktion besonders relevant ist, ist sie unten aufgelistet. Eine vollständige Liste aller Erweiterungsfunktionen und mit Beschreibungen finden Sie im Kapitel MobileTogether-Erweiterungsfunktionen.
mt-extract-file-extension()
mt-extract-file-name()