Jump to content
  • 0
fremois

Occurence de Table dans une base/fichier FM externe

Question

Bonjour à tous

Question sous FileMaker Server 17

Soit un ficher/base FileMaker "Interface_Web.fmp12" et un fichier/base "Contacts.fmp12".

La table "Personne" est dans la base Contacts et une instance de cette table est déclarée dans le graphe de liens de la base Interface_Web.

La table "Login" est dans la base Interface_Web et contient les identifiants de connexion utilisés en PHP plus un UUID qui est la clé étrangère vers la table "Personne"

Voilà pour le contexte. En FileMaker tout fonctionne parfaitement : les données de la table Personnes sont bien accessibles si l'on fait un modèle depuis la table Login les incluants.

Par contre via l'API PHP ... nada !

Les données de la table Personnes sont inaccessibles. Nous avons l'erreur "Rubrique manquante"

J'ajoute que si l'on place la table Personne directement dans la base Interface_Web, et que l'on met à jour le graphe de lien, cela fonctionne de nouveau.

J'ai aussi pensé à une restriction de droits sur la base Contacts mais depuis l'API-PHP nous avons bien mis les droits pour ouvrir directement cette base. Si nous souhaitons accéder directement aux données de la base Contacts (après avoir récupéré l'UUID après une requête sur la table "Login" cela fonctionne mais on perd le bénéfice du lien.

Est-ce une limitation de FileMaker ? (ce qui est dommage car cela ne facilite pas la séparation des données applicable dans le cadre du RGPD)

Avez-vous vous aussi constaté cette limitation ? L'avez-vous contournée ? Si oui comment ?

Merci de votre aide et de vous témoignages.

Francis

Share this post


Link to post
Share on other sites

18 answers to this question

Recommended Posts

  • 1

Le compte utilisateur, via l'api xml, doit avoir les droits sur les deux bases, le même login et le même mot de passe :)

 

Share this post


Link to post
Share on other sites
  • 0
il y a 2 minutes, fremois a dit :

Les données de la table Personnes sont inaccessibles. Nous avons l'erreur "Rubrique manquante"

Bonjour,

Les rubriques sont-elles bien visible sur le modèle dédié au PHP? car cela est nécessaire pour "lire" les données...

Bien cordialement,

Share this post


Link to post
Share on other sites
  • 0

Bonjour Ceydrick

Oui les rubriques de l'occurence de la table Personnes sont bien visibles dans le modèle appelé par PHP.

Si cette occurrence référence une table présente dans le même fichier FileMaker, cela fonctionne

Si cette occurrence référence une table présente dans un autre fichier FileMaker, cela fonctionne plus

Share this post


Link to post
Share on other sites
  • 0

Et en se connectant avec le compte php sur le fichier web, on arrive bien à voir les data du fichier contact ?

Si les rubriques sont manquantes, c'est qu'il y a un problème au niveau des privilèges et/ou des comptes...

Share this post


Link to post
Share on other sites
  • 0

Si j'ouvre ma base FileMaker avec le compte utilisé en PHP, me place sur le format utilisé en PHP, j'ai bien mes rubriques liées qui sont renseignées.

Le compte utilisateur utilisé pour la connexion PHP a bien les jeu de privilège "Accès via la publication Web PHP (fmphp)" activé et ce sur les deux fichiers FileMaker. 

Share this post


Link to post
Share on other sites
  • 0
Il y a 2 heures, fremois a dit :

Le compte utilisateur utilisé pour la connexion PHP a bien les jeu de privilège "Accès via la publication Web PHP (fmphp)" activé et ce sur les deux fichiers FileMaker.

Ce compte donne-t-il également accès aux rubriques du fichier contacts (quand on ouvre le fichier contact avec ce compte), les privilèges en lecture/écriture dans la table contacts sont-ils autorisés avec ce compte également, ?

Share this post


Link to post
Share on other sites
  • 0

Oui aussi. On a même essayer avec le compte Admin mais sans résultat.

Bonjour Ceydrick

Un question : avez-vous la même configuration mais sans ces soucis ?

Si oui, ce n'est pas une limitation de FileMaker et dans ce cas je monte un test "Quick and dirty".

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

Quand vous parlez de l'API PHP parlez vous de l'API xml php ou de la Data API ?

Avez-vous un retour avec un simple appel via Postman ?

Si vous utilisez la Data API -> Utilisez-vous une librairie ?
Pouvez-vous fournir une capture d'écran de votre "modèle web" et la définition de vos rubriques en PHP ?

Très souvent l'erreur "Field is missing" vient d'un champ mal orthographié dans les fichiers web/PHP (un espace, un tiret, un accent)....

Cordialement,

Share this post


Link to post
Share on other sites
  • 0
Il y a 18 heures, fremois a dit :

Un question : avez-vous la même configuration mais sans ces soucis ?

Si oui, ce n'est pas une limitation de FileMaker et dans ce cas je monte un test "Quick and dirty".

Oui tout à fait, et non ce n'est pas une limitation de FileMaker, il n'y a aucune raison que ça ne fonctionne pas :

Les deux causes principales qui fait que cela ne fonctionne pas en général : Les comptes / privilèges, un mauvais encodage des modèles, rubriques...

Comme le dit Lucie : Très souvent l'erreur "Field is missing" vient d'un champ mal orthographié dans les fichiers web/PHP (un espace, un tiret, un accent).

Avez-vous vérifié ça ? 

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

Je me permet de répondre car je travaille avec fremois. Oui nous utilisons bien la Data API et sans librairie.

Quand on recherche un enregistrement à partir d'une rubrique locale il n'y a aucun soucis mais on ne peut accéder aux rubriques de la table 'Personnes' qui est bien lié pas de message d'erreur mais les champs sont vide. Par contre quand on recherche à partir d'une rubrique de la table 'Personnes' (Personnes::PERS_Nom ou ::PERS_Nom, j'ai essayé différentes orthographes) on obtient l'erreur 'Rubrique manquante'.

Voici quelques captures d'écran des tests que j'ai pu réalisé,

Cordialement

Capture d’écran 2019-06-19 à 10.20.48.png

Capture d’écran 2019-06-19 à 10.36.16.png

Capture d’écran 2019-06-19 à 10.38.54.png

Capture d’écran 2019-06-19 à 10.40.19.png

Capture d’écran 2019-06-19 à 10.39.35.png

Share this post


Link to post
Share on other sites
  • 0

Les rubriques liés de personnes sont-elles visibles dans le mode d'affichage Formulaire  (à la différence du mode tableau)?

Share this post


Link to post
Share on other sites
  • 0

Pas sûr que ça ait un impact, mais avez-vous tenté d'activer le privilège fmxml sur le compte commun des deux fichiers (et activé l'option de publication le serveur fms)?

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

Au vu du code PHP,  je crois bien que vous utilisez l'api xml et non la data API.

A priori le nom de la rubrique sera Personnes::PERS_Nom, il n'y a rien de mauvais dans ce que je vois. Le champ est bien accessible en recherche sur le modèle ?

Share this post


Link to post
Share on other sites
  • 0

Voici comment je procéderais par étape:

  • Est ce que je suis bien sur que c'est ce champ qui pose problème ?
  • Un autre champ de la même table pose t'il le même soucis ?
  • Mon utilisateur php a t'il les droits d’accéder a cette table et ce modèle via l'api xml ?
  • Tout les champs de mon modèle sont ils accessible en recherche (Voir dans l'inspecteur)?
  • Connecter avec mon utilisateur php, puis-je faire ma recherche sur ce modèle ?
  • Mon champ est il orthographié correctement dans mon code PHP (pas d'espace à la fin ?)

 

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

Merci pour vos réponses, ce n'est pas uniquement ce champ mais tout les champs de toute les tables qui sont appelé depuis un autre fichier FileMaker qui posent problème.

Pour ce qui est des droits, les deux fichiers FileMaker sont appelé en utilisateur admin qui possède les droits fmxml et fmphp. Tout les champs sont bien visible dans l'inspecteur et les champs locaux sont accessible depuis php mais les champs importé non ("Error: rubrique manquante" quand on fait la recherche directement sur le champ sinon un champ vide).

Tout les champs sont bien orthographié, quand je fais une recherche en locale sur la table "Personnes" il n'y a aucun soucis.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...