Aller directement à la fin des métadonnées
Aller au début des métadonnées

Vous regardez une version antérieure (v. /wiki/spaces/PAI/pages/10843619349/Les+widgets+avec+divalto+one) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 9) afficher la version suivante »

Les informations qui suivent permettent de voir les différences de fonctionnement entre les widgets divalto infinty et les widgets divalto one

Rappel : les widgets divalto Infinity

Les widgets permettent de donner une information rapide et visuelle à l’utilisateur.

Dans Divalto infinity, les widgets comportent trois familles

  • les widgets métier (liste, tableau, feu, jauge,camemberts, graphiques,…) pour afficher des données provenant de l’ERP Divalto

  • les widgets de fournisseurs externes (météo, flux RSS,…)

  • les widgets liés à une fonctionnalité (module CRM tâches/agenda et recherche Power search)

Retrouvez toutes les informations concernant ces widgets en suivant ce lien Principe de fonctionnement des widgets

L’expérience divalto one offre toujours les widgets métier, et vient compléter l'étendue avec de nombreux nouveaux widget. De plus, les widgets Divalto infinity étaient limités à un usage dans l’interface d’accueil uniquement, alors que la nouvelle expérience divalto one permet également l’usage dans les entités pour disposer par exemple de widget par client, article, fournisseur, etc…

Les widgets de fournisseurs externes ou liés à une fonctionnalité ne sont pas disponibles actuellement.

Information technique : les widgets présents sous Divalto infinity dans le zoom des widgets (table MWIDGET) sont disponibles en expérience one, et les nouveaux widgets divalto one sont fournis sous forme de fichiers (fichiers JSON de description).

Les widgets en expérience one

Avec l’expérience divalto one, une nouvelle notion est introduite : les dashboard ou tableaux de bord. Retrouvez les informations en suivant ce lien Tableaux de bord et widgets.

Un dashboard est un ensemble de widgets, groupés sous un même nom qui apparaîtra sous forme d'élément cliquable, permettant à l’utilisateur de le sélectionner.

Exemple ici : Mon dashboard des articles

image-20240528-140541.pngimage-20240528-144856.png

Dashboard IA

Les dashboard ou tableau de bord “Interface d’accueil” sont les dashboard disponibles dans l’interface d’accueil de l’expérience one

image-20240528-143015.png

Ces dashboard “IA” peuvent recevoir des widgets one et tous les widgets métier existant sous Divalto infinity

Les widgets disponibles dans le zoom des widget (expérience classique MWIDGET) sont uniquement disponibles pour les dashboard IA, comme précédemment en expérience classique

Dashboard entités

Les dashboard ou tableau de bord “Entités” sont les dashboard disponibles dans les zooms des entités en expérience one, comme par exemple une fiche client, une fiche article, …

image-20240528-145504.png

Ces dashboard entités peuvent recevoir des widgets one qui ont été conçus pour l’entité uniquement. A cette fin il existe la notion de catalogue afin de donner à l’utilisateur une liste de widgets pour son entité

image-20240528-145846.png

Le fichiers JSON catalogue et widget

Voici quelques informations techniques concernant l’organisation des données qui permettent d’utiliser les widgets.

Les widgets entité sont nécessairement liés à un module diva et à une fonction diva qui retourne les valeurs attendues

Niveau widget entité

Chaque widget entité est décrit via 2 fichier JSON

  • DATASOURCE

    • Nommage : codeModule + '_' + famille + typeWidget + nomWidget + “.datasource.json”

    • par exemple gt_art_graph_TopFournisseurs.datasource.json

    • indique le module et la fonction diva à appeler, et les colonnes nécessaires au rendu

    • Exemple de contenu

{
    "Type": "infinityGraphSource",
    "Mapping": {
        "AbscissLabelField": "abscissLabel",
        "AbscissValueField": "abscissValue"
    },
    "Module": "gttmdashboard001.dhop",
    "Function": "art_graph_TopFournisseurs"
}

  • WIDGET

    • Nommage : codeModule + '_' + famille + typeWidget + codeWidget + “.widget.json”

    • par exemple gt_art_graph_TopFournisseurs.widget.json

    • indique le type de rendu/layout de layout, et les informations d’affichage comme le titre, les libellés, la taille. Sert au binding entre le retour de la fonction diva et le rendu visuel

    • Exemple de contenu

{
    "Children": {
        "graphTest": {
            "Type": "graph",
            "Title": "Nombre affaires / opportunités en cours utilisant mon article réparti par type d'arborescence d'affaire",
            "DataSource": "gt_art_graph_AffairesBesoin_Arbo",
            "Series": [
                {
                    "Label": "EvtCrm",
                    "ValueField": "PieValue",
                    "GraphType": "donut"
                }
            ]
        }
    },
    "Label": "Nombre affaires / opportunités en cours utilisant mon article réparti par type d'arborescence d'affaire",
    "Icon": "chart-line",
    "Description": "Nombre affaires / opportunités en cours utilisant mon article réparti par type d'arborescence d'affaire",
    "ColSpan": 6,
    "RowSpan": 2
}

