Configuration d'un acteur ActivityPub

Ce sujet couvre la configuration d’un Acteur ActivityPub dans Discourse avec le plugin Discourse ActivityPub. Si vous n’êtes pas sûr de ce que cela signifie, consultez d’abord le sujet Discourse ActivityPub Plugin.

Prochaine étape

Instructions

Pour créer un acteur ActivityPub :

  1. Accédez à Admin > Plugins > ActivityPub.
  2. Cliquez sur « Ajouter un acteur ».
  3. Remplissez le formulaire Ajouter un acteur (les paramètres sont expliqués ci-dessous).
  4. Cliquez sur « Enregistrer l’acteur ».

Lorsque vous enregistrez l’acteur, d’autres acteurs du fediverse peuvent commencer à le suivre. Vous pouvez désactiver un acteur en activant ou désactivant le bouton « Activé » à droite de la vue Modifier l’acteur.

Paramètres de l’acteur

Nom d’utilisateur

C’est la première partie du pseudonyme ActivityPub de l’acteur, par exemple announcements est le nom d’utilisateur de announcements@meta.discourse.org. Ce sera la base du nom d’utilisateur de l’utilisateur de l’acteur sur les instances Discourse distantes (si le nom d’utilisateur est déjà pris sur cette instance, un entier sera ajouté pour l’unicité).

:point_right: Cette propriété se traduit par preferredUsername dans la spécification ActivityPub.
:point_right: Actuellement, cela ne peut pas être modifié une fois défini. Cela changera si et quand cette PR pour Mastodon sera fusionnée.

Nom

C’est le nom d’affichage de l’acteur. Son utilisation dépendra de la manière dont les autres services l’implémentent. Dans Discourse, cela deviendra le « Nom » de l’utilisateur de l’acteur.

Visibilité

Cela détermine si les activités publiées par l’acteur ont une « Adressage public ». Vous devriez laisser cela sur public, sauf si vous savez ce que vous faites.

:point_right: C’est essentiellement la même chose que la différence entre les publications « publiques » et « privées » (réservées aux abonnés) sur Mastodon.

Type d’objet de publication

Cela détermine si l’acteur publiera des publications sous forme de Note ou d’Article. Vous devriez laisser cela sur Note, sauf si vous savez ce que vous faites.

:point_right: Mastodon ne publiera un lien vers la publication originale que s’il reçoit un Article.

Type de publication

Sujet complet

Toutes les publications d’un sujet associé à l’acteur seront publiées et toutes les réponses du Fediverse seront transformées en publications.

Première publication

Seule la première publication d’un sujet associé à l’acteur sera publiée et aucune réponse du Fediverse ne sera transformée en publication.

3 « J'aime »

J’ai juste ajouté le plugin à une installation discourse 3.3.2. Je peux voir le plugin dans la liste des plugins, les préférences du plugin, etc.

Cependant, en essayant d’ajouter des acteurs, je ne peux ajouter des acteurs que pour les Tags (ce dont je n’ai pas besoin), mais pas pour les catégories. Il semble s’agir d’un problème d’interface utilisateur / côté navigateur (je ne suis pas développeur web).

J’ai essayé avec Firefox et Chromium sur Debian, et les deux affichent le même comportement

  • l’ajout d’acteurs pour les Tags fonctionne comme prévu
  • l’ajout d’acteurs pour les Catégories est impossible car aucune boîte de sélection pour les catégories n’est jamais rendue à droite du choix Sélectionner un modèle / Catégorie.

J’obtiens une

runtime.js:912 Uncaught TypeError: Cannot read properties of null (reading 'firstNode')
    at ue.firstNode (runtime.js:912:1)
    at T (runtime.js:241:1)
    at ue.reset (runtime.js:983:1)
    at ae.resume (runtime.js:686:1)
    at Ut.handleException (runtime.js:4309:1)
    at Vt.handleException (runtime.js:4521:1)
    at Dt.throw (runtime.js:4260:1)
    at $e.evaluate (runtime.js:2088:1)
    at Dt._execute (runtime.js:4247:1)
    at Dt.execute (runtime.js:4232:1)
    at qt.rerender (runtime.js:4547:1)
    at hr.render (index.js:4674:1)
    at index.js:4934:1
    at Nt (runtime.js:4080:1)
    at gr._renderRoots (index.js:4916:1)
    at gr._renderRootsTransaction (index.js:4960:1)
    at gr._revalidate (index.js:4992:1)
    at invoke (backburner.js.js:280:1)
    at h.flush (backburner.js.js:197:1)
    at p.flush (backburner.js.js:358:1)
    at B._end (backburner.js.js:798:1)
    at B.end (backburner.js.js:589:1)
    at B._run (backburner.js.js:842:1)
    at B._join (backburner.js.js:819:1)
    at B.join (backburner.js.js:629:1)
    at l (index.js:81:1)
    at u.onHover (index.js:118:1)
    at e.handleMouseEnter (select-kit-row.js:83:22)

erreur dans la console du développeur lors de la sélection de “Catégorie” dans le bouton “Sélectionner un modèle”.

