Scripting et migration du client mobile GlideForm (formulaire g)
Le scripting client pour Mobile est identique au scripting pour le Web, à quelques exceptions près. Tous les nouveaux scripts doivent être conformes à certaines directives. Les éléments suivants sont affectés sur la plateforme mobile : scripts clients, politiques d’interface utilisateur, modules de navigateur et actions d’interface utilisateur.
Scripts clients
- Utilisez les nouvelles méthodes mobiles à la place de g_form.getControl().
- N’utilisez pas de méthodes obsolètes.
- Ne faites pas référence à des objets de navigateur non pris en charge.
- N’effectuez pas d’appels synchrones JavaScript, GlideAjax et GlideRecord .
- Méthodes Ne pas appeler qui ne sont pas disponibles pour les appareils mobiles.
- Activez l’exécution de scripts sur l’interface utilisateur mobile.
| Utiliser les nouvelles méthodes mobiles | Plusieurs nouvelles méthodes sont disponibles pour modifier les champs de formulaire au lieu de manipuler directement le HTML. Ces méthodes remplacent les utilisations précédentes de g_form.getControl(), qui est déconseillé pour la plate-forme mobile. Dans vos scripts existants, assurez-vous que les nouvelles méthodes sont utilisées à la place de méthodes qui ne sont pas valides sur la plateforme mobile. Pour plus d’informations sur ces nouvelles méthodes, consultez l’API Mobile GlideForm(). |
| N’utilisez pas de méthodes déconseillées | Les méthodes suivantes ont été déconseillées pour la plateforme mobile, car l’accès direct aux éléments HTML n’est pas autorisé :
Pour vous assurer que les scripts existants sont compatibles, supprimez tous les appels aux méthodes déconseillées de votre code. Pour les nouveaux scripts, n’utilisez pas de méthodes obsolètes si vous voulez que le script soit valide pour mobile. Pour g_form.getControl(), certaines des fonctionnalités précédemment incluses dans cette méthode ont été extraites vers des méthodes individuelles. Au lieu de g_form.getControl(), utilisez les nouvelles méthodes décrites sur le site développeur. |
| Ne pas référencer d’objets de navigateur non pris en charge | Les objets de navigateur suivants ne sont pas pris en charge dans les scripts mobiles :
Assurez-vous que les nouveaux scripts n’utilisent pas ces objets et supprimez toute utilisation de ces objets dans vos scripts existants. Utilisez plutôt GlideForm (g_form), qui fournit des méthodes telles que setLabel(),addDecoration() et hasField() pour accomplir les mêmes tâches. |
| Ne pas effectuer d’appels JavaScript synchrones | La plateforme mobile n’autorise pas les appels JavaScript synchrones. La méthode g_form.getReference() doit maintenant avoir le paramètre de rappel défini. Par exemple : Assurez-vous que tous les appels g_form.getReference() incluent le paramètre callback. Par exemple, le script suivant n’inclut pas de rappel et est incompatible avec la plateforme mobile : Le script suivant a été mis à jour pour inclure le rappel et est compatible avec la plateforme mobile : |
| Ne pas effectuer d’appels Ajax synchrones | La plateforme mobile n’autorise pas les appels GlideAjax synchrones. Toute utilisation de getXMLWait() dans un appel GlideAjax ne fonctionnera pas sur la plateforme mobile. Assurez-vous que tous les appels GlideAjax sont asynchrones. Pour plus d’informations sur les appels GlideAjax synchrones et asynchrones et getXMLWait(), consultez AJAX. Pour plus d’informations sur les méthodes GlideAjax disponibles, consultez l’API GlideAjax. |
| Ne pas effectuer d’appels GlideRecord synchrones | La plateforme mobile n’autorise pas les appels GlideRecord synchrones. Assurez-vous que tous les appels GlideRecord existants incluent un rappel. Par exemple, le script suivant n’inclut pas de rappel et est incompatible avec la plateforme mobile : Le script suivant a été mis à jour pour inclure le rappel et est compatible avec la plateforme mobile : |
| N’utilisez pas de méthodes non disponibles sur la plateforme mobile | En raison des limitations et des fonctionnalités réduites imposées par la plateforme mobile, les méthodes suivantes ne sont pas déconseillées mais ne sont pas disponibles sur la plateforme mobile. Si ceux-ci s’exécutent sur la plateforme mobile, aucune action ne se produit :
|
| Activer les scripts pour mobile | Les scripts doivent être activés pour la plateforme mobile. |
Politiques d'interface utilisateur
Utilisez le champ Exécuter les scripts dans le type d’interface utilisateur pour déterminer si les scripts s’exécutent sur la plateforme mobile, le bureau ou les deux. Mettez à jour les stratégies existantes afin qu’elles s’appliquent soit à la plateforme mobile, soit aux deux. Pour les nouveaux scripts, assurez-vous également que l’option mobile ou les deux sont sélectionnées.
Modules de navigation
Pour le code existant, les modules doivent être transférés vers les tables sys_ui_application ou sys_ui_module pour être disponibles sur la plate-forme mobile. Lors du développement d’un nouveau code, assurez-vous que tous les modules sont créés dans les tables sys_ui_application ou sys_ui_module.
Actions d'interface utilisateur
Les actions de l’interface utilisateur doivent être transférées vers la table sys_ui_ng_action pour s’afficher sur la plateforme mobile. Les scripts d’action d’interface utilisateur qui n’utilisent pas de méthodes déconseillées ne nécessitent pas de modifications du script lui-même. Assurez-vous que les nouvelles actions d’interface utilisateur sont créées dans la table sys_ui_ng_action.