[GristDocTour] Créer un tour de visite découverte de votre projet

Le saviez-vous ? Vous pouvez créer un tour de visite de votre projet Grist !

Mode opératoire :

  1. Créez (ou importez) une table « GristDocTour » (respectez bien son nom)
    avec les champs obligatoires (types texte) :
  • Title (Entête de la popup)
  • Body (Corps de la popup)
  • Placement (Valeurs possibles : top right left bottom, par rapport à la cellule d’ancrage ou vide)
  • Location (Lien complet vers la page ou la cellule d’ancrage récupéré par Ctrl Shift A, ex : url du projet/p/1#a1.s1.r1.c2, voir note ci-dessous)

et optionnels (type texte):

  • Location Cell (référence de l’ancre de la cellule, ex : /p/1#a1.s1.r1.c2, voir note ci-dessous)
  • Link URL (URL d’une page à visiter)
  • Link Text (Groupe de mots de l’hyperlien)
  • Link Icon (IconName, voir ici )
  1. Créez autant d’enregistrements que de popups à afficher selon le parcours envisagé.

A noter :

  • La table GristDocTour n’est visible qu’en « Données source ». Une page de sa vue table peut être rendue visible par l’appel url du projet/p/GristDocTour
  • Un tour est rejouable par « Découvrir le document » disponible dans les outils du projet.
  • Pour créer des liens dynamiques en cas de partage du projet, mieux vaut construire le lien de $Location par une formule =SELF_HYPERLINK()+$Location_Cell où $Location_Cell contient la seule référence de l’ancre.
5 « J'aime »

ça m’avait bleuffé quand j’avais découvert cette fonctionnalité !
C’est top pour embarqué un utilisateur qui n’a jamais vu le document précédemment. En revanche avec @Bertille on avait trouvé un peu limitant que les indications ne soient liées qu’a des cellules car parfois on veut pouvoir donner une indication sur un widget, le fonctionnement d’un filtre etc.
Peut-être que ça vaudrait le coup de créer une issue chez grist ?

1 « J'aime »

on avait trouvé un peu limitant que les indications ne soient liées qu’a des cellules car parfois on veut pouvoir donner une indication sur un widget
@virgiledeville

Ce message de Dmitry me laisse penser qu’en jouant un peu avec les paramètres de l’ancre (notamment le paramètre s) on peut pointer vers le widget de son choix, peut être en omettant r et c ?

C’est top ! Est-ce qu’on sait personnaliser le tour de visite en fonction d’un ACL (ou d’un email) ? Par exemple, j’ai deux rôles d’utilisateurs pour mon Grist, ils l’utilisent donc de façon très différentes et ont de nombreuses vues qui ne sont pas en commun. Ce serait top de pouvoir accompagner Role1 autant que Role2 en adaptant les messages en fonction de ce qu’on attend d’eux.
EDIT : j’ai la possibilité de mettre facilement les adresses mails des bons utilisateurs dans une colonne de la table GristDocTour si ça peut aider ?

1 « J'aime »

Bonjour Mathieu
Non, le tour n’est pas profilable…

Pour info, j’ai réussi au travers des ACL.

Serait-il possible de savoir comment vous avez procédé ? cela m’intéresse.

Une table Equipe avec adresses mails et roles. Dans la table GristDocTour, une colonne AccessRoles pour sélectionner manuellement le ou les rôles (choix multiples). Et une colonne AccessEmails qui récupère automatiquement les adresses mails de la table Equipe.
Puis en parallèle dans les ACL, Lecture seule pour « user.Email in rec.AccessEmails ».
Tadaaa

PS : pour la formule qui alimente la colonne AccessEmails :

# Fonction pour dédupliquer les éléments d'une liste
def dedupliquer(my_list):
  return [*set(my_list)]
# On récupère la liste des emails pour tous les rôles référencées dans la colonne $AccessRoles
emails = [people for role in $AccessRoles for people in Equipe.lookupRecords(Role=CONTAINS(role)).Email]

# On retourne le résultat en dédupliquant les entrées.
return dedupliquer(emails)
1 « J'aime »

@mathieugimenez je n’ai pas tout compris à votre solution. Vous avez une colonne rôle dans votre table grist tour et du coup les conseils s’affichent ou non en fonction de celle-ci ?
Très intéressé car c’est clair que pouvoir faire des tutos pour les rôles différents c’est bien plus efficace.

Il y a deux tables. Une « Equipe » et une « GristDocTour ». La colonne « AccessRoles » de la table « GristDocTour » permet de récupérer les adresses mails de la table « Equipe ».

@mathieugimenez si tu as le temps l’occasion de nous mettre un petit .grist d’exemple ici ça serait vraiment top :slight_smile:

Voici : Untitled document - Grist

1 « J'aime »

Bonjour,

De mon côté j’ai préféré utiliser une table pour rendre optionnel chacun des scénarios, et l’utilisateur peut choisir ce qui l’intéresse.

Exemple ici: Tunable GristDocTour - Grist (getgrist.com)

C’est le contenu vide ou non vide des colonnes Title et Body qui conditionne l’affichage de chaque étape, je ne sais pas si c’est la façon la plus propre de faire.

Bonjour,

Merci pour votre présentation de cet outil, est-il possible de mettre à jour le tour de visite pour mettre en avant un nouveau module et de représenter le tutoriel à tous les utilisateurs lors de leur prochaine connexion ?

Merci d’avance pour votre réponse.

Bonjour @Laure
Il suffit de mettre à jour la table « GristDocTour ».
Pour interagir avec elle, le plus simple est de solliciter l’affichage d’une nouvelle page qui s’appuie sur la donnée source « GristDocTour ». La page pourra être supprimée à l’issue (pas la donnée !).
Eric

Merci, c’est très clair !

Je relève un mini-bug sur l’affichage en mode View As => les bulles ne pointent plus vers les cellules

Situation normale :

Situation « View As » :