Benachrichtigen Sie den Administrator, wenn die Seiteneinstellungen vom System aktualisiert werden

Wir hatten kürzlich unser download_remote_images_to_local als ‘stille’ Änderung vom System deaktiviert. Als Websitebesitzer wäre es nützlich gewesen, eine Direktnachricht darüber zu erhalten. Ich bin mir nicht sicher, ob es noch weitere Änderungen gibt, die auf diese Weise vom System aktualisiert werden können.

9 „Gefällt mir“

Das habe ich schon gesehen, wenn die Festplatte voll ist. War es das oder etwas anderes?

2 „Gefällt mir“

Er war nicht voll, nur unter die Schwelle gefallen, die wir für den Download von Remote-Bildern festgelegt haben.

3 „Gefällt mir“

Ich halte den Vorschlag für vernünftig, leider glaube ich nicht, dass wir Zeit haben werden, uns damit in absehbarer Zeit zu befassen.

Wir markieren ihn mit pr-welcome, falls jemand aus der Community dies untersuchen möchte. (Eine PM an die Administratoren, wenn wir die Einstellung ändern)

6 „Gefällt mir“

Das „System“ hat unsere Website kaputt gemacht, indem es die Standard-Vertrauensstufe auf „0“ geändert hat, obwohl wir sie auf „1“ gesetzt hatten.

Es ist sehr überraschend, dass das System Ad-hoc-Änderungen an unserer Produktionswebsite ohne jegliche Genehmigung oder Benachrichtigung vornehmen kann, und wir müssen verhindern, dass dies in Zukunft wieder geschieht.

Gibt es eine Möglichkeit, diese automatischen Systemänderungen zu deaktivieren?

Das sollte nicht passieren, viele Seiten haben einen Standard von TL1. Wir brauchen mehr Kontext, können Sie dazu ein neues Thema eröffnen.

3 „Gefällt mir“

Es stellt sich heraus, dass dies aufgrund des Bootstrap-Modus auf einem neuen Server/einer neuen App, die wir eingerichtet haben, passiert ist.

Aber meine Nachricht bezog sich weniger auf diese spezifische Systemänderung und mehr darauf, wie jede Systemänderung idealerweise eine Genehmigung erfordern sollte, damit Dinge nicht kaputt gehen. Wenn eine Genehmigung nicht möglich ist, wäre zumindest eine E-Mail, die alle Administratoren über die Änderung informiert (was meiner Meinung nach mehr oder weniger das ist, wonach der OP gefragt hat), großartig.

Vielen Dank für all die Arbeit an Discourse!

1 „Gefällt mir“

Hallo @Earnie_Baird, das ist ein tolles Feedback.

Ich schlage vor, dass es mehr Klarheit über den Bootstrap-Modus gibt. Vielleicht sollte, wenn man ihn in der Kopfzeile sieht und darauf klickt, sehr deutlich erklärt werden, was passiert ist.

2 „Gefällt mir“

Sofern es keine Änderungen gab, die mir nicht bekannt sind (und ich glaube nicht, dass es welche gab), befürworte ich diese Feature-Anfrage nachdrücklich.

Ich bin dieses Problem mehrmals begegnet, wenn mir vorübergehend der Speicherplatz ausging.

Jedes Mal habe ich zufällig bemerkt, dass die Einstellung deaktiviert war. Ich bin nicht auf die Idee gekommen, nach Einstellungsänderungen zu suchen, wenn ich einen Festplattenspeicher-Schwellenwert erreiche, selbst nachdem ich dies mehrmals erlebt habe.

Ich bin ziemlich sicher, dass es in freier Wildbahn viele Fälle gibt, in denen diese Einstellung deaktiviert ist, ohne dass der Administrator dies überhaupt weiß, nur weil ihm vor einem Jahr der Speicherplatz ausgegangen ist.

Die Einstellungsänderung wird in /admin/logs/staff_action_logs?filters=%7B\"subject\"%3A\"download_remote_images_to_local\"%7D protokolliert, aber ich erinnere mich nicht, jemals eine Benachrichtigung erhalten zu haben, wenn sie ausgelöst wird.

Idealerweise hätte ich entweder eine Warnung im Dashboard, eine Benachrichtigung im Benutzermenü oder eine E-Mail.

Der Kontext des folgenden Zitats war ziemlich spezifisch (und alt), aber er gilt auch hier.

Das Fehlen jeglicher Benachrichtigung, wenn eine Einstellung von @system geändert wird, kann nachteilig sein.


Wenn ich feststelle, dass download_remote_images_to_local zu einem bestimmten Zeitpunkt deaktiviert wurde, führe ich eines (oder beide, einmal) dieser Rails-Skripte aus, um den Download von Remote-Dateien auszulösen:

Alle Beiträge ab einem bestimmten Datum erneut backen

