Cette rubrique s'applique uniquement à l'expérience d'origine.

Cache

La récupération des notifications pour les modules d'affichage peut s'avérer onéreuse dans un système comprenant plusieurs centaines de milliers de notifications, notamment au niveau du tableau de bord des notifications qui permet d'ignorer certaines parties de tous les cours disponibles. Pour permettre de limiter plus facilement le recours à cette requête, le système de notification comprend un cache par utilisateur, par session :

  • Le cache enregistre les résultats d'une requête de notification pour un utilisateur, une session et un contexte spécifiques. Cela signifie que le système conserve des caches distincts pour chaque utilisateur et pour chaque cours auquel l'utilisateur se connecte au niveau du tableau de bord des notifications global.
  • L'utilisateur peut actualiser manuellement le cache. Cette action efface le cache de tous les contextes d'une session donnée.
  • Le cache ne sera pas mis à jour par l'arrivée de nouvelles notifications. L'utilisateur devra le réactualiser manuellement pour afficher les nouvelles notifications ou attendre la temporisation du cache. Consultez le tableau ci-après pour obtenir les valeurs de temporisation par défaut.
  • Le cache est réceptif aux suppressions manuelles de notifications. Par conséquent, si l'utilisateur supprime une notification depuis une vue particulière, cette dernière est également supprimée du cache dans tous les contextes.

Le cache est configuré au moyen des propriétés du fichier de configuration bb-config.properties.

Propriétés du cache
Propriété Clé Valeur par défaut
Nombre max. d'éléments bbconfig.cache.nautilusCache.elements 500 secondes
Durée de vie bbconfig.cache.nautilusCache.timetolive 600 secondes
Durée d'inactivité bbconfig.cache.nautilusCache.timetoidle 600 secondes
Permanent bbconfig.cache.nautilusCache.eternal Non

Si les performances associées aux modules d'affichage posent problème, les administrateurs peuvent mettre à jour ces paramètres pour augmenter la longévité des notifications conservées dans le cache. Le principe ici est simple : plus le cache est important, plus il est probable que les notifications affichées soient obsolètes.

Les paramètres du cache n'ont aucune incidence sur la distribution des notifications.


Taille des notifications

Le stockage des notifications peut devenir très important. Cette section inclut des stratégies pour éviter cela.

Désactiver les notifications inutiles

Par défaut, le système est livré avec toutes les notifications activées, c'est-à-dire que toutes les notifications pouvant être créées seront créées, pour tous les événements pris en charge. Suivant la taille de votre institution et la façon dont les cours sont mis en place au début du semestre, il peut en résulter des tables très volumineuses et, par conséquent, une dégradation des performances.

Ce peut être une bonne idée de désactiver les notifications inutiles. Pour ce faire, sélectionnez Paramètres du cours => Paramètres de notification par défaut et Paramètres de la communauté => Paramètres de notification par défaut, puis définissez ces notifications sur Toujours désactivé pour tous les distributeurs disponibles.

La désactivation de certaines notifications durant les périodes d'activité représente une alternative. Par exemple, désactivez les notifications Élément de contenu disponible lorsque les modèles de cours sont en cours de création, car il est plus que probable que ces derniers soient à l'origine de la plupart des notifications pendant cette période.

Réduction de la durée de conservation des notifications

Les notifications sont supprimées périodiquement après un certain nombre de jours prédéfini. Le paramètre par défaut est de 120 jours, ce qui correspond approximativement à la durée d'un semestre. Vous pouvez contrôler la suppression de ces notifications en mettant à jour l'intervalle de nettoyage des notifications. Pour supprimer des notifications plus fréquemment du système, il suffit de réduire la valeur de ce paramètre. Pour en savoir plus, reportez-vous à Définition des options de notification.

Ce paramètre doit être utilisé avec une extrême prudence. Il est impossible de récupérer ou de ré-émettre facilement les notifications supprimées.


Tâches d'arrière-plan des notifications

Le système de notification dépend de deux tâches, qui sont définies dans le fichier de configuration bb-tasks.xml.

Tâches d'arrière-plan des notifications
Nom de la tâche Interne (minutes) Objectif
NotificationRemoveStaleDataTask 5 Cette tâche possède diverses fonctions :
  • Envoyer des rappels concernant les événements à échéance. Les rappels sont envoyés x jours avant l'échéance de l'élément, x correspondant au nombre de jours que les utilisateurs peuvent configurer.
  • Basculer les notifications parvenues à échéance dont le temps est écoulé en notifications parvenues à expiration.
  • Envoyer des e-mails de synthèse aux heures prévues. Les e-mails de synthèse sont transmis une fois par jour à l'heure définie par un administrateur.
  • Supprimer les données relatives aux destinataires obsolètes. Dans le contexte, "obsolète" désigne les enregistrements des destinataires conservés dans le système depuis x jours, x correspondant à la valeur définie par les administrateurs. Par défaut, le système est configuré pour conserver les destinataires pendant tout un semestre. Cette opération est configurée de manière à n'être exécutée qu'une fois par jour.
DistributionSendNotificationTask 60 Envoyer des notifications non traitées à tous les distributeurs enregistrés.

NotificationRemoveStaleDataTask

