Wie kann man anonym bitten, seine Flagge per E-Mail zu bestätigen?

7

Ich muss einem meiner Inhaltstypen Flags hinzufügen . Eigentlich zwei Arten:

  1. Ich werde mich darum kümmern
  2. Gelöst

Das zweite Flag sollte nur für den Knotenautor verfügbar sein und nur, wenn das erste bereits ausgelöst wurde. Aber das ist ein einfacher Teil. Die erste Art von Flag ist auch für angemeldete Benutzer trivial.

Der Punkt ist - ich muss die erste Art von Flag auch für anonyme Benutzer verfügbar machen. Und ich muss sicherstellen, dass ich ihre gültigen E-Mail-Adressen habe. Der Standard-Bestätigungslink in der E-Mail wäre in Ordnung. Wie mache ich das?

Ich weiß, dass ich ein benutzerdefiniertes Modul von Grund auf neu entwickeln kann, und ich werde es bei Bedarf tun, aber ich war mir sicher, dass es bereits eine sofort einsatzbereite Lösung gibt, und ich kann sie jetzt einfach nicht finden.

Nur um einige Dinge klar zu machen:

  • Das Flag- Modul funktioniert für anonyme Benutzer, wenn Sie die Sitzungs-API installieren . Kein Problem hier.
  • Ich hatte vor, E-Mails im E-Mail-Feld anzuhängen, um sie selbst zu kennzeichnen. Für angemeldete Benutzer wird standardmäßig ihre E-Mail-Adresse verwendet, und wenn sie sich dazu entschließen, diese zu ändern, kann ich sie trotzdem erreichen. Für anonym möchte ich, dass es durch einen Link in einer E-Mail überprüft wird, und wenn es nicht rechtzeitig überprüft wird, möchte ich das Flag löschen. Das Löschen wird mit CRON und Rules oder einem einfachen Hilfsmodul einfach sein. Die Überprüfung ist kompliziert (und ich hoffe, sie ist bereits gelöst).
Mołot
quelle
Um dies zu überprüfen, benötigen Sie etwas, das 1. E-Mails vorübergehend erfasst (bis das Flag fertig ist) und 2. dem Benutzer eine E-Mail sendet, um zu überprüfen, ob diese E-Mail korrekt ist (ich gehe davon aus, dass er benachrichtigt werden kann, sobald sein Flag angezeigt wird) ist abgeschlossen)
Jance
@Jance Ich möchte, dass E-Mails im E-Mail-Feld angehängt werden, um sich selbst zu kennzeichnen. Für angemeldete Benutzer wird standardmäßig ihre E-Mail-Adresse verwendet, und wenn sie sich dazu entschließen, diese zu ändern, kann ich sie trotzdem erreichen. Für anonym möchte ich, dass es durch Link in E-Mail überprüft wird.
Mołot
Ich denke, Sie müssen ein benutzerdefiniertes Modul erstellen und den Benutzer nach E-Mail fragen, wenn Sie auf Flag klicken. Ein Modul ist dort drupal.org/project/flag_anon, aber es zeigt den Login / Register-Link.
Sumit Madan
@SumitMadan Dieses Problem anzeigen Anonymes Markieren ist bereits möglich, wenn Sie über eine Sitzungs-API verfügen . Meine Frage bezieht sich auf die E-Mail-Überprüfung und nicht darauf, wie sie zum Markieren in der Lage sind :) Aus den unter Antwort erläuterten Gründen kann ich keine Personen dazu bringen, Konten zu erstellen.
Mołot
1
Es gibt ein Verifizierungsmodul, das für anonyme Kommentare funktioniert (leider keine Flags), aber es könnte ein anständiger Ausgangspunkt sein ( drupal.org/project/comment_verification )
Jance

Antworten:

2

Ich würde hook_flag_link_type_info () verwenden , um einen Link-Typ wie den vom Flag-Modul bereitgestellten Link-Typ "Bestätigen" bereitzustellen. Kopieren Sie ihren Ansatz, aber fragen Sie auf dem Bestätigungsformular nach der E-Mail-Adresse des Benutzers (wenn der Benutzer anonym ist). Sie speichern den Wert in dem E-Mail-Feld, das Sie Ihrer Flagge hinzugefügt haben, und das Regelmodul sollte den Rest für Sie erledigen können. Es erfordert ein bisschen benutzerdefinierten Code (nicht zu viel, würde ich vermuten), aber der größte Teil der Funktionalität (Markieren, Entflaggen, Regelintegration, ...) stammt immer noch aus dem Flaggenmodul.

[BEARBEITEN] Für den Überprüfungsteil: Fügen Sie Ihrem Flag ('Verifiziert') ein boolesches Feld hinzu, das Sie mit dem per E-Mail gesendeten Bestätigungslink ändern. Das Flag "Gelöst" kann mit hook_flag_access () ausgeblendet / angezeigt werden.

Jelle
quelle
1

Ich habe 2 Module gemacht, die E-Mails senden. Eine für authentifizierte Benutzer, die ihren gekennzeichneten Inhalt per E-Mail erhalten, und eine, um einem Freund eine URL zu senden, die Ihnen gefällt.

Ich denke, es ist ein bisschen lang, den gesamten Code hier zu posten, also habe ich eine Zip-Datei online gestellt, um sie hochzuladen

Vielleicht können Sie eine Mischung aus beiden machen, um Ihr Ziel zu erreichen.