En général, le support n’est fourni sur Meta que pour les dernières versions stables ou les versions ayant passé les tests - y a-t-il une raison pour votre retard ? Il vaut la peine de mettre à jour vers la dernière version et de réessayer.

C’était une faute de frappe, désolé. Je suis sur la version 3.3.2.

1 « J'aime »

Salut @LaF0rge, ce plugin ne prend actuellement en charge que la dernière version de Discourse. Voir plus loin :

1 « J'aime »

Salut @angus - merci pour ta réponse. Malheureusement, je ne suis pas disposé à mettre à niveau notre installation de production vers une version bêta ou le master git actuel. Je suppose que j’attendrai qu’une nouvelle version stable de Discourse soit étiquetée/publiée.

Au fait : existe-t-il des informations structurées indiquant la version minimale requise d’un plugin ? Je ne l’ai pas vu ici dans le message initial du fil de discussion, ni sur GitHub - discourse/discourse-activity-pub: Adds ActivityPub support to Discourse.

Dans d’autres projets/produits logiciels, les plugins indiquent généralement la compatibilité des versions.

Étant donné que le plugin existe depuis plus d’un an, je suppose qu’une autre option serait de revenir à une version antérieure du plugin, datant de l’époque où la version 3.3.2 était courante ? Cependant, dans le journal des commits, je n’ai pas immédiatement vu de références aux versions de Discourse.

Sauf si vous avez une raison spécifique de ne pas le faire, il est recommandé d’utiliser la branche tests-passed de Discourse. Voir plus loin :

De plus, vous pouvez supposer que les plugins ou personnalisations avec le tag experimental (comme le fait le plugin ActivityPub) ne fonctionnent de manière fiable qu’avec la dernière version de Discourse.

Plus spécifiquement à vos questions implicites sur la gestion des versions, dans les plugins Discourse, cela est géré via le fichier .discourse-compatibility, dont vous pouvez lire plus ici :

Voir le fichier de compatibilité du plugin ActivityPub ici :

Comme le plugin ActivityPub est toujours experimental, assurer la rétrocompatibilité n’a pas été une priorité, néanmoins j’examinerai l’ajout d’un support explicite pour la version 3.3.2 à ce fichier au début de la semaine prochaine.

Mais comme mentionné ci-dessus, à moins que vous n’ayez une bonne raison de ne pas le faire, je suggère d’utiliser tests-passed.

3 « J'aime »

@LaF0rge Je viens de regarder ça.

Le plugin n’a pas besoin d’ajouter un support explicite pour 3.3.2 car il l’a déjà dans le fichier de compatibilité.

< 3.4.0.beta1-dev: 3a6512d0560211b93f022a27ed7276024d0020dc

Si vous utilisez une installation standard de Discourse sur 3.3.2, vous serez automatiquement sur le commit 3a6512d0560211b93f022a27ed7276024d0020dc du plugin pour lequel le menu déroulant des catégories fonctionne. Voir plus loin :

Merci pour votre contribution supplémentaire. J’ai refait une tentative plus tôt aujourd’hui en utilisant le commit du plugin 3a6512d0560211b93f022a27ed7276024d0020dc avec mon discourse maintenant mis à niveau vers la version 3.3.3, mais je me suis retrouvé dans un état où toutes les requêtes HTTP étaient répondues avec Completed 500 Internal Server Error in 42ms (ActiveRecord: 0.0ms | Allocations: 16860) quelle que soit l’URL. Il n’y avait rien dans le fichier production.log, rien d’erroné enregistré dans la sortie/erreur standard et rien non plus dans le fichier passenger.3000.log. La suppression du plugin du répertoire des plugins + le redémarrage ont résolu le problème. C’était reproductible plusieurs fois.

Pour l’instant, j’abandonne. C’était une bonne idée de jouer avec l’intégration ActivityPub, mais je suppose qu’elle n’est pas au niveau où je peux en faire quelque chose d’utile, contrairement à d’autres plugins que j’ai réussi à installer avec succès. Après tout, ce n’est pas une exigence critique, juste un « agréable à avoir ».

Si vous essayez manuellement de faire correspondre des commits spécifiques de n’importe quel plugin avec des versions spécifiques de Discourse, cela ne se passera probablement pas bien. Je vous exhorte à envisager d’utiliser l’installation standard de Discourse. Vous réduirez votre surcharge et pourrez utiliser ce plugin et d’autres sans problème.

Je vous entends - mais je ne dévierai pas de l’installation et de l’exploitation de versions taguées/publiées de logiciels. Pour Discourse, il s’agit, à ma connaissance, à l’heure actuelle, de la version 3.3.3.

Je trouve très inconfortable et troublant d’exécuter des systèmes de production sur autre chose que des versions taguées. Appelez-moi démodé, mais j’exploite (et développe) des systèmes informatiques avec succès depuis le milieu des années 1990.

Je respecte le fait que vous et/ou la communauté officielle des développeurs de Discourse ayez une attitude/approche différente. Nous sommes d’accord pour ne pas être d’accord. Merci néanmoins pour votre aide jusqu’à présent !

1 « J'aime »