[BONNE PRATIQUE] [CANVAS] Comment gérez vous le stockage de documents dans vos applications ?

Étiquetté : , ,

  • [BONNE PRATIQUE] [CANVAS] Comment gérez vous le stockage de documents dans vos applications ?

    Posté par Remi sur 13 novembre 2021 à 21h06

    Contexte :

    Je réalise un POC pour créer une application d’aide à la vente à destination des agents de terrain dans le secteur du BTP.

    Cette application doit permettre de collecter une centaine informations textuelles diverses sur un bâtiment et ses caractéristiques physiques afin de faire des préconisations pour le dimensionnement et métrage de certains travaux.

    Durant la collecte d’information l’agent sur place doit recueillir une quarantaine de photos, vidéos et documents lisible.

    Exemples : photos du portail d’accès, scan de la taxe foncière, ect…

    Chaque proposition commercial représente donc environ 200 MB en divers formats.

    À partir de toutes ces données nous devons générer un rapport pdf d’une vingtaine de page incluant photos et différents textes à partir d’un modèle et quelques conditions.

    Question et problématique de bonnes pratiques : Q1 — Comment gérez vous le stockage des différents documents (200MB) pour ne pas qu’il encombre votre environnement dataverse ?

    • Blob
    • Fichier dataverse
    • SharePoint

    Q2 — Quelle base CDM ?

    • D365 Sales / Field
    • Custom schéma

    Q3 — Comment générer vous le rapport PDF ?

    • Power automate
    • Rapport RDL
    • Modèle Word

    Q4 — Comment vérifier la lisibilité des documents ?

    • AI Builder
    • Requête API externe dans une solution de OCR avec power automate

    Q5 — Comment intégrer la signature électronique dans l’outil ?

    Q6 — Quel type de licence doit être souscrit ?

    Q7 — Est-il possible que cette application Canvas soit utilisable hors ligne?

    Q8 — Comment gérez vous le stockage de documents dans vos applications Power Apps ?

    Merci à vous pour vos réponses. 💯

    Rémi RicheDataIPA Lyon

    PostID=o573Z24hfwQ4gaw

    Florent Giboin a répondu Il y a 11 mois, 3 semaines 1 Membre · 3 Réponses
  • 3 Réponses
  • Theophile CHIN-NIN

    Membre
    14 novembre 2021 à 7h27

    Hello Rémi,

    De manière général je préfère stocker mes docs dans SharePoint, qui est l’outil tout indiqué pour la gestion des versions, l’indexation de la recherche M365, co présence en ligne etc…

    Pour la base, je ne suis pas un expert D365, mais j’ai tendance à utiliser les tables basiques du CDM type contact/account. Ensuite l’utilisation de tables D365 Sales et soumis à licence si je dis pas de bêtise.

    Générer rapport PDF j’utilise le connecteur Word Business (Premium)

    Lisibilité des docs je dirai AI Builder mais sans retour d’experience dessus

    Signature electronique, les outils du marché ont généralement de belles API, Docusign par exemple (meme si le connecteur Power Platform est pas génial, tu peux faire un custom connecteur car leur API est bien)

    Licence, ben ca dépend si tu fais du D365 ou du pur custom Dataverse. A minima du Power Apps Per User ou Per App en fonction de si tu as 1 ou 2 applications (canvas + model driven?), + crédit AI Builder + Licence O365 pour accès aux docs dans SharePoint

    Une canvas est bien utilisable offline, mais a voir comment gérer avec les docs. Je dirai que tes records peuvent etre créés offline, mais que l’upload de docs se fera a posteriori une fois en ligne.

    Note: il est possible d’intégrer Dataverse et SharePoint : Les docs d’un record sont stockés dans SharePoint et visible dans dataverse.

    CommentID=Wj46pK9KKm8xKUd, PostID=o573Z24hfwQ4gaw

  • R3dKap

    Membre
    14 novembre 2021 à 14h30

    Salut @Rémi RICHE – DataIPA Lyon,

    Voici mes réponses, qui n’engagent que moi bien sûr… 😉

    Q1. Je confirme ce que @Theophile CHIN-NIN suggère : les docs on les mets dans SharePoint. En plus ça ne mangera pas tes quotas Dataverse.

    Q2. Je dirais que ça dépends de la part que ton application va éventuellement utiliser de D365 Sales. Si c’est juste pour choper 2 ou 3 champs ça vaut pas le coup. Autant utiliser les tables natives classiques Dataverse et créer quelques tables customs.

    Q3. Pour la génération des rapports PDF j’ai une petite préférence pour Power Automate. Avantage : tu fais quasiment ce que tu veux au niveau contenu (formattage, images, blocs de répétition dynamiques, etc.). Tu génères tout en HTML puis tu utilises le convertisseur gratuit de Power Automate. Par contre, faut se coller l’HTML pour la mise en forme.

    Je faisais du Word avant et je trouve ça vraiment très galère à mettre en place : faut une bibliothèque de doc avec un type de contenu qui contient les champs des données que tu veux y insérer ; faut éditer ton modèle de doc pour y mettre les champs ; dès qu’il s’agit d’images et de blocs répétitif c’est l’enfer. Le seul avantage que j’y vois c’est que le formatage y est plus facile évidemment.

    Q4. Alors là il faut voir comment tu comptes déterminer qu’un document est “lisible”. Est-ce que si tu y appliques un p’tit coup d’OCR et que tu récupères du texte (ne serait-ce qu’un seul mot) tu considères que c’est bon ou alors il te faut un minimum de mots ? Si ce sont toujours les mêmes types de documents et qu’il y a des mots répétitifs ou des mots-clés précis qui permettent de déterminer que le document est bien celui qu’il fallait scanner alors ça peut être intéressant. L’OCR est une bonne idée puisqu’il n’arrivera pas à reconnaître le texte si la photo est floue (par contre si elle est coupée… plus difficile à détecter). Mais jusqu’à quel point sera-t-il précis ?!? Du coup, je pense qu’une combinaison du Text Recognition et du Key Phrase Extraction de AI Builder pourrait donner des résultats intéressants. Après, y’a toujours la solution d’entraîner une IA à détecter qu’une photo d’une feuille de papier ne sorte pas du cadre… Marrant à faire ! 😉

    Q5. Est-ce que tu veux absolument une VRAIE signature électronique avec un identifiant unique généré par un organisme certifié ? Parce-que ce que je fais en général c’est que sur application Power Apps canvas je mets un composant Pen Input et je laisse l’utilisateur signer avec le doigt. Ensuite j’enregistre l’image de cette signature avec la donnée correspondante (facture, rapport, etc.). Avantage : c’est gratos.

    Q6. Voir commentaire de @Theophile CHIN-NIN.

    Q7. Oui bien sûr. Attention une application qui exploite le mode off-line doit être conçue et développée dans ce but DES LE DEPART. Transformer une application classique en application supportant le off-line c’est l’enfer. Donc il faut décider avant de commencer les dév. Une application qui autorise le mode off-line a une logique différente d’une app classique : au lancement elle vérifie si elle est connectée, si c’est le cas elle va chercher les données en base et met à jour ses données locales, si ce n’est pas le cas elle ne prend que les données en local, elle regarde ensuite s’il y a des données en attente de synchro et si c’est le cas elle synchronise, etc. etc. Pour ce qui est du problème de volumétrie, tu ne seras limité que par la mémoire ou l’espace disponible sur le device qui exécutera l’application. Jette à un œil à cet article :

    Ca me fait penser d’ailleurs, qu’à la rigueur, les images aussi je les stockerais sur SharePoint car elles ne mangeront pas non plus tes quotas Dataverse du coup.

    Q8. Voir Q1… 😉

    En espérant que ça t’aide à prendre les bonnes décisions… 🙂

    CommentID=QUVEeby90xhMVw1, PostID=o573Z24hfwQ4gaw

  • Florent Giboin

    Membre
    16 novembre 2021 à 10h10

    1 : SharePoint

    3 : Ca dépend du budget et des besoins. Mais dans l’idéal une machine virtuelle avec weasy print qui est connecté aux sharepoints et qui convertit tous les html sauvegarde via le CSS adapté.

    4 : AI builder, quitte a payer, autant ne pas réinventer la roue. L’outil est performant.

    5 : … Pour le pdf ? A quel moment ? Un vrai cryptage ?

    6 : Alors là… On peut s’en sortir avec un compte admin qui a toutes les licences. En contrepartie, on va perdre en réactivité.

    7 : Oui… mais j’ai jamais utilisé saveData et loadData

    8 : Tu parles de l’import ? ou l’accès ?

    CommentID=ctARmNKsQQJFioI, PostID=o573Z24hfwQ4gaw

Connectez-vous pour répondre.