Redirection de la page d'accueil
Le système de redirection de la page d'accueil de Softyflow est une fonctionnalité puissante qui transforme une page d'accueil générique en un tableau de bord personnalisé adapté au contexte de chaque utilisateur. En redirigeant automatiquement les utilisateurs vers des pages spécifiques en fonction de leurs rôles, de leurs métadonnées et de conditions définies sur mesure, vous pouvez considérablement améliorer l'expérience utilisateur et rationaliser les flux de travail.
Aperçu
Le système fonctionne sur un principe simple mais efficace : lorsqu'un utilisateur accède à la page d'accueil par défaut (/home), Softyflow évalue une série de règles ordonnées. Chaque règle contient une condition JavaScript qui est vérifiée par rapport aux données de l'utilisateur connecté. La première règle dont la condition est évaluée à true est exécutée, et l'utilisateur est immédiatement redirigé vers la page spécifiée dans cette règle. Si aucune condition n'est remplie, l'utilisateur est envoyé vers la page d'accueil par défaut.
2. Guide de configuration complet
La configuration correcte des règles de redirection est essentielle pour créer une expérience utilisateur transparente. Voici comment procéder.
2.1. Accéder au panneau des paramètres de redirection
Vous devez d'abord accéder à l'interface de gestion des redirections.
- Accédez aux paramètres dans l'IDE
/ide/settings - Sélectionnez Page d'accueil dans le panneau des paramètres
- Affichez la section Page d'accueil avec les règles de redirection

2.2. Création et structuration des règles de redirection
2.2.1. Lancer une nouvelle règle
Pour commencer, ajoutez une nouvelle règle à la liste.
- Cliquez sur le bouton Créer une règle. Une nouvelle ligne vide apparaîtra dans le tableau des règles.
- Cliquez sur l'icône Paramètres (engrenage) dans la nouvelle ligne pour ouvrir le panneau de configuration de cette règle.

2.2.2. Définir les composants de la règle
Chaque règle comporte trois parties principales qui déterminent son comportement.
- Sélection du projet : Tout d'abord, choisissez le Projet qui contient votre page cible. Cette liste déroulante filtre les pages disponibles, ce qui facilite la recherche de la bonne.
- Sélection de la page : Ensuite, sélectionnez la Page/Interface cible dans le projet choisi. C'est la destination où l'utilisateur sera envoyé si la condition de la règle est remplie.
- Condition de la règle : Enfin, écrivez une expression JavaScript qui renvoie
trueoufalse. Cette expression a accès à l'objetSF_connectedUser, qui contient toutes les informations sur l'utilisateur actuellement connecté, y compris ses rôles, ses métadonnées, son e-mail, etc.

2.2.3. Prioriser vos règles
L'ordre des règles est essentiel. Les règles sont évaluées séquentiellement de haut en bas. La première règle qui correspond aux données de l'utilisateur déclenchera la redirection, et toutes les règles suivantes seront ignorées.
- Utilisez les flèches haut et bas dans la colonne Trier pour modifier la priorité d'une règle.
- Placez vos règles les plus spécifiques en haut de la liste et les règles plus générales et fourre-tout en bas.
3. Exemples de règles pratiques
3.1. Redirection de base basée sur les rôles
C'est le cas d'utilisation le plus courant : rediriger les utilisateurs en fonction de leur fonction. Ici, nous redirigeons tous les utilisateurs ayant le rôle "Administrateur" vers un tableau de bord d'administration dédié.

- Logique : La condition
SF_connectedUser.roles.includes('62d815e3e6056a53653496e1')vérifie si le tableau des rôles de l'utilisateur contient l'ID du rôle "Administrateur". Utilisez toujours les ID de rôle au lieu des noms pour plus de stabilité.
3.2. Redirection basée sur les métadonnées
Vous pouvez créer une logique plus granulaire en exploitant les métadonnées utilisateur personnalisées. Par exemple, vous pourriez vouloir rediriger les responsables du département "Ventes" vers un tableau de bord spécial d'analyse des ventes.

- Logique : La condition
SF_connectedUser.metadata.department === 'Sales' && SF_connectedUser.metadata.isManager === 'true'combine deux vérifications de métadonnées pour cibler un groupe d'utilisateurs très spécifique.
3.3. Redirection par e-mail pour des utilisateurs spécifiques
Pour les exceptions ou les règles qui s'appliquent à un seul individu, vous pouvez utiliser son adresse e-mail.

- Logique : La condition
SF_connectedUser.mail === 'specific.user@example.com'fournit un moyen direct de gérer les cas uniques. Cette règle doit être placée en haut de la liste des priorités.
4. Meilleures pratiques pour la gestion des règles
4.1. Organisation des règles
Ordonner par spécificité : Placez toujours les règles plus spécifiques avant les règles générales. Une règle pour l'e-mail d'un utilisateur spécifique doit précéder une règle pour un département entier.
Utiliser des conditions descriptives : Écrivez des conditions claires et lisibles. Cela facilite la maintenance pour vous et votre équipe.
// Bon : Clair et auto-documenté
SF_connectedUser.metadata.department === "Finance" &&
SF_connectedUser.metadata.isManager === "yes";
// Mauvais : Cryptique et difficile à maintenir
SF_connectedUser.metadata.d === "F" && SF_connectedUser.metadata.m === "y";Tester minutieusement : Utilisez un environnement de test pour vérifier que vos règles fonctionnent comme prévu pour différents profils d'utilisateurs avant de les déployer en production.
4.2. Considérations sur les performances
- Minimiser le nombre de règles : Quelques règles bien conçues et efficaces valent mieux qu'une longue liste de règles simples.
- Écrire des conditions efficaces : Dans les conditions
&&complexes, placez d'abord les vérifications les plus rapides à évaluer ou les plus restrictives. Cela permet à l'expression d'échouer rapidement. - Éviter les opérations lourdes : Les conditions doivent être légères. Évitez de faire des appels d'API, des calculs complexes ou un traitement de données lourd dans une règle.
4.3. Lignes directrices de sécurité
Valider l'existence des données : Ne présumez jamais qu'un champ de métadonnées existe. Vérifiez toujours sa présence avant d'accéder à sa valeur pour éviter les erreurs.
// Sûr : Vérifie les métadonnées et le département
SF_connectedUser.metadata && SF_connectedUser.metadata.department === "IT";
// Risqué : Lèvera une erreur si les métadonnées sont indéfinies
SF_connectedUser.metadata.department === "IT";Utiliser les ID plutôt que les noms : Référencez toujours les rôles par leur ID unique, car les noms peuvent changer.
5. Dépannage des problèmes courants
Si une règle ne fonctionne pas comme prévu, vérifiez les points suivants :
- Ordre des règles : Une règle plus générale est-elle placée avant votre règle spécifique, ce qui la fait ignorer ?
- Syntaxe de la condition : Votre syntaxe JavaScript est-elle correcte ? Vérifiez la console du développeur du navigateur pour les erreurs lors de la connexion ou de l'accès à la page d'accueil.
- Données de l'utilisateur : L'utilisateur que vous testez a-t-il réellement les rôles et les métadonnées requis par la condition ? Vérifiez le profil de l'utilisateur dans la section de gestion des utilisateurs.
- Page cible : La page vers laquelle vous redirigez existe-t-elle toujours et est-elle accessible à l'utilisateur ?
En combinant judicieusement les rôles, les métadonnées et la logique personnalisée, vous pouvez transformer la page d'accueil de Softyflow en un hub de navigation dynamique et intelligent qui répond aux besoins uniques de chaque utilisateur.