i = 0
Post.where('created_at >= ?', Date.new(2023, 5, 1)).where('user_id > 0').find_each do |post|
  post.rebake!
  puts "Post #{post.id}, Created at #{post.created_at}"
  i += 1
end

puts "Total number of posts rebaked: #{i}"

Alle Beiträge zwischen zwei bestimmten Daten erneut backen

i = 0
Post.where('created_at >= ? AND created_at < ?', Date.new(2021, 12, 1), Date.new(2022, 3, 1)).where('user_id > 0').find_each do |post|
  post.rebake!
  puts "Post #{post.id}, Created at #{post.created_at}"
  i += 1
end

puts "Total number of posts rebaked: #{i}"
2 „Gefällt mir“

Das Lesen von Get admin notification from logs? - #4 by JammyDodger hat mich wieder an dieses Thema erinnert. Ich denke, Sie könnten auch das Automatisierungsskript „Planen Sie eine PM mit Data Explorer-Ergebnissen“ oder „Planen Sie einen Beitrag in einem Thema mit Data Explorer-Ergebnissen“ und eine Data Explorer-Abfrage verwenden, um Benachrichtigungen über Änderungen an den Website-Einstellungen durch das System zu erhalten.

Etwas wie

SELECT subject, previous_value, new_value, updated_at
FROM user_histories uh
where uh.action = 3
AND uh.acting_user_id = -1
AND uh.updated_at  > CURRENT_TIMESTAMP - INTERVAL '60 minutes'
order by updated_at desc

Dann richten Sie die Automatisierung mit einer Wiederholung ein, die dem Intervall in der Abfrage entspricht, und überspringen Sie sie, wenn keine Ergebnisse vorhanden sind, um Rauschen zu vermeiden.
Sie könnten die Abfrage auch verbessern, um nach dem genauen Betreff zu filtern, aber ich dachte, vielleicht sind auch andere automatische Änderungen interessant.

3 „Gefällt mir“

Hallo @Moin

Vielen Dank, das klingt nach einer sehr hilfreichen Idee!

Ich habe diese Abfrage ausgeführt, aber sie zeigt keine Änderungen wie die automatische Deaktivierung der Erzählung an.

Das stimmt! Es gibt keinen Eintrag in den Protokollen dafür. Deshalb habe ich vorgeschlagen, dass für solche Änderungen immer ein Eintrag erstellt werden sollte.

Diese Abfrage fragt absichtlich nur einen kurzen Zeitraum ab. Wenn ich die Zeitbeschränkung auskommentiere, sehe ich zumindest einige Änderungen.

- AND uh.updated_at  > CURRENT_TIMESTAMP - INTERVAL '60 minutes'
+ --AND uh.updated_at  > CURRENT_TIMESTAMP - INTERVAL '60 minutes'

Um jedoch zu verhindern, dass das Automatisierungsskript diese alten Änderungen meldet, habe ich diese Zeitbeschränkung hinzugefügt.

2 „Gefällt mir“

Dies ist eine hilfreiche Abfrage, die jede Website zur Fehlerbehebung haben sollte, wenn sich ein Verhalten unerwartet geändert hat. Es könnten sogar Sie oder ein Kollege sein, der etwas geändert hat und dies unerwartete Auswirkungen hatte.

Ich habe hier auf Meta eine Automatisierung erstellt, um diese Abfrage wöchentlich auszuführen und alle protokollierten Änderungen der letzten Woche anzuzeigen. Wir haben viele Köche in dieser Küche und es kann manchmal schwierig sein, den Überblick zu behalten.

Mir scheint, die Funktionsanforderung hier wäre, alle Aktionen des Personals umfassender zu protokollieren.

1 „Gefällt mir“

Die von mir geteilte Abfrage beschränkt sich auf Änderungen an den Website-Einstellungen und auf Aktionen des Systems. Sie hilft also dabei, festzustellen, wann Einstellungen vom System geändert werden, sei es aufgrund einer Automatisierung, wie z. B. dem Deaktivieren des Bild-Downloads wegen einer vollen Festplatte, oder wenn sich die Einstellung ändert, wenn der Bootstrap-Modus endet. In Kombination mit einem Beitrag oder einer PM des Automatisierungs-Plugins kann dies in Fällen wie dem im OP beschriebenen helfen.

Die Abfrage hilft jedoch nicht wirklich dabei, unerwartete Änderungen zu finden, wie z. B. die Änderung, die die Willkommensnachricht von Discobot deaktiviert hat, über die @gassim gerne Bescheid gewusst hätte. Die meisten Einstellungsänderungen, die während eines Discourse-Updates vorgenommen werden, werden nicht protokolliert, und das macht sie so schwer nachvollziehbar.

1 „Gefällt mir“

Ich habe Ihre Abfrage so geändert, dass alle protokollierten Änderungen der letzten Woche angezeigt werden.

Ich stimme Ihnen zu, dass eine Lücke gefüllt werden muss. Es werden nicht genügend Aktionen protokolliert.

1 „Gefällt mir“