Alle Postings an Normaluser (Technics)

by Martin66, Monday, March 19, 2018, 19:27 (2229 days ago)

Hi,


ich stelle mein Forum gerade auf Version 2.3.5. um. Dabei taucht für mich mal wieder ein Problem auf, das ich schon lange mit mir herumtrage (ich glaube, ich hatte hier dereinst auch schon mal was dazu gepostet. Falls in einer neueren Version als 2.3.5 das doch umgesetzt sein sollte, bitte einfach eine kurze Info):

Ich habe einige wenige User, die gern alle Postings bekommen würden - ohne gleich Moderatoren zu sein. Bisher löse ich das so, dass ich für diese User manuell das Feld userdata.new_user_notification auf "1" stelle, und unter includes/functions.inc.php in der Zeile

$recipient_result = @mysqli_query($connid, "SELECT user_name, user_email FROM ".$db_settings['userdata_table']." WHERE user_type > 0 AND new_posting_notification=1") or raise_error('database_error',mysqli_error($connid));

die WHERE-Klausel wie folgt geändert habe:

WHERE new_posting_notification=1

Das funktioniert auch. Aber nun meine Frage: Warum eigentlich sollte nicht jeder User die Möglichkeit bekommen, selbst zu entscheiden, ob er alle Postings bekommt? Dazu müsste man nur ALLEN Usern unter "Benutzerbereich/Profil bearbeiten" die Möglichkeit einräumen, bei neuen Einträgen benachrichtigt zu werden. So, wie das Mods/Admiins auch haben.

Falls ich mit diesem Änderungswunsch nicht durchkomme, so stellt sich mir rein technisch dennoch die Frage, warum im Code diesbezüglich so manch "weißer Schimmel" zu finden ist? Genauer gesagt: Momentan können ohnehin zwingend nur User aus der Teilmenge der Mods/Admins alle Mails bekommen. WHERE user_type > 0 AND new_posting_notification=1 sichert das doppelt ab, die Änderung zu WHERE new_posting_notification=1 bewirkt also nur etwas, wenn man (wie ich) manuell etwas an den Tabellen ändert. Da könnte man doch den Code wenigstens vereinfachen?

Für den Fall, dass meinem Änderungswunsch doch nachgekommen wird: Als Nächstes müsste man unter themes/default/subtemplates/user_edit.inc.tpl fast am Ende des Codes folgende Änderung vornehmen:

