Dies trat bei allen Themen auf, nicht nur bei Q&A-Themen. Wir haben eine Kategorie „Fragen“, in der alle Themen Q&A-Themen sind, und verwenden zudem das Tag „question“, um ein Thema als Q&A-Thema zu kennzeichnen.
Das Verhalten ist jedoch jetzt etwas anders: Vor der Sortierung wurden sie am Ende der Liste fixiert; jetzt sind sie immer noch nicht in der richtigen Reihenfolge, aber neuere Beiträge erscheinen unter ihnen.
Einer unserer Kunden hatte dieses Problem, sodass ich mir einen Datensatz, in dem es auftrat, genauer ansehen konnte. Ich vermute, ein Problem könnte darin bestehen, wie Themen behandelt werden, bei denen ein QA-Tag entfernt wurde.
Ich habe einen PR erstellt, der dieses Problem behebt, an dem @mbcahyono und ich arbeiten werden.
So können Sie das Problem für ein bestimmtes Thema beheben:
./launcher enter app
rails c
topic = Topic.find(<topic_id>)
topic.posts.each { |p| p.update_columns(sort_order: p.post_number) }
Falls jemand weitere Unterstützung bei der Behebung dieses Problems auf seinem Server benötigt, wenden Sie sich bitte privat an mich. Ich helfe Ihnen gerne dabei (kostenlos).
Entschuldigung, dass ich nicht früher geantwortet habe. Diese Woche war ich unterwegs. Ich kann bestätigen, dass dein oben genannter Code die einzelnen Beiträge mit Problemen behebt.
Ich habe zudem bestätigt, dass der folgende Befehl das Problem NICHT behebt:
rake "posts:reorder_posts[1234]"
Gibt es eine Möglichkeit, dies für alle Beiträge auszuführen – also im Grunde alle Beiträge durchlaufen zu lassen?
Und Sie haben gerade rake posts:reorder_posts allein ausgeführt und es funktioniert nicht? Bitte versuchen Sie das zunächst erneut.
Wenn das nicht funktioniert, können Sie Folgendes ausführen:
./launcher enter app
rails c
Post.update_all("sort_order = post_number")
Wir haben das Problem identifiziert. Es wurde bereits im August eingeführt. Wir werden in Kürze einen Fix dafür bereitstellen, inklusive eines Tests für diesen Fall.
Ich habe den oben genannten Befehl ausgeführt und folgende Fehlermeldung erhalten:
root@REMOVE-web-only:/var/www/discourse# rake posts:reorder_posts
rake aborted!
PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "post_timings_unique"
DETAIL: Key (topic_id, post_number, user_id)=(1567, 20, 3) already exists.
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-2.2.0/lib/patches/db/pg.rb:110:in `exec'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-2.2.0/lib/patches/db/pg.rb:110:in `async_exec'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/mini_sql-0.3/lib/mini_sql/postgres/connection.rb:201:in `run'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/mini_sql-0.3/lib/mini_sql/postgres/connection.rb:173:in `exec'
/var/www/discourse/lib/tasks/posts.rake:368:in `block (3 levels) in <main>'
/var/www/discourse/lib/tasks/posts.rake:351:in `each'
/var/www/discourse/lib/tasks/posts.rake:351:in `block (2 levels) in <main>'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract/database_statements.rb:280:in `block in transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract/transaction.rb:280:in `block in within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.3.3/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract/transaction.rb:278:in `within_new_transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/abstract/database_statements.rb:280:in `transaction'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.3.3/lib/active_record/transactions.rb:212:in `transaction'
/var/www/discourse/lib/tasks/posts.rake:312:in `block in <main>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
Tasks: TOP => posts:reorder_posts
(See full trace by running task with --trace)
Ich habe den zweiten Befehl nicht ausgeführt, nachdem ich den Fehler mit dem doppelten Schlüssel gesehen habe, da ich annahm, dass dies auf ein größeres Problem hindeuten könnte.
Das sieht nach einem Problem mit deiner Datenbank aus, das unabhängig von diesem Fall ist, aber eine Lösung hier blockiert. Ich werde dich in Kürze per PM kontaktieren, und wir können das separat debuggen.
Aktuellste Version ausgeführt und folgende Fehler festgestellt.
Meldung (49 gemeldete Kopien)
Job-Ausnahme: nicht initialisierte Konstante Jobs::QaUpdateTopicsPostOrder
Gemeint sein könnte: Jobs::UpdateTopicPostOrder
Jobs::QAUpdateTopicsPostOrder
Es ist eine veraltete Funktion, die wir in naher Zukunft aus dem QnA-Plugin entfernen werden. Diese Funktion ist nun in einem eigenen dedizierten Plugin enthalten
Wie entfernt man seine Stimme? In den Optionen gibt es eine Einstellung, wie viel Zeit man hat, um die Stimme zurückzunehmen, aber ich sehe keine Möglichkeit, dies tatsächlich zu tun.
Das Hoch-Icon zum Abgeben einer Stimme berücksichtigt das dunkle Theme nicht (siehe Screenshot)
Die Platzierung meines Flairs bei Kommentaren zu Antworten ist falsch (siehe Screenshot)
Das Styling des Informationsbuttons ist nicht schlecht, passt aber nicht wirklich zum Rest der Seite und nimmt etwas horizontalen Platz in Anspruch. Vielleicht wäre ein anderer Ansatz besser, z. B. ein kleiner Textlink in der oberen rechten Ecke oder neben der Kategorie und dem Tag?
Der Link „Stimme zurücknehmen“ ist nicht offensichtlich als Link erkennbar
Die Admin-Einstellung qa trust level vote limits ist standardmäßig deaktiviert, aber ich erhalte trotzdem die Fehlermeldung „Sie können die Anzahl der Stimmen für Ihr Vertrauenslevel nicht überschreiten“, was keinen Sinn ergibt?
Ja, es scheint einen Konflikt zwischen diesem Plugin und dem Solved Plugin zu geben, also dem „Lösung"-Element in deinem Screenshot. Dieses Plugin unterstützt das Solved Plugin noch nicht offiziell.
Ja, du musst das Plugin nur in einer Kategorie deaktivieren, in der es aktiviert ist, und die Beiträge kehren in ihre normale Reihenfolge zurück.
Vielen Dank für dieses Plugin! Eine Frage: Was passiert mit den Inhalten, wenn das Plugin entfernt wird? Es ist klar, dass die Stimmen und die spezielle Sortierung der Antworten wegfallen, aber was passiert mit den “Antworten” und “Kommentaren” zu jeder Antwort? Bleiben sie erhalten oder werden sie gelöscht?
Der Grund für meine Frage ist, dass wir dieses Plugin begonnen haben, um eine kollaborative Benutzeranleitung zu erstellen. Kommentare zu jeder Antwort sind sehr praktisch. Die Stimmen sind ebenfalls vielversprechend, aber was, wenn sie unbeabsichtigte Folgen haben und wir sie loswerden wollen? Es wäre schade, die Anleitung zu verlieren, nur weil wir die Stimmen entfernen wollen.
Im schlimmsten Fall könnten wir die Abstimmungs-UI per CSS entfernen und das Plugin dort belassen.
Kommentare und Antworten sind nur Beiträge, die in einer anderen Reihenfolge angezeigt werden. Sie werden beibehalten.
Wenn Sie das Plugin deinstallieren möchten, deaktivieren Sie einfach „Alle Themen in dieser Kategorie als QnA markieren“ in den Kategorieeinstellungen. Dadurch werden alle Beiträge in ihre ursprüngliche Reihenfolge zurückversetzt.
Zum Beispiel habe ich gerade die QnA-Kategorie auf try.thepavilion.io in ihre Standardreihenfolge zurückversetzt (d. h. chronologisch (wird sich in 24 Stunden wieder ändern).
Das ist ermutigend zu wissen. Wir werden das Plugin ausprobieren, und wenn die Stimmen ihre Mission nicht erfüllen, haben wir zwei Möglichkeiten, sie zu entfernen: die leichte über CSS und die schwere durch Deaktivieren des Plugins. Keine Inhalte gehen verloren. Tolle Anpassung der Discourse-Kernkomponenten!
Übrigens, nur für den Fall, dass Sie neugierig sind, wir verwenden Ihr Plugin, um eine kollaborative Videoanleitung für ein Produkt zu erstellen, bei der Leute eingeladen werden, Links zu Videos zu teilen, die andere über Aspekte dieses Produkts erstellt haben. Wir haben ein paar Labels angepasst, damit es funktioniert. Sehen Sie Bitwig Video Guide - Bitwish (wir haben gerade erst angefangen, daher ist es größtenteils leer; außerdem sind die meisten Unterkategorien stummgeschaltet, weshalb es für anonyme Benutzer leerer aussieht).