L'âge des notifications lorsque le nettoyage prend place peut être défini par les administrateurs sur la page Paramètres de notification généraux.

Toutes les notifications parvenues à échéance sont transformées en événements parvenus à expiration une fois la date d'échéance passée. En voici la liste : Devoir parvenu à échéance, Test parvenu à échéance, Élément évaluable parvenu à échéance et Examen non noté parvenu à échéance.

La dernière fonction de cette tâche, la suppression des données relatives aux destinataires obsolètes, est exécutée une fois par jour. Chaque fois que la tâche est activée, elle vérifie si son heure d'exécution est arrivée. Le cas échéant, la tâche est exécutée. Le temps d'exécution est spécifié par la propriété nautilus.staleDataRemove.executionTime dans le fichier de configuration nautilus_config.properties.

Périodicité de la tâche

Modifier la périodicité de cette tâche aura pour effet de :

  1. Modifier la rapidité avec laquelle les notifications parvenues à échéance sont transformées en notifications parvenues à expiration. Dans la configuration par défaut, les notifications sont transformées dans un délai de cinq minutes une fois la date d'échéance passée.
  2. Modifier la rapidité avec laquelle les rappels sont envoyés. Dans la configuration par défaut, ils sont transmis dans un délai maximum de cinq minutes une fois l'heure de rappel passée.
  3. Modifier la rapidité avec laquelle la tâche de suppression des données obsolètes est exécutée. Dans la configuration par défaut, elle est exécutée à l'heure indiquée plus ou moins cinq minutes.

Prise en compte des performances

La phase de nettoyage des notifications de cette tâche est exécutée de nuit, à l'heure indiquée par la propriété nautilus.staleDataRemove.executionTime du fichier de configuration nautilus_config.properties. Par défaut, cette tâche est exécutée une fois par jour à 1 heure du matin.

Cette requête est très performante car elle analyse essentiellement tout le tableau eud_item_recipient à la recherche de notifications dépassées pour les supprimer.

Si vous considérez que l'exécution de cette tâche ralentit votre système malgré toutes ces précautions, vous pouvez essayer les deux suggestions suivantes :

  1. Modifier l'heure d'exécution. D'autres tâches de maintenance sont généralement exécutées la nuit dans la plupart des établissements. Si cette tâche entre en conflit avec les autres tâches de maintenance ou contribue avec elles à nuire au fonctionnement de votre serveur de base de données, vous pouvez définir une autre heure d'exécution. En clair : Blackboard recommande fortement de ne pas exécuter cette tâche en journée ou à tout autre moment où le système est utilisé de manière intensive.
  2. Mettre en place des mesures visant à réduire la taille du stockage des notifications. Moins vous avez de notifications, plus la requête est exécutée rapidement. Pour plus d'informations sur la procédure à suivre, voir Taille des notifications.

DistributionSendNotificationTask

Pour limiter la durée d'exécution de cette tâche, elle concerne uniquement un nombre limité de notifications par exécution donnée. Les administrateurs peuvent configurer ce paramètre dans la propriété nautilus.distribution.notificationsPerDistribution du fichier de configuration nautilus_config.properties. Le paramètre par défaut est de 10 000.

Les tâches de distribution envoient des notifications à tous les distributeurs enregistrés. Pour la plupart des établissements, cela signifie que les notifications ne sont transmises qu'au distributeur de l'e-mail. Une perte de performances est attendue chaque fois qu'un nouveau distributeur est ajouté.

Périodicité de la tâche

Modifier la périodicité de cette tâche aura pour effet de modifier la fréquence d'envoi des notifications par le système. Dans la configuration par défaut, une notification est distribuée au plus tard une heure après son introduction dans le système. Les administrateurs système peuvent définir la période durant laquelle les notifications sont distribuées dans le système Learn en modifiant le fichier tasks.xml figurant dans le dossier BB_HOME/config/. La valeur de période se trouve dans blackboard.platform.nautilus.service.internal.DistributionSendNotificationTask.

Le nombre de notifications distribuées par invocation affecte également le moment où une notification sera envoyée. Les administrateurs peuvent configurer ce paramètre dans la propriété nautilus.distribution.notificationsPerDistribution du fichier de configuration nautilus_config.properties.

Prise en compte des performances

Cette tâche est exécutée assez fréquemment, mais elle crée un plafond sur le nombre de notifications traitées lors d'une même exécution. Cette approche double de la distribution permet au système d'envoyer les notifications peu après qu'elles soient disponibles sans ralentir le système lorsque les notifications sont particulièrement nombreuses, par exemple, au début du semestre lorsque de nouveaux cours viennent juste d'être mis en ligne.

Si le processus de distribution nuit aux performances, réduisez la périodicité en substituant efficacement les performances par la rapidité. Si la distribution est trop lente, réduisez simplement le nombre de notifications gérées par exécution.

D'un autre côté, si vous considérez que les notifications n'arrivent pas assez vite, réduisez la périodicité de cette tâche et le nombre de notifications traitées par exécution.

Certains destinataires sont supprimés par leur nom uniquement. En effet, les enregistrements connexes sont conservés et portent simplement la mention SUPPRIMÉ.