Ich hoffe es hilft.

anou
quelle
0

Ich muss sagen, ich wünschte, ich hätte Jelles Weg benutzt . Aber ich habe es nicht getan. Ich weiß also nicht, ob es funktioniert.

Hier ist, wie ich es gemacht habe

  1. Ich habe eine Flagge mit E-Mail-Feld erstellt. Ich habe die Flag-Schaltfläche erstellt, um zum Formular zu gelangen, sodass Benutzer es ausfüllen müssen. Es sind sowieso einige Felder für alle erforderlich.

  2. Erforderlich nach Rolle gemacht E-Mail für anonym erforderlich. Angemeldete Benutzer können es ausfüllen, wenn sie andere E-Mails wünschen, und in diesem Fall sollten sie trotzdem überprüft werden, soweit so gut.

  3. Ich habe die E-Mail-Feldüberprüfung installiert , sie aktiviert, das an das Flag angehängte E-Mail-Feld aktiviert und festgelegt, dass Inhalte gelöscht werden, wenn das Feld nicht bestätigt wird.

Warum ich wünschte, ich hätte es nicht getan

Diese Module sind fehlerhaft. Insbesondere die Überprüfung von E-Mail-Feldern - alle Fehler mussten behoben werden. Ich brauchte einige Patches und Hacks, damit alles so funktionierte, wie es sollte. Ich glaube, es könnte einfacher sein, es selbst zu schreiben. Zumindest hoffe ich, dass ich Patches beitragen kann.

Mołot
quelle
-1

Soweit ich weiß, gibt es nur einen anonymen Benutzer, dessen Konto von allen anonymen Benutzern geteilt wird. Wenn Sie die E-Mail-Adresse anonymer Benutzer verfolgen möchten, können diese dann keine eigenen Konten erhalten?

Die einzige Möglichkeit, Informationen für anonyme Benutzer zu speichern, besteht darin, ein Cookie zu setzen, das auf ihrem Computer gespeichert wird. Es würde jedoch ein Problem geben, bei dem verschiedene anonyme Benutzer einen Computer gemeinsam nutzen oder der anon-Benutzer zwei verschiedene Geräte verwendet.

iantresman
quelle
Nein, sie können keine Konten bekommen. Sie sollen in der Lage sein, so einfach wie möglich zu kennzeichnen, und möchten, dass ihre E-Mails vergessen werden, sobald ihre Kennzeichnung abgeschlossen ist (vom Autor als gelöst gekennzeichneter Beitrag). Geben Sie einfach eine E-Mail ein, senden Sie sie ab und klicken Sie auf den Bestätigungslink. Das möchten meine Benutzer für ihre Leser. Das Erstellen eines Kontos für jemanden, der einmal einen Knoten besucht hat und wahrscheinlich nie zurückkehren wird, macht wenig Sinn. Ganz zu schweigen von den gesetzlichen Anforderungen. Sie sind strenger, wenn ich die Kontoerstellung für die breite Öffentlichkeit eröffnen würde. Schutz personenbezogener Daten. Also nein, das ist keine Antwort für mich.
Mołot
Könnten Sie nicht sofort ein temporäres Konto erstellen (ohne echte Benutzerdaten) und es nach dem Vorgang entfernen?
Laniol
@laniol Könnte funktionieren, aber ein Anwalt, der es zum Laufen bringt, wäre genauso teuer wie die offizielle Registrierung einer Datenbank für personenbezogene Daten, fürchte ich. Ich werde es nicht wagen, es zu riskieren.
Mołot
-1

Möglicherweise fehlen hier einige Ihrer Anforderungen, aber ich hätte gedacht, dass die E-Mail-Adresse eines anonymen Benutzers nicht mehr anonym ist, sobald Sie sie haben. Wenn dies akzeptiert wird, können Sie möglicherweise, anstatt anonymen Benutzern Flags zuzuweisen, mit dem Drupal-System arbeiten und ihnen einfach ein Konto auf niedriger Ebene erstellen, wenn sie etwas markieren. Sie können den Flag-Zugriff stattdessen nach Rollen unterscheiden.

Dazu müssten Sie den Benutzer sofort mit dem Modul " Benutzerregistrierungskennwort" anmelden . Sie können die Flag-Aktion ändern, um sie zuerst an die Registrierungsseite zu senden (nur auf E-Mail-Adresse vereinfacht), wobei die Flag-Details als Ziel in der Abfragezeichenfolge beibehalten werden. Auf diese Weise wird das Flag erst angewendet, nachdem der Benutzer angemeldet ist, aber eine E-Mail-Bestätigung anfordert .

autopoietisch
quelle
Siehe diesen älteren Kommentar - nein, sie können aus verschiedenen Gründen keine Konten erhalten.
Mołot
Verstanden. Ich bin mir nicht sicher, ob es einen rechtlichen Unterschied zwischen der Eröffnung eines Kontos (das bei Bedarf später gelöscht werden kann), das nur die E-Mail-Adresse des Benutzers und keine anderen persönlichen Informationen enthält, und dem einfachen Speichern der E-Mail-Adresse gibt. Beides führt zu einer dauerhaften Speicherung derselben Informationen.
autopoietic
In meinem Land gibt es Unterschiede. Theoretisch ist die Linie verschwommen, in der Praxis birgt die Aufbewahrung nur für den genauen Zweck, in den sie eingegeben wurde, kein signifikantes Risiko einer Klage.
Mołot