Ich habe soeben eine neue Funktion zusammengeführt, die automatisch einen neuen verknüpften Beitrag erstellt, wenn ein Beitrag basierend auf der Site-Einstellung „auto close topics post count
Das ist großartig!
Könnte das eine Lösung für das „Babble-10.000-Nachrichten-Problem
Ich habe einen kleinen Vorschlag bezüglich dieser Codezeilen (und was ich sonst noch übersehen habe):
previous_topics += "- [#{topic.title}](#{topic.url})\n"
parent_topic.add_moderator_post(system_user, I18n.t('create_linked_topic.moderator_post_raw', new_title: "[#{new_topic_title}](#{new_topic.url})"))
Ich empfehle, [title](url) durch nur url zu ersetzen und sich auf die vorhandene Discourse-Funktionalität zu verlassen, die den Titel des Themas aus der URL anzeigt. Wenn ich mich nicht irre, hätte dies den Vorteil, dass der angezeigte Thementitel automatisch aktualisiert wird, falls das Thema umbenannt wird, was ich als eine schöne Ergänzung erachte.
Ja, das ist eine gute Idee, @techAPJ. Wir sollten das wahrscheinlich so machen.
Können wir außerdem sicherstellen, dass es nur eine einzige Nachricht gibt, anstatt zwei? Warum nicht den Teil “Diskussion fortsetzen” direkt in die Schließnachricht einfügen? Etwa so:
Dieses Thema wurde automatisch geschlossen, nachdem die maximale Anzahl von 10.000 Antworten erreicht wurde. Setze diese Diskussion unter {link} fort.
Erledigt durch:
Klar, erledigt durch:
Dies wird nicht so gut funktionieren, wenn Sie die Diskussion aus einem zugangsbeschränkten Thema in eine andere Kategorie fortsetzen, die nicht exakt dieselben Zugangsbeschränkungen aufweist.
Ist das ein wahrscheinlicher Anwendungsfall? Es scheint, dass das fortgesetzte Thema in der Regel in derselben Kategorie bleibt wie das ursprüngliche Thema. Wenn dieser Fall doch eintritt, sagen Sie, dass es nicht so gut funktionieren wird – wie würde sich das konkret auswirken?
Selbst ohne das Verknüpfungsproblem würde ich erwarten, dass das fortgeführte Thema exakt dieselben Zugangsbeschränkungen erbt. Wenn dies nicht der Fall wäre, würde ich es als Fehler betrachten.
Guter Punkt – dann ist es wahrscheinlich in Ordnung!
Hallo, sehr schöne Funktion, aber zwei Probleme:
- Wie können wir den Text „Teil
Ja, das sind gute Punkte, aber beim letzten Mal, als ich nachgeschaut habe, wurde die Kategorie ordnungsgemäß vererbt. Stimmt das, @techAPJ?
Du musst die Übersetzung für diese Schlüssel aktualisieren. Siehe: Contributing translations to Discourse
Das ist ein gültiger Fehler. Ich werde dies heute mit hoher Priorität beheben.
Ich glaube, das war möglicherweise ein manuelles Update. Ich sehe keinen Code, der einem verknüpften Thema eine Kategorie zuweist.
Behoben durch:
Ich bin ebenfalls sehr an dieser Frage interessiert.
@elijah wolltest du deine Unterhaltung hier fortführen? Meiner Meinung nach ist dies der passendere Ort dafür.
@elijah offensichtlich möchtest du, dass der Benachrichtigungsstatus des Themas (beobachtet, verfolgt, stummgeschaltet usw.) für jeden einzelnen Nutzer im alten Thema ins neue Thema übernommen wird, richtig?
Ich verstehe die Begründung, aber ich befürchte, das könnte für einige Nutzer etwas aufdringlich sein … lange Themen können Hunderte oder sogar Tausende von Personen betreffen. Hat sonst noch jemand Gedanken dazu, Vor- und Nachteile?
Ja, ich wiederhole hier meine Vorschläge für den Kontext.
Bei Megathemen schlug ich zwei Möglichkeiten vor, um das Aufteilen für weniger regelmäßige Nutzer nahtloser zu gestalten.
Methode Watchlist-Kopie: Beim Aufteilen eines Themas den Status „stummgeschaltet / verfolgt / beobachtet“ für das neue Thema übernehmen. (Und falls das letzte Thema nur kopierte, aber nicht ursprünglich gesetzte Einstellungen hatte: den Verfolgungsstatus für das nun geschlossene Thema zurücksetzen.) Begründung: Wenn der Nutzer das Thema eine Weile nicht gelesen hat, aber grundsätzlich daran interessiert ist, helfen wir ihm beim Nachholen, indem wir die ungelesenen Beiträge im alten Thema nicht hervorheben, sondern nur die im neuen.
Methode Top-Split: Beim Aufteilen eines Themas ermöglichen, dass Beiträge 2 bis N (nach Beitrag 1) in ein neues Thema verschoben werden (das bei der Erstellung geschlossen wird), und diese verschobenen Beiträge durch eine verlinkte Themenmeldung ersetzen. Begründung: Das Ändern der Beobachtungseinstellungen ist unübersichtlich. Dies ermöglicht die Archivierung alter Inhalte, ohne externe Links (Lesezeichen, RSS, in einer App eingebettet usw.) oder interne Beobachtungseinstellungen zu unterbrechen.
Ich bevorzuge die Top-Split-Methode, aber beide Ansätze scheinen geeignet, um Nutzern zu helfen, die an sehr langen (oder langfristig laufenden, aber aufgeteilten) Themen interessiert sind.
Ich benutze WP und Discourse für Audio-Bildung und Gruppenreflexion und habe darüber nachgedacht, wie hilfreich es wäre, wenn beim Erstellen eines neuen Themas in Discourse durch das WP-Plugin ein Ereignis ausgelöst würde, um ein verknüpftes Thema als Reflexionsthema für dieses Hauptthema zu erstellen. Auf diese Weise könnte ich das ursprüngliche Thema als schreibgeschützt beibehalten, damit die Leute die Reflexionen nicht sehen, bevor sie das Audio hören, und das verknüpfte Thema wäre der Ort, an dem sie zur Reflexion hingehen.
Ähnlich wie hier:
Gehe ich richtig in der Annahme, dass es nur eine leichte Anpassung dieses Codes hier erfordert, um dies in einem neuen Plugin zu realisieren?
if SiteSetting.auto_close_topics_create_linked_topic?
# Stelle einen Job zum Erstellen eines verknüpften Themas in die Warteschlange
Jobs.enqueue_in(5.seconds, :create_linked_topic, post_id: @post.id)
end
Außerdem frage ich mich, ob es genügend Anwendungsfälle für die automatische Erstellung eines verknüpften Themas gibt, so dass es sinnvoll wäre, es als Teil von Discourse Automation aufzunehmen?