PostAlerter after_save_post Verhalten

Der PostAlerter enthält ein System aus Prüfungen und Auslösern für Benachrichtigungen, die nach dem Speichern eines regulären Beitrags gesendet werden, beginnend mit der Methode after_save_post.

Ich habe mich mit dieser Methode im Rahmen des Follow Plugins auseinandergesetzt (insbesondere siehe discourse-follow/plugin.rb at main · discourse/discourse-follow · GitHub) und habe einige Gedanken und Fragen, über die ich mich über die Meinungen anderer freuen würde.

Angesichts der Natur des PostAlerter geht diese Diskussion meiner Meinung nach über das Follow Plugin hinaus. Ich sehe meine untenstehenden Vorschläge als relevant auch für das Assign-Plugin und das Polls-Plugin, unter anderem.

Meine aktuellen Überlegungen gehen in folgende Richtung (ich würde mich freuen, für einen der folgenden Punkte einen PR zu erstellen):

  1. Ein Hook oder ein Event-Trigger in der Methode after_save_post, der es Plugins ermöglicht, Benutzer hinzuzufügen, an die Benachrichtigungen gesendet werden sollen (oder nicht), im Kontext der Prüfungen und Zähler dieser Methode, wäre großartig. Beim Senden einer Benachrichtigung sind drei wichtige Überlegungen:

    1. Soll ich einem Benutzer eine Benachrichtigung über einen Beitrag senden?
    2. Habe ich einem Benutzer bereits eine Benachrichtigung über einen Beitrag gesendet?
    3. Wie soll ich einen Benutzer über einen Beitrag benachrichtigen (d. h. unter Berücksichtigung seiner Einstellungen)?

    Jeder dieser Punkte ließe sich im Kontext der Methode after_save_post leichter bewerten.

  2. Eine angepasste Verwendung von Benachrichtigungstypen. Derzeit gibt es im PostAlerter einige Konstanten für Benachrichtigungstypen, die in spezifischen Prüfungen und Zählern iteriert oder gefiltert werden, z. B. NOTIFIABLE_TYPES und COLLAPSED_NOTIFIABLE_TYPES.

    Derzeit gibt es einen generischen Benachrichtigungstyp :custom, der jedoch im Kontext von after_save_post nicht besonders nützlich ist, da das Hinzufügen von custom zu den Typkonstanten bedeuten würde, dass alle Verwendungen des Benachrichtigungstyps custom betroffen wären.

    Beachten Sie, dass das Assign-Plugin derzeit den Benachrichtigungstyp :custom verwendet, dies jedoch nur für Benachrichtigungen über kleine Aktionen (nicht reguläre Beiträge) und nicht für Abfragen verwendet (da jedes Plugin oder jeder Dienst ihn verwenden kann; es nutzt das Feld message, um Assign-Benachrichtigungen nachzuschlagen).

1 „Gefällt mir“