Paramètres de session
Une session est la connexion que l'utilisateur établit avec le serveur lors de l'affichage d'une application composite dans une visualisation. Vous pouvez créer des paramètres de session pour stocker des données temporaires à partir de la session utilisateur en cours. Par exemple, vous pouvez utiliser un paramètre de session afin de stocker un paramètre pour le thème stylistique préféré d'une application composite. Les valeurs des paramètres de session sont uniques pour chaque utilisateur connecté au serveur et sont stockées jusqu'à la fin de la session. Les données des paramètres de session sont également conservées lorsqu'un utilisateur navigue entre différentes applications composites.
Une session se termine lorsqu'un utilisateur ferme l'application, se déconnecte à l'aide de la fonction Déconnexion ou que sa session arrive à expiration après une période d'inactivité sur le serveur. Le délai d'inactivité par défaut pour une session de plateforme est de 30 minutes. Vous pouvez configurer le délai d'inactivité par défaut à l'aide du service d'administration SetPlatformSessionTimeout. Pour plus d'informations, consultez la rubrique Services administrateur.
Bonnes pratiques
Utilisez une base de données ou un objet pour stocker les données requises pour plusieurs sessions.
Lorsque cela est possible, utilisez les paramètres d'application composite pour transmettre des données entre des applications composites. L'utilisation d'un trop grand nombre de paramètres de session peut affecter les performances. Pour plus d'informations, consultez la rubrique Configuration des paramètres d'application composite.
Utilisation d'événements de modification pour les valeurs des paramètres de session
Vous pouvez ajouter des paramètres de session dans le UserManagementSubsystem, puis utiliser le panneau Session de Mashup Builder pour créer des liaisons aux widgets, services ou fonctions d'une application composite. Lorsque vous sélectionnez le panneau, les paramètres de session disponibles s'affichent.
Le panneau Propriétés des données affiche un <Parameter_Name>Changed pour chaque paramètre. Ces événements se déclenchent uniquement lorsque la valeur d'un paramètre de session change côté client. La modification de la valeur d'un paramètre à l'aide du service SetGlobalSessionValues sur le serveur ne déclenche pas cet événement. Pour déclencher un événement lorsque la valeur change sur le serveur, utilisez plutôt l'événement ServiceInvokeComplete du service utilisé pour mettre à jour le paramètre.
Ajout de paramètres de session
Vous pouvez utiliser une entité Forme d'objet avec une ou plusieurs propriétés en tant que paramètres de session. Pour ajouter une forme de données à l'entité UserManagementSubsystem :
1. Dans Composer, cliquez sur Parcourir.
2. Sous Système, sélectionnez Sous-systèmes, puis ouvrez l'entité UserManagementSubsystem.
3. Ajoutez une forme d'objet au sous-système en procédant de l'une des manières suivantes :
Dans l'onglet Services, exécutez le service AddSessionShape :
a. Localisez le service et cliquez sur Exécuter le service sous la colonne Exécuter. La boîte de dialogue Exécuter le service s'ouvre.
b. Dans le champ Nom, sélectionnez la forme d'objet qui contient les paramètres de session, puis cliquez sur Exécuter.
c. Cliquez sur Terminé pour fermer la boîte de dialogue.
d. Cliquez sur Enregistrer pour enregistrer les modifications apportées au sous-système.
Dans l'onglet Configuration, sous Paramètres de forme de la session utilisateur, cliquez sur Ajouter. Une boîte de dialogue s'ouvre.
a. Saisissez un nom de forme d'objet, puis cliquez sur Ajouter.
b. Cliquez sur Enregistrer pour enregistrer les modifications apportées au sous-système.
La forme d'objet est ajoutée au sous-système. Les propriétés de la forme de données sont répertoriées en tant que paramètres de session pouvant être liés lorsque vous ouvrez le panneau Session.
* 
L'utilisation d'une table d'informations avec plusieurs lignes et colonnes en tant que paramètre de session peut réduire les performances.
Pour plus d'informations, consultez la rubrique Sous-système de gestion des utilisateurs.
Accès aux paramètres de session sur le serveur Platform
Pour récupérer les valeurs des paramètres de session :
1. Dans Composer, cliquez sur Parcourir.
2. Sous Système, sélectionnez Ressources, puis ouvrez l'entité ressource CurrentSessionInfo.
3. Dans l'onglet Services, exécutez le service GetGlobalSessionValues :
a. Localisez le service dans la liste, puis sous la colonne Exécuter, cliquez sur Exécuter le service. La boîte de dialogue Exécuter le service s'ouvre.
b. Cliquez sur Exécuter. Les valeurs des paramètres de la session en cours s'affichent dans le volet Sortie.
c. Cliquez sur Terminé pour fermer la boîte de dialogue.
Les paramètres de session disponibles sont répertoriés dans le panneau Session. Vous pouvez utiliser le panneau Données pour ajouter le service GetGlobalSessionValues à une application composite et lier ses valeurs renvoyées à des fonctions, des services ou des widgets.
Exemple : Utilisation d'un paramètre de session pour stocker les entrées d'un widget Champ de texte
La valeur de la propriété de session est perdue après l'actualisation de la page lorsqu'une propriété de widget est liée directement à un paramètre de session. Pour conserver la valeur lors du rechargement de la page, vous devez utiliser les services Setter et Getter pour mettre à jour et récupérer la valeur du paramètre.
1. Définissez un paramètre de session en suivant la procédure de la section Ajout de paramètres de session.
2. Créez un objet d'assistance contenant un service qui définit la valeur du paramètre de session.
3. Ajoutez un paramètre d'entrée au service Setter nommé input_string, puis ajoutez le code JavaScript suivant :
Resources["CurrentSessionInfo"].SetGlobalSessionStringValue({name: "your_session_var", value: input_string});
4. Créez une application composite, puis ajoutez un widget Zone de texte, un widget Bouton et une fonction Validateur.
5. Utilisez le panneau Données pour ajouter les services suivants :
Service Setter que vous avez créé à l'étape 2.
Service GetGlobalSessionValues de la ressource CurrentSessionInfo.
6. Liez la propriété Text du widget Champ de texte au paramètre input_string du service Setter.
7. Liez la variable de session sous la propriété All Data du service GetGlobalSessionValues à la propriété Text du widget Champ de texte.
8. Liez l'événement Clicked du widget Bouton au service Setter.
9. Liez l'événement ServiceInvokeCompleted du service Setter au service Evaluate de la fonction Validateur. L'utilisation de cet événement garantit que la valeur du paramètre de session est toujours mise à jour avant l'exécution de la fonction.
10. Modifiez la fonction et ajoutez le code suivant à l'expression :
location.reload()
11. Enregistrez, puis affichez l'application composite.
Entrez une valeur dans la zone de texte, puis cliquez sur le bouton pour recharger la page. La valeur est conservée après le rechargement de la page.
Est-ce que cela a été utile ?