Visualisation du réseau communautaire

Résumé : Une visualisation de réseau d’utilisateurs

:link: GitHub : https://github.com/merefield/discourse-user-network-vis GitHub - merefield/discourse-user-network-vis: A plugin that creates a User Network Visualisation to show social links between users · GitHub

:arrow_right: Installation : Suivez le guide d’installation du plugin.

Fonctionnalités

Présente votre communauté sous forme de visualisation de réseau (ordinateur de bureau/tablette uniquement).

Accessible via un élément de menu ajouté automatiquement (peut être désactivé) :

Accédez-y en cliquant sur Réseau d'utilisateurs dans le menu latéral/déroulant ou en naviguant vers votre-site.com/usernetworkvis - NB : vous devez être connecté en tant qu’utilisateur enregistré pour voir la visualisation.

  • les nœuds représentent les utilisateurs.

  • les liens représentent les interactions sur votre forum - plus il y a d’interactions, plus la ligne est épaisse

    • une interaction est la combinaison des « J’aime » et des réponses (ce sont exactement les mêmes données disponibles sur la page de profil de résumé d’un utilisateur, accessibles à tous les utilisateurs)
  • Survolez un utilisateur pour l’isoler visuellement ainsi que ses connexions

  • Cliquez sur un nœud pour accéder à son profil de résumé.

  • Faites glisser les nœuds et regardez le spectacle :game_die:

  • Zoom sur l’ensemble de la vue avec la molette de la souris.

:warning: Les niveaux de confiance sont actuellement affichés sous forme de couleurs différentes. Si vous ne souhaitez pas cela, définissez la même couleur plusieurs fois. Je pourrais trouver un autre critère pour définir la couleur, mais c’était de loin le plus évident car très générique :warning:

Pour actualiser les données, déclenchez le travail. Cela peut être nécessaire après un changement de paramètres (j’ai marqué ceux qui le nécessitent) :

Allez à : https://votre.site/sidekiq/scheduler et trouvez celui-ci :

Sinon, cela s’exécute toutes les heures.

:warning: Si vous avez des dizaines de milliers d’utilisateurs, ce travail peut prendre LONGTEMPS et consommer des ressources. Cela semble fonctionner correctement sur un site avec 5 000 comptes, hébergé sur un VPS 2 cœurs 2 Go, en environ 30 secondes. Le SQL est nécessairement BRUTAL :warning:

Intéressé par les données ?

Mon intention avec cela était simplement de peindre un tableau.

Si vous souhaitez voir les données, accédez simplement à votre-site.com/usernetworkvis.json

Dans tous les cas, dans des cas individuels, vous pouvez voir une grande partie de ces données sur la page de résumé de chaque utilisateur en cliquant sur un nœud (le plus répondu, le plus aimé/aimé par). Je considère donc cela comme des informations semi-publiques.

Configuration

Paramètres… donc… beaucoup… de paramètres :

Si vous avez un grand site avec beaucoup de monde, vous trouverez le diagramme très bruyant. Envisagez d’augmenter le niveau de confiance minimum et il existe désormais une option pour supprimer les personnes non vues depuis x années :

À faire

  • L’élément de menu prend en charge la localisation, mais si personne n’a encore soumis de PR pour votre localisation, veuillez envisager de le faire, sinon il restera un code clé…

Crédits

La visualisation est basée sur la formidable bibliothèque d3

Projets similaires

Si cela vous plaît, vous aimerez peut-être aussi :

45 « J'aime »

Très cool ! Ce n’est pas exactement la même chose, mais cela me rappelle une étude que j’ai lue il y a quelques années :

8 « J'aime »

Oh, bonne trouvaille ! Je me demande si cela générera de l’engagement ? … On peut probablement en dire autant de Discourse Who's Online? :+1:

Vous savez, cela me donne une autre idée : vous pourriez mettre des « halos » autour des nœuds qui sont en ligne, peut-être en exploitant ce plugin s’il est disponible…

3 « J'aime »

Merci pour cela. Je viens de l’installer pour une communauté éducative où j’essaie encore de faire monter le niveau de participation. Nous avons de nombreuses inscriptions pour des activités liées à des événements, mais c’est trop calme entre-temps.

J’ai défini le niveau de confiance minimum à “2” pour mettre en avant les utilisateurs les plus actifs sans trop de bruit.

3 « J'aime »

Il pourrait être utile de disposer d’une option ou d’une vue présentant les données sous forme de tableau.

1 « J'aime »

Mon intention avec cela était simplement de peindre une image.

Si vous voulez voir les données, allez simplement sur yoursite.com//usernetworkvis.json.

En tout cas, dans des cas individuels, vous pouvez voir une grande partie de ces données sur la page de résumé de chaque utilisateur en cliquant sur un nœud (le plus répondu, le plus aimé/aimé par).

3 « J'aime »

Et le rendu est magnifique. Les utilisateurs d’un plugin veulent toujours plus, on peut rêver. Merci pour le lien vers le JSON.

2 « J'aime »

Vous devriez également pouvoir adapter le SQL de la requête assez facilement et l’exécuter dans l’Explorateur de données :

1 « J'aime »

Mes utilisateurs adorent. J’espère que cela les incitera un peu plus ;)\n\nMais il y a un petit oubli : je ne peux pas traduire le texte « User Network » dans le menu hamburger.

2 « J'aime »

Je vais absolument l’installer lors de ma prochaine session de maintenance.

Merci @merefield :slight_smile:

2 « J'aime »

C’est de ma faute ! J’ajouterai bientôt le support de la localisation.

1 « J'aime »

Pas de problème, prenez votre temps. Ce n’est pas un problème majeur.

Mais maintenant, nous sommes dans une situation de panique. Les liens hamburger ne s’affichent pas du tout sur mobile.

1 « J'aime »

Ce plugin est super cool, merci beaucoup @merefield

3 « J'aime »

C’est fait :

ajouter la localisation pour l’entrée du menu · merefield/discourse-user-network-vis@c201b56 (github.com)

2 « J'aime »

Devrait maintenant être compatible avec un Discourse “Ember CLI’d” : COMPATIBILITY: fix settings ref for ember cli · merefield/discourse-user-network-vis@c87f1be (github.com)

3 « J'aime »

Salut Robert. Pourquoi as-tu fait ça

  var _this = this;

Est-ce parce que quelque part tu appelles quelque chose à l’intérieur de cette portée et alors this est pour la chose à l’intérieur et tu as besoin de sortir pour atteindre le this du parent ?

1 « J'aime »

C’est parce que la référence d’objet this change pendant l’appel asynchrone, donc elle ne pointe plus vers la même chose.

1 « J'aime »

J’aime beaucoup la visualisation ! Et j’aimerais la rendre accessible à toute une communauté, pas seulement aux administrateurs. Peut-être liée optionnellement comme la carte utilisateur dans l’annuaire des utilisateurs ?

De plus, j’aimerais avoir la possibilité de passer aux noms, par opposition aux noms d’utilisateur, pour être affichés.

Merci beaucoup pour le travail !

Il est déjà ouvert à la communauté. L’administrateur n’est pas requis. Le lien actuel devrait apparaître pour tous les utilisateurs.

Bonne idée ! PR avec option acceptée.

2 « J'aime »

Lien oui, mais la carte elle-même est juste vide lorsqu’elle est utilisée sur mobile.

Si c’est une fonctionnalité, le lien hamburger devrait-il être masqué lorsqu’un utilisateur utilise un écran plus petit ?