Für mein Forum habe ich im folgenden Thema eine Richtlinie festgelegt, die nur für TL0-Benutzer gilt. Ein TL4-Benutzer beschwerte sich jedoch, dass ihn die Richtlinie immer wieder zum Akzeptieren aufforderte, was … seltsam ist?
Ich vermute, dass es daran liegt, dass sein Benutzername/Konto noch in der TL0-Gruppe ist?
TL0 umfasst alle Mitglieder deines Forums. Du wechselst nicht zwischen Vertrauensstufengruppen, sie sind kumulativ, sodass alle TL4 auch in den TL3-, 2-, 1- und 0-Gruppen enthalten sind.
Würde diese Richtlinie nicht für alle Mitglieder gelten? Gibt es etwas, das deine TL4 daran hindert, sie zu akzeptieren?
Es liegt nicht daran, dass sie es nicht akzeptieren wollen, sondern daran, dass sie es bereits akzeptiert haben, aber trotzdem wöchentliche Erinnerungen erhalten, was ziemlich seltsam ist, obwohl ich den Erneuerungs-Tag auf 365 gesetzt und das Feld Erneuerungsbeginn leer gelassen habe.
Es tut mir leid, aber es ist nicht möglich, sie aus der TL0-Gruppe zu entfernen (ohne ihre Konten zu löschen ), es ist im Grunde eine ‘Alle Mitglieder’-Gruppe.
Wenn ich mir diese Einrichtung ansehe, sollte sie sie nur wöchentlich daran erinnern, wenn sie die Richtlinie noch nicht akzeptiert haben. Wenn ich dem obigen Link folge, sehe ich, dass bisher nur 12 Personen sie akzeptiert haben – sind die, an die erinnert wird, in dieser Zahl enthalten?
Nein, aber ein anderes Mitglied @bionel hat es akzeptiert und erhält trotzdem wöchentliche Erinnerungen. Ich bin mir bei den anderen nicht sicher, da sie sich bei diesen Forenänderungen/-verbesserungen nicht so lautstark äußern.
Würde es helfen, wenn ich den Betrag im Feld Renew auf 720 Tage (2 Jahre) erhöhe?
Die Erinnerungen sollten nur für diejenigen ausgelöst werden, die sie noch nicht akzeptiert haben. Sobald sie die Richtlinie akzeptieren, sollten sie keine Erinnerungen mehr erhalten, sie erneut zu akzeptieren, bis die Verlängerungsperiode für sie eintritt (ob 365 oder 730 Tage oder kürzer/länger).
Ich bin mir nicht sicher, warum @bionel die Erinnerungen erhalten würde, nachdem er die Richtlinie akzeptiert hat. Wir verwenden dieses Plugin intern ziemlich oft und ich habe keine Probleme bemerkt. Erhalten Sie auch zusätzliche Erinnerungen dafür?
Es wäre möglich, eine Data Explorer-Abfrage zu erstellen, um schnell die Akzeptanz im Vergleich zu den Erinnerungsbenachrichtigungen zu überprüfen. Lassen Sie mich sehen…
Nur als kleine Zwischeninfo: Ich habe damit herumgespielt, aber meine Abfrage sieht im Moment wie ein Katzenspiel aus und ist daher nicht teilbar.
Für alle, die zu Hause mitmachen: Ich habe den Benachrichtigungstyp für die Richtlinienerinnerung als 18 identifiziert, und die Richtlinientabellen im Explorer sind post_policies, policy_users und policy_groups (obwohl ich nicht glaube, dass letztere dafür benötigt werden).
Ich glaube auch, dass es einige Magie im Code gibt, die frühere Benachrichtigungserinnerungen bereinigt:
Nur um zu fragen, @albert_vu, da die Richtlinie für TL0 gilt, ist es in Ordnung für Sie, wenn sie wöchentlich eine Richtlinienerinnerungsbenachrichtigung an jede der über 20.000 Personen sendet, bis sie diese akzeptiert haben?
Das ist in Ordnung! Die Richtlinien sind vorhanden, damit sie wissen, wie sie ihre Themen korrekt formatieren, bevor sie sie veröffentlichen, wenn es sich um eine produktbezogene Frage handelt (wir hatten schon einige Fälle von schlechter Formatierung und/oder nicht genügend Informationen in unserem Forum).
Nur um hier öffentlich für zukünftige Reisende nachzufassen.
Ich denke, etwas wie dieses würde es Ihnen ermöglichen, die relevanten Informationen zu überprüfen und zu sehen, ob eine Benachrichtigung gesendet wurde, nachdem die Richtlinie akzeptiert wurde:
-- [params]
-- topic_id :topic_id
SELECT pp.id AS "Richtlinien-ID",
pp.created_at AS "Richtlinie Erstellt",
n.user_id,
n.created_at AS "Letzte Benachrichtigung Erhalten",
pu.accepted_at AS "Benutzer Akzeptierte Richtlinie",
pu.revoked_at AS "Benutzer Widerrief Richtlinie",
pu.expired_at AS "Richtlinie Abgelaufen"
FROM notifications n
JOIN posts p ON p.topic_id = n.topic_id
JOIN post_policies pp ON pp.post_id = p.id
LEFT JOIN policy_users pu ON pu.post_policy_id = pp.id AND pu.user_id = n.user_id
WHERE n.topic_id = :topic_id
AND n.user_id > 0
ORDER BY n.user_id, pu.accepted_at