Frage: Automatisches Erwähnen, wenn eine geteilte Themen-URL in einem anderen Discourse gepostet wird

Ich frage mich, ob es eine Möglichkeit gibt, vielleicht durch eine Änderung der URL des geteilten Themas, dass ein Link automatisch von meinem Systemkonto erwähnt wird, wenn er in diesem Meta-Forum oder anderswo erwähnt wird.

Derzeit simulieren wir dieses Verhalten, indem wir einen Beitrag erstellen und den Besitz auf das System übertragen. Siehe es hier in Aktion.

Ich verstehe nicht ganz. Könntest du ein konkretes, reales Beispiel nennen, warum das wünschenswert wäre?

Sicher,

  1. Ich erstelle einen neuen Beitrag im Forum A.
  2. Ich teile diesen Beitrag per URL in Forum B, einer weiteren Discourse-Instanz.
  3. Auf irgendeine Weise erkennt Forum A, dass dies geschehen ist, und löst aus, dass system automatisch im ursprünglichen Forum-A-Thread antwortet und Folgendes anzeigt:

Richtig, das hilft, aber warum? Was ist die Bedeutung davon, warum ist es notwendig?

(Ich vermute, wir machen etwas Ähnliches für die GitHub-Integration, bei der wir Discourse-Themen mit Commits verknüpfen. Das ist aber, als würde man zwei großartige und unterschiedliche Geschmacksrichtungen zusammenpressen, wie Schokolade und Erdnussbutter. Hier drücken Sie Erdnussbutter zusammen mit … äh … noch mehr Erdnussbutter?)

Ich finde das wirklich hilfreich, da wir Plattformen wie meta.discourse nutzen, um Probleme zu besprechen, die auf unserem eigenen Discourse-Forum diskutiert werden. Die meisten Administratoren denken jedoch nicht daran, diese Threads für Kontext an Benutzer und zukünftige Wartungsteams zurückzuverlinken. Ich habe die Wartung unseres Forums erst kürzlich übernommen, daher hoffe ich, zukünftig mehr Informationen für Wartungsteams zu hinterlassen. :slight_smile:

Die „Föderation

[quote=“sunjam, Beitrag: 5, Thema: 146841”]
Die „Föderation

Ist das nicht auch so, wie Pingbacks funktioniert haben?

Sie wurden zum Ärgernis der Blogosphäre, waren voller Missbrauch und wurden nie wirklich gelöst.

Man könnte vielleicht vertrauenswürdige Seiten auf eine Whitelist setzen, aber das klingt immer noch nach viel Ärger für wenig Nutzen. Was passiert, wenn ein Server auf eine neuere Version oder einen neuen Standard aktualisiert wird?

Andererseits wäre das doch relativ einfach mit incoming_links, incoming_referers und incoming_domains umzusetzen, oder?

Was wäre, wenn man einen incoming_domain in eine Whitelist aufnehmen könnte und wir für Links von diesen Domains zu diesem Thema Oneboxes erhalten würden?

Edit: Das untenstehende Snippet listet alle Links auf Discourse-Seiten* auf, die auf ein bestimmtes Thema verweisen. Es sollte ziemlich einfach sein, dies in einen geplanten Job zu integrieren, der einen Beitrag im Thema erstellt, sobald ein neuer Link gefunden wird. Die Oneboxing-Funktion übernimmt den Rest.

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

*) Ich verwende derzeit eine einfache Prüfung, um festzustellen, ob es sich um einen Discourse-Link handelt, aber man könnte auch die Startseite der Seite anfragen und die Metadaten inspizieren – obwohl ich denke, dass dies auch für Links von Nicht-Discourse-Seiten sehr gut funktionieren könnte. Vielleicht könnte man die Domains in den Plugin-Einstellungen whitelisten.