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 respecter certaines règles. Les éléments suivants sont affectés sur Mobile Platform : scripts clients, politiques d’interface utilisateur, modules de navigation 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 déconseillées.
- Ne faites pas référence à des objets de navigateur non pris en charge.
- Ne faites pas d’appels JavaScript, GlideAjax et GlideRecord synchrones.
- N’appelez pas de méthodes qui ne sont pas disponibles pour Mobile.
- Autorisez les scripts à s’exécuter 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 contenu HTML. Ces méthodes remplacent les utilisations précédentes de g_form.getControl(), qui est déconseillée pour Mobile Platform. 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 Mobile Platform. Pour plus d’informations sur ces nouvelles méthodes, référez-vous à l’API Mobile GlideForm(). |
| Ne pas utiliser de méthodes déconseillées | Les méthodes suivantes ont été déconseillées pour Mobile Platform, car l’accès direct aux éléments HTML n’est pas autorisé :
Pour vous assurer que les scripts existants sont compatibles, supprimez de votre code tous les appels vers des méthodes déconseillées. Pour les nouveaux scripts, n’utilisez pas de méthodes déconseillées si vous voulez que le script soit valide pour Mobile. Certaines des fonctionnalités précédemment incluses dans la méthode g_form.getControl() ont été extraites vers des méthodes individuelles. Au lieu de g_form.getControl(), utilisez les nouvelles méthodes décrites sur le site du développeur. |
| Ne pas faire référence à des objets de navigateur non pris en charge | Les objets de navigateur suivants ne sont pas pris en charge dans les scripts Mobile :
Assurez-vous que les nouveaux scripts n’utilisent pas ces objets et supprimez toute utilisation de ces objets de vos scripts existants. Utilisez GlideForm (g_form) à la place, 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 | Mobile Platform n’autorise pas les appels JavaScript synchrones. La méthode g_form.getReference() doit maintenant définir le paramètre de rappel. Par exemple : Assurez-vous que tous les appels g_form.getReference() incluent le paramètre de rappel. Par exemple, le script suivant n’inclut pas de rappel et est incompatible avec Mobile Platform : Le script suivant a été mis à jour pour inclure le rappel et est compatible avec Mobile Platform : |
| Ne pas effectuer d’appels Ajax synchrones | Mobile Platform n’autorise pas les appels GlideAjax synchrones. L’utilisation de getXMLWait() dans un appel GlideAjax ne fonctionnera pas sur Mobile Platform. 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, reportez-vous à l’API GlideAjax. |
| Ne pas effectuer d’appels GlideRecord synchrones | La plate-forme mobile n’autorise pas les appels GlideRecord synchrones. Assurez-vous que tous les appels GlideRecord existants comprennent un rappel. Par exemple, le script suivant n’inclut pas de rappel et est incompatible avec Mobile Platform : Le script suivant a été mis à jour pour inclure le rappel et est compatible avec Mobile Platform : |
| Ne pas utiliser de méthodes indisponibles sur Mobile Platform | En raison des limitations et de la réduction des fonctionnalités qu’impose l’utilisation de Mobile Platform, les méthodes suivantes ne sont pas déconseillées mais ne sont pas disponibles sur Mobile Platform. Si celles-ci s’exécutent sur Mobile Platform, aucune action ne se produit :
|
| Activer les scripts pour Mobile | Les scripts doivent être activés pour Mobile Platform. |
Politiques d’interface utilisateur
Utilisez le champ Exécuter les scripts dans un type d’IU pour déterminer si les scripts s’exécutent sur Mobile Platform, le bureau ou les deux. Mettez à jour les politiques existantes afin qu’elles s’appliquent à Mobile Platform ou aux deux. Pour les nouveaux scripts, assurez-vous également que l’option mobile ou les deux options soient sélectionnées.
Modules de navigation
Pour le code existant, les modules doivent être transférés aux tables sys_ui_application ou sys_ui_module pour être disponibles sur Mobile Platform. Lors du développement de 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 d’interface utilisateur doivent être transférées vers la table sys_ui_ng_action pour apparaître sur Mobile Platform. Les scripts d’action de l’interface utilisateur qui n’utilisent pas de méthodes déconseillées ne nécessitent pas de modifier le script lui-même. Pour les nouvelles actions d’interface utilisateur, assurez-vous qu’elles sont créées dans la table sys_ui_ng_action.