Niveau catalogue

Un catalogue de widgets est fichier JSON qui liste les widgets disponibles pour chaque entité.

  • Nommage : codeModule + '_' + famille + codeCatalogue + “.catalog.json”

  • par exemple gt_art_vente.catalog.json

  • liste les widgets entités, pour chaque entité

  • Exemple de contenu

{
    "Label": "Vente",
    "WidgetNames": [
		"gt_art_list_PceVentes",
		"gt_art_list_tarif_vente",
		"gt_art_graph_TopClients"
	]
}

Autre exemple gt_art_prod.catalog.json

{
    "Label": "Production",
    "WidgetNames": [
		"gt_art_metric_OF",
    ]
}

NOTES BEL

  • les widget infinity (donc ceux du mode classique via l’IA) sont disponibles dans one, mais UNIQUEMENT pour placement dans la zone d’accueil one

  • inversement, seuls les widgets infinity sont disponibles pour la zone d’accueil

  • les widgets d’entité (nouveaux pour one) sont disponibles, mais UNIQUEMENT pour placement dans un dashboard d’une entité, et propres à l’entité

  • inversement, seuls les widgets d’entité sont disponibles pour la zone d’entité

Principe:

  • fichier JSON “catalogue”, par exemple gt_art_vente.catalog.json, liste les widgets entité, pour chaque entité

gt_art_vente.catalog.json
{
    "Label": "Vente",
    "WidgetNames": [
		"gt_art_list_PceVentes",
		"gt_art_list_tarif_vente",
		"gt_art_graph_TopClients"
	]
}

gt_art_prod.catalog.json
{
    "Label": "Production",
    "WidgetNames": [
		"gt_art_metric_OF",
    ]
}
  • 2 fichiers JSON par widget entité

    • par exemple gt_art_graph_TopFournisseurs.datasource.json, indique le module+fonction diva à appeler, et les colonnes nécessaires au rendu

{
    "Type": "infinityGraphSource",
    "Mapping": {
        "AbscissLabelField": "abscissLabel",
        "AbscissValueField": "abscissValue"
    },
    "Module": "gttmdashboard001.dhop",
    "Function": "art_graph_TopFournisseurs"
}
  • ?? quels sont les types pour le champ TYPE

    • par exemple gt_art_graph_TopFournisseurs.widget.json, indique le TYPE de rendu/layout, les informations d’affichage comme titre, librllé, taille ; fait le b

{
    "Children": {
        "graphTest": {
            "Type": "graph",
            "Title": "Nombre affaires / opportunités en cours utilisant mon article réparti par type d'arborescence d'affaire",
            "DataSource": "gt_art_graph_AffairesBesoin_Arbo",
            "Series": [
                {
                    "Label": "EvtCrm",
                    "ValueField": "PieValue",
                    "GraphType": "donut"
                }
            ]
        }
    },
    "Label": "Nombre affaires / opportunités en cours utilisant mon article réparti par type d'arborescence d'affaire",
    "Icon": "chart-line",
    "Description": "Nombre affaires / opportunités en cours utilisant mon article réparti par type d'arborescence d'affaire",
    "ColSpan": 6,
    "RowSpan": 2
}

  • fichier JSON “dashboard” qui indique quels sont les catalogues de widgets disponibles pour une entité, et quels sont ceux du dash par défaut

image-20240528-125512.png

les fichier HOME_xxx.catalog.json sont les dashboard pour l’IA ajoutés pour l’IA one_

Pour accéder aux JSON : installer MS visual code (gratuit) et un composant Divalto qui permet de naviguer dans les fichiers JSON du serveur après connexion au projet

Ensuite modifier le JSON qui fait le lien entre une entité et le catalogue (ici gt_art.catalog.json) pour ajouter un catalogue ‘spé’, puis s’inspirer du catalogue existant

En surcharge de zoom:

  • il faut créer un fichier nommé “nom du masque” + ‘u' + “.dashboard.json” en faisant une COPIE du fichier “sans le u” (car pas de fusion automatique). Dès que le fichier ‘u’ est trouvé il remplace le 'non u’

  • il faut nécessairement avoir un masque écran 'u' dans le projet client pour compiler un objet “nom du masque” + u + .dhof pour déclencher la recherche du fichier JSON (même si aucune modification faite dans le zoom)

  • ajouter dedans ?? une ligne pour faire un has u

  • Aucune étiquette