Question : Auto-mentionnement lorsqu'une URL de sujet partagé est publiée sur un autre Discourse

Je me demande s’il existe un moyen, peut-être en modifiant l’URL du sujet partagé, pour qu’un lien soit automatiquement mentionné par mon compte système lorsqu’il est évoqué sur ce forum méta ou ailleurs.

Actuellement, nous simulons ce comportement en créant un poste et en transférant la propriété au système. Voir cela en action ici.

Je ne suis pas sûr de bien comprendre. Pourriez-vous fournir un exemple concret et réel expliquant pourquoi cela serait souhaitable ?

Bien sûr,

  1. Je crée un nouveau post sur Forum A
  2. Je partage ce post via son URL vers Forum B, qui est une autre instance Discourse.
  3. D’une manière ou d’une autre, Forum A peut identifier que cela s’est produit et déclenche system pour répondre automatiquement dans le fil d’origine de Forum A, affichant :

D’accord, cela aide, mais pourquoi ? Quelle est l’importance de cela, pourquoi est-ce nécessaire ?

(Je suppose que nous faisons quelque chose de similaire pour l’intégration GitHub où nous liions les sujets Discourse aux commits, mais cela consiste à mélanger deux excellents et différents plaisirs, comme le chocolat et le beurre de cacahuète. Ici, vous mélangez du beurre de cacahuète… et… euh… plus de beurre de cacahuète ?)

Je trouve cela vraiment utile, surtout que nous utilisons des plateformes comme meta.discourse pour traiter des problèmes discutés sur notre propre instance Discourse, et la plupart des administrateurs ne pensent pas à renvoyer vers ces fils de discussion pour fournir un contexte aux utilisateurs et aux futurs mainteneurs. Je n’ai pris la responsabilité de la maintenance de notre forum que récemment, alors j’espère laisser plus d’informations pour les mainteneurs à l’avenir. :slight_smile:

La « fédération » des technologies de forum semble être un sujet brûlant en ce moment. Cela semble impossible, mais je voulais quand même vérifier.

C’est déraisonnablement compliqué. C’est l’équivalent social des « voitures entièrement autonomes qui sont juste au coin de la rue ».

Le cas d’usage GitHub ⇿ Discourse est défendable, mais le pair-à-pair l’est beaucoup moins à mon avis, selon la loi transitive des Reese’s Peanut Butter Cups.

N’est-ce pas aussi ainsi que fonctionnaient les pingbacks ?

Ils sont devenus la plaie de la blogosphère, avec des abus massifs, et le problème n’a jamais été vraiment résolu.

On pourrait éventuellement autoriser uniquement des sites de confiance, mais cela semble encore bien plus de tracas pour un gain minime. Que se passe-t-il lorsqu’un serveur passe à une version ou une norme plus récente ?

D’un autre côté, ne serait-ce pas relativement facile à réaliser en utilisant incoming_links, incoming_referers et incoming_domains ?

Et si l’on pouvait ajouter un incoming_domain à une liste blanche et obtenir des oneboxes pour les liens provenant de ces domaines vers ce sujet ?

Édition : l’extrait ci-dessous répertorie tous les liens sur les sites Discourse* qui pointent vers un sujet spécifique. Il devrait être assez simple d’intégrer cela dans une tâche planifiée qui insère un message dans le sujet chaque fois qu’un nouveau lien est détecté. La fonction oneboxing s’occupera du reste.

topic = Topic.find(xxx)
IncomingLink.where("post_id in (#{topic.posts.pluck(:id).join(',')})").where("incoming_referer_id is not null").each do |link|
  next unless link.incoming_referer.path.start_with?('/t/')
  puts "https://#{link.incoming_referer.incoming_domain.name}#{link.incoming_referer.path}"
end

*) J’utilise actuellement une vérification simple pour déterminer s’il s’agit d’un lien Discourse, mais cela pourrait même demander la page d’accueil du site et inspecter les métadonnées — bien que je pense que cela pourrait très bien fonctionner pour les liens provenant de sites non Discourse également. Peut-être ajouter les domaines à une liste blanche dans les paramètres du plugin.