„GlideForm“-Skripts (g form) für die Mobilplattform erstellen und migrieren
Client-Skripts für die Mobilplattform werden genauso erstellt wie Skripts für das Web, mit einigen wenigen Ausnahmen. Alle neuen Skripts müssen bestimmten Richtlinien entsprechen. Auf der Mobilplattform betrifft dies folgende Elemente: Client-Skripts, UI-Richtlinien, Navigatormodule und UI Actions.
Client-Skripts
- Sie müssen anstelle von g_form.getControl() die neuen mobilen Methoden verwenden.
- Sie dürfen keine veralteten Methoden verwenden.
- Sie dürfen keine nicht unterstützten Browserobjekte referenzieren.
- Sie dürfen keine asynchronen JavaScript-Aufrufe, Aufrufe des Typs GlideAjax oder Aufrufe des Typs GlideRecord senden.
- Sie dürfen keine Methoden aufrufen, die auf der Mobilplattform nicht unterstützt werden.
- Sie müssen die Ausführung von Skripts in der Mobil-UI zulassen.
| Neue mobile Methoden verwenden | Es gibt mehrere neue Methoden, mit denen sich Formularfelder ändern lassen, ohne dass eine direkte Änderung des HTML-Codes nötig wäre. Diese Methoden ersetzen die bisherigen Anwendungsfälle der Methode g_form.getControl(), die auf der Mobilplattform veraltet ist. Vorhandene Skripts müssen die neuen Methoden verwenden statt Methoden, die auf der Mobilplattform nicht mehr gültig sind. Informationen zu diesen neuen Methoden finden Sie unter Mobile GlideForm() API. |
| Keine veralteten Methoden verwenden | Die folgenden Methoden sind auf der Mobilplattform veraltet, da dort der direkte Zugriff auf HTML-Elemente nicht zulässig ist:
Um die Kompatibilität vorhandener Skripts sicherzustellen, müssen Sie alle Aufrufe veralteter Methoden aus dem Code entfernen. Verwenden Sie in neuen Skripts keine veralteten Methoden, wenn die Skripts mit der Mobilplattform kompatibel sein sollen. Einige Funktionalitäten, die bisher über g_form.getControl() verfügbar waren, wurden in Einzelmethoden extrahiert. Verwenden Sie statt g_form.getControl() die neuen Methoden, die auf der Entwickler-Site beschrieben sind. |
| Auf keine nicht unterstützten Browserobjekte verweisen | Die folgenden Browserobjekte werden in Skripts für die Mobilplattform nicht unterstützt:
Stellen Sie sicher, dass neue Skripts diese Objekte nicht verwenden. Entfernen Sie jegliche Verwendung dieser Objekte aus bereits vorhandenen Skripts. Nutzen Sie stattdessen GlideForm (g_form). Sie stellt Methoden wie setLabel(), addDecoration() und hasField() bereit, die dieselben Aufgaben erfüllen. |
| Keine synchronen JavaScript-Aufrufe senden | Die Mobilplattform erlaubt keine synchronen JavaScript-Aufrufe. In der Methode g_form.getReference() muss jetzt der Parameter „callback“ angegeben werden. Beispiel: Stellen Sie sicher, dass alle Aufrufe des Typs g_form.getReference() den Parameter „callback“ enthalten. Das folgende Skript enthält beispielsweise keinen Rückruf und ist nicht mit der Mobilplattform kompatibel: Das folgende Skript wurde mit dem Rückruf aktualisiert und ist mit der Mobilplattform kompatibel: |
| Keine synchronen Ajax-Aufrufe senden | Die Mobilplattform lässt keine synchronen Aufrufe des Typs GlideAjax zu. getXMLWait() in Aufrufen des Typs GlideAjax funktioniert auf der Mobilpattform nicht. Stellen Sie sicher, dass alle Aufrufe des Typs GlideAjax asynchron sind. Weitere Informationen zu synchronen und asynchronen GlideAjax- Aufrufen und getXMLWait()finden Sie unter AJAX. Informationen zu den verfügbaren GlideAjax- Methoden finden Sie unter GlideAjax-API. |
| Keine synchronen Aufrufe des Typs GlideRecord senden | Die Mobile Platform lässt keine synchronen GlideRecord- Aufrufe zu. Stellen Sie sicher, dass alle vorhandenen Aufrufe des Typs GlideRecord einen Rückruf enthalten. Das folgende Skript enthält beispielsweise keinen Rückruf und ist nicht mit der Mobilplattform kompatibel: Das folgende Skript wurde mit einem Rückruf aktualisiert und ist mit der Mobilplattform kompatibel: |
| Keine Methoden verwenden, die auf der Mobilplattform nicht verfügbar sind | Die folgenden Methoden sind nicht veraltet, stehen aber aufgrund der Einschränkungen und des begrenzten Funktionalitätsumfangs der Mobilplattform auf ihr nicht zur Verfügung. Werden sie auf der Mobilplattform ausgeführt, wird keine Aktion ausgeführt:
|
| Skripts für die Mobilplattform aktivieren | Skripts müssen für die Mobilpattform aktiviert sein. |
UI-Richtlinien
Verwenden Sie das Feld Skripts in UI-Typ ausführen, um festzulegen, ob Skripts auf der Mobilplattform, auf der Desktop-Plattform oder auf beiden Plattformen ausgeführt werden sollen. Aktualisieren Sie vorhandene Richtlinien so, dass sie entweder auf die Mobilplattform oder beide Plattformen angewendet werden. Stellen Sie auch bei neuen Skripts sicher, dass die Mobiloption oder die Option für beide Plattformen ausgewählt ist.
Navigator-Module
In vorhandenem Code müssen Module entweder in die Tabelle „sys_ui_application“ oder in die Tabelle „sys_ui_module“ übertragen werden, damit sie auf der Mobilplattform verfügbar sind. Wenn Sie neuen Code schreiben, müssen Sie alle Module in der Tabelle „sys_ui_application“ oder der Tabelle „sys_ui_module“ erstellen.
UI-Aktionen
UI Actions müssen in die Tabelle „sys_ui_ng_action“ übertragen werden, damit sie auf der Mobilplattform angezeigt werden. Verwendet ein Skript für eine UI Action keine veralteten Methoden, muss das Skript selbst nicht geändert werden. Neue UI Actions müssen in der Tabelle „sys_ui_ng_action“ erstellt werden.