~~~~~~~~~~~~
<tr>
<td class="c"><strong>{#edit_user_notification#}</strong></td>
<td class="d"><input id="new_posting_notification" type="checkbox" name="new_posting_notification" value="1"{if $new_posting_notification=="1"} checked="checked"{/if} /><label for="new_posting_notification">{#admin_mod_notif_posting#}</label>
{if $mod||$admin}<br />
<input id="new_user_notification" type="checkbox" name="new_user_notification" value="1"{if $new_user_notification=="1"} checked="checked"{/if} /><label for="new_user_notification">{#admin_mod_notif_register#}</label></td>
{/if}
</tr>
~~~~~~~~~~~~

Damit wird die entsprechende Checkbox immer angezeigt. Dummerweise wird die Änderung aber noch nicht in der Tabelle eingetragen. Wahrscheinlich ist es Code unter includes/user.inc.php, der das verhindert. Aber offen gestanden, blicke ich da nicht durch. Auch hier gibt es Code, der das in der Form des "weißen Schimmels" (s.o.) verhindert.

Martin

Avatar

Nicht alle Postings an Normaluser

by Auge ⌂, Monday, March 19, 2018, 20:22 (2229 days ago) @ Martin66

Hallo

Wie kommst du darauf, die entsprechenden Prüfungen als "weißen Schimmel" einzuordnen? Das ist keine unnötige doppelte Prüfung, da es auch Admins und Mods freisteht, die Zusendung einer E-Mail bei jedem Pfurz im Forum nicht zu aktivieren. Die Prüfung auf den Rang des Benutzers (user_type > 0 für Admins und Mods) allein reicht also nicht, um zu ermitteln, ob der Benutzer auch eine E-Mail erhalten soll. Genau deshalb gibt es die zweite Prüfung darauf, ob der Benutzer den E-Mail-Empfang auch aktiviert hat (new_posting_notification=1).

Es geht bei diesen Nachrichten auch nicht um die "banale" Information, wer was gepostet hat, sondern darum, die Mitglieder eines Forenteams zeitnah zu informieren, so dass sie, wenn nötig, ihren Moderatoren- und Administratorenpflichten nachkommen können.

Im Übrigen bin ich von der Idee, jedem Benutzer zu ermöglichen, für jede Aktion eine E-Mail zu erhalten, nicht überzeugt. Das bedeutet eben nicht nur ein Formularfeld und die Erweiterung der Prüfung vor dem speichern des Wertes einzufügen, sondern auch, bei jedem Posting eine (eventuell stark) erweiterte Liste von Empfängern zu erstellen und abzuarbeiten, wo bisher nur der Autor des Threads und der des Vorpostings und die Admins und Mods, die den E-Mail-Empfang aktiviert haben, berücksichtigt werden mussten.

Wieder und wieder wurde hier im Laufe der Jahre berichtet, dass Hoster vom deren Meinung nach so schon zu hohen E-Mail-Aufkommen aus einem Forum heraus auf Spam-Versand schließen. In der letzten diesbezüglichen Meldung war von etwa 70 E-Mails pro Tag die Rede, bei denen ein Hoster freidrehte. Immer wieder wurde daher der Einsatz einer SMTP-Schnittstelle gefordert. Dem wollen wir nun nachkommen, ob das aber in den Augen der Hoster das Problem löst, kann ich nicht beurteilen.

Jedenfalls suche ich nach Ideen, zumindest teilweise von den E-Mails wegzukommen. Für Benutzer eines Forums gibt es diese Möglichkeit für jene Foren oder Kategorien in Foren, auf die der Zugriff nicht eingeschränkt ist, von Anfang an und seit ehedem über RSS-Feeds. Ich überlege gerade, wie man den Einsatz von RSS-Feeds erweitern kann, um weniger E-Mails erzeugen zu müssen.

Eventuell könnte eine Abonnementfunktion Einzug halten, mit der ein Benutzer einen Thread oder Ast eines Threads explizit abonnieren kann. Das allerdings mit der Notwendigkeit, dass der Benutzer selbst aktiv das Abonnement abschließt (und beendet) und nicht einfach als Rundumschlag über alle Postings.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Nicht alle Postings an Normaluser

by Martin66, Monday, March 19, 2018, 20:40 (2229 days ago) @ Auge

Die Prüfung auf den Rang des Benutzers (user_type > 0 für Admins und Mods) allein reicht also nicht, um zu ermitteln, ob der Benutzer auch eine E-Mail erhalten soll.

Ja, aber es genügt die Prüfung, ob der Benutzer den E-Mail-Empfang aktiviert hat. Da das ohnehin nur bei Admins/Mods möglich ist, muss nicht auch noch geprüft werden, ob es sich auch um einen Admin/Mod handelt.

Immer wieder wurde daher der Einsatz einer SMTP-Schnittstelle gefordert. Dem wollen wir nun nachkommen, ob das aber in den Augen der Hoster das Problem löst, kann ich nicht beurteilen.

Das klingt super!

Martin

Avatar

Nicht alle Postings an Normaluser

by Auge ⌂, Monday, March 19, 2018, 21:19 (2229 days ago) @ Martin66

Hallo

Die Prüfung auf den Rang des Benutzers (user_type > 0 für Admins und Mods) allein reicht also nicht, um zu ermitteln, ob der Benutzer auch eine E-Mail erhalten soll.


Ja, aber es genügt die Prüfung, ob der Benutzer den E-Mail-Empfang aktiviert hat. Da das ohnehin nur bei Admins/Mods möglich ist, muss nicht auch noch geprüft werden, ob es sich auch um einen Admin/Mod handelt.

Klingt, zumindest ohne weiteres Studium aller Ecken und Enden, erst einmal schlüssig.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

alle Postings als Feed

by candleman ⌂, Tuesday, March 20, 2018, 13:54 (2228 days ago) @ Auge

Ich überlege gerade, wie man den Einsatz von RSS-Feeds erweitern kann, um weniger E-Mails erzeugen zu müssen.

Ich bekenne,
ich bin der Mann mit dem empfindlichen Hoster und dem SMTP-Wunsch.

Meine Lösung des Problems in der Zwischenzeit ist einfach, die Nutzung der RSS-Feeds.
Ich hab mir Tickerfeed auf dem Handy installiert und bekomme so alle Beiträge "aus dem öffentlichen Bereich" direkt auf das Telefon 'gepusht'.

Im Mailprogramm hab ich den RSS-feed auch eingebunden, (auch da wird gepusht) das passt, da kann ich gut mitlesen.

# Verbesserung wäre möglich mit einem aufgebohrten RSS für MODs und ADMINs, der auch Beiträge aus dem "nichtöffentlichen Bereich" (nur für eingeloggte User) bereitstellt.

Avatar

alle Postings als Feed

by Auge ⌂, Tuesday, March 20, 2018, 14:41 (2228 days ago) @ candleman

Hallo

Ich überlege gerade, wie man den Einsatz von RSS-Feeds erweitern kann, um weniger E-Mails erzeugen zu müssen.


Ich bekenne,
ich bin der Mann mit dem empfindlichen Hoster und dem SMTP-Wunsch.

Nun sind wir weder in der Kirche noch in der Politik – in beiden Bereichen wird regelmäßig und übermäßig häufig bekannt – sei es dir dennoch, mit Hinweis darauf, dass du mit diesem Wunsch nicht alleine standest und stehst, verziehen. ;-)

Meine Lösung des Problems in der Zwischenzeit ist einfach, die Nutzung der RSS-Feeds.

Das ist mir grundsätzlich lieber. E-Mails werden hier dann versendet, wenn jemand eine Benachrichtigungsfunktion aktiviert hat (Push), egal, ob sich die Information hinterher als interessant herausstellt oder nicht. Wenn man den RSS-Feed abruft, ist vorher zwar auch nicht sicher, ob man die Informationen als interessant erachtet oder nicht, der Abruf selbst erfolgt aber erst dann, wenn man es für notwendig hält (Pull).

Man entscheidet selbst, wann man seinen RSS- oder E-Mail-Client (letzteren explizit in der Funktion als Feedreader) aktiviert und wann nicht und auch nur dann werden Daten abgerufen denn auch erst dann werden sie zur Kenntnis genommen.

Ich hab mir Tickerfeed auf dem Handy installiert und bekomme so alle Beiträge "aus dem öffentlichen Bereich" direkt auf das Telefon 'gepusht'.

Den kenne ich noch nicht. … Ausprobiert … ich muss mich bei einem externen Dienst registrieren, um RSS-Feeds selbst definieren zu können? Nee, ist nicht meins.

Im Mailprogramm hab ich den RSS-feed auch eingebunden, (auch da wird gepusht) das passt, da kann ich gut mitlesen.

Das ist es wohl eher.

# Verbesserung wäre möglich mit einem aufgebohrten RSS für MODs und ADMINs, der auch Beiträge aus dem "nichtöffentlichen Bereich" (nur für eingeloggte User) bereitstellt.

Wie im Zitat von mir ganz oben verlinkt ist, gibt es Überlegungen dazu.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

RSS Feed of thread