Scripts FileMaker et FileMaker Data API

Un script FileMaker est une ou plusieurs instructions (actions de script) définies pour automatiser les tâches répétitives ou difficiles. Lorsque les scripts FileMaker sont utilisés avec FileMaker Data API, ils permettent aux services Web d'exécuter plusieurs tâches ou une série de tâches. Consultez la section Exécuter des scripts FileMaker.

Pour visualiser les actions de script acceptées par FileMaker Data API, ouvrez l'Espace de travail de script de FileMaker Pro, cliquez sur le bouton Compatibilité, puis sélectionnez FileMaker Data API. Les actions de script non grisées sont prises en charge par FileMaker Data API. Certaines actions de script fonctionnent différemment ou peuvent ne pas être prises en charge par FileMaker Data API. Consultez la section Création et modification de scripts dans l'aide de FileMaker Pro.

Les scripts exécutés par FileMaker Data API ne peuvent pas exécuter les scripts dans d'autres fichiers FileMaker sauf si les fichiers sont hébergés sur le même hôte. Le privilège étendu fmrest doit être activé pour les autres fichiers FileMaker.

Dans FileMaker Pro, les déclencheurs de scripts peuvent être activés à la fois par des actions de script et des actions de l'utilisateur (par exemple, cliquer sur une rubrique). Toutefois, dans les solutions FileMaker Data API, seuls les scripts peuvent activer des déclencheurs de script. Pour obtenir des informations supplémentaires sur les déclencheurs de script, consultez la section Configuration des déclencheurs de script dans l'aide de FileMaker Pro.

Remarques 

  • Tenez compte de la quantité de données et du nombre d'enregistrements qu'un script peut renvoyer, puis définissez les scripts en conséquence. Dans FileMaker Pro, un script peut renvoyer tous les enregistrements d'une table ou de l'actuel jeu d'enregistrements trouvé. Toutefois, si un script renvoie tous les enregistrements d'une table, un service Web qui tente de tous les traiter peut se heurter à un problème de mémoire.

  • Dans les solutions FileMaker Data API, le déclencheur de script SurOuverturePremiereFenetre n'est pas activé. Le déclencheur de script SurFermetureDerniereFenetre est activé uniquement lorsqu'un script ferme la dernière fenêtre virtuelle. Vous pouvez exécuter des scripts manuellement avec le point de terminaison API script ou en insérant le paramètre script.prerequest, script.presort et les paramètres de script dans le corps de la requête.

  • Utilisez les comptes et privilèges pour restreindre l'ensemble des scripts qu'un service Web exécute. Vérifiez que les scripts contiennent exclusivement des actions de script compatibles avec le Web et donnez uniquement accès aux scripts pouvant être utilisés depuis un service Web.

  • Pensez aux effets secondaires des scripts qui exécutent une combinaison d'actions contrôlées par des privilèges d'accès. Par exemple, si un script comporte une action visant à supprimer des enregistrements et qu'un service Web ne se connecte pas avec un compte autorisant la suppression d'enregistrements, le script n'exécutera pas l'action Supprimer des enregistrements. L'exécution du script peut néanmoins se poursuivre et mener à des résultats inattendus.

  • Dans FileMaker Pro, utilisez la fenêtre Espace de travail de script pour accorder les privilèges d’accès intégral à un script afin d'effectuer des actions auxquelles les utilisateurs individuels n'ont normalement pas accès. Par exemple, vous pouvez empêcher les utilisateurs de supprimer des enregistrements avec leurs comptes et privilèges, mais les autoriser à exécuter un script visant à supprimer certains enregistrements dans les conditions définies dans le script.

  • Les points de terminaison FileMaker Data API sont destinés à valider immédiatement les modifications apportées aux données, mais les scripts peuvent laisser des enregistrements non validés. Par exemple, une session pourrait exécuter un script qui modifie un enregistrement mais ne le valide pas ; la session suivante obtiendrait alors un message d'erreur lors de la tentative de modification du même enregistrement. Ou bien, dans une seule session, un script pourrait modifier un enregistrement, puis créer une nouvelle fenêtre, puis appeler un second script qui tente de modifier le même enregistrement. Assurez-vous de vérifier les résultats de script et l'absence d'erreurs de script.

  • Tout script modifiant des données doit inclure l'action de script Valider enreg./requêtes, car toutes les modifications apportées aux données ne sont pas accessibles tant que les données ne sont pas enregistrées sur le serveur. Ceci inclut des actions de script telles que Couper, Copier ou Coller. De nombreuses actions de script uniques doivent être converties en script pour inclure l'action Valider enreg./requêtes. Lors de la conception de scripts destinés à être exécutés depuis un service Web, incorporez l'action Valider enreg./requêtes en fin de script pour garantir l'enregistrement de toutes les modifications.

  • Ouvrez les scripts susceptibles d'être exécutés par les utilisateurs Web et vérifiez qu'ils s'exécutent correctement lorsque la base de données est hébergée en tant que solution FileMaker Data API. Vérifiez que le script utilise uniquement les actions de script prises en charge par FileMaker Data API, comme décrit plus haut.