Comment structurer Discourse pour un cours en ligne ?

Bonjour Hunter,

Nous sommes actuellement en version bêta, mais l’intégration avec Discourse se déroule bien. Nous utilisons l’intégration SSO pour imposer la connexion sur notre site. Cela fonctionne correctement, bien que j’aie remarqué les points suivants :

  1. Discourse n’accepte pas les noms d’utilisateur contenant le signe « @ »… il tronque le nom d’utilisateur pour ne garder que la partie avant le « @ ». Cela peut poser problème si vous appelez ultérieurement les API de Discourse en utilisant ce nom d’utilisateur comme argument. Discourse ne reconnaîtra pas un nom d’utilisateur tel que someone@example.com, car dans Discourse, le nom d’utilisateur de cet utilisateur est stocké sous la forme « someone ». Une solution simple consiste à interdire les signes « @ » dans vos propres noms d’utilisateur !

  2. Lorsqu’une personne s’inscrit sur votre propre site, vous devez appeler explicitement l’API de Discourse pour synchroniser l’utilisateur SSO, car vous pourriez souhaiter effectuer certaines actions avec cet utilisateur (par exemple, l’ajouter à un groupe Discourse) avant qu’il ne visite le site Discourse pour la première fois (ce qui synchroniserait automatiquement le SSO). Mon site est basé sur Django, j’utilise donc la bibliothèque pydiscourse, qui propose une méthode sync_sso rendant cela assez simple (pydiscourse · PyPI).

Oui, nous allons expirer certains de nos cours. Dans ce cas, le serveur appellera l’API de Discourse pour retirer l’utilisateur du groupe général de ce cours, ainsi que du groupe dédié à sa cohorte au sein de ce cours.

J’ai créé des tables dans mon site Django qui suivent ces groupes de « cours » et les différents groupes de « cohorte » au sein de chaque cours. J’utilise donc ces informations lors de l’ajout ou de la suppression d’étudiants, etc. :