Frage

Ich arbeite an einer Website, die eine Liste historischer Ereignisse anzeigt. Die meisten Ereignisse wurden von einer kleinen Gruppe von Benutzern hinzugefügt, die den Standort verwalten. Ich möchte jedoch auch die Fähigkeit, anonyme Besucher hinzuzufügen, um Ereignisse vorzuschlagen, die dem Standort hinzugefügt werden sollen.

Ich könnte den Knoten / Hinzufügen von anonymen Besuchern zur Verfügung stellen, das jedoch aus mehreren Gründen ideal ist:

  • Das Standard-Einreichungsformular ist recht komplex und ich möchte dies für anonyme Besucher vereinfachen, z. Einige Felder sind nicht relevant, ich möchte diese verbergen.
  • Anonyme Besucher sollten in der Lage sein, Teilinformationen über die Ereignisse und einen Redakteur zu übermitteln, um später weitere Details hinzuzufügen.
  • Anonyme Einsendungen müssen vor dem Veröffentlichung moderiert werden.
  • Ich würde gerne gegen Spam-Einsendungen schützen.

Wie würden Sie vorschlagen, dass ich das tue?

Es ist möglich, zwei Formulare zu haben, um ein neues Ereignis hinzuzufügen, ein komplexerer für Site-Benutzer und ein einfacher für anonyme Besucher?

War es hilfreich?

Lösung

Erstellen Sie einen anderen Inhaltstyp, sagen Sie " Event-Suggestion ", das nur die Felder enthält, die anonyme Benutzer, um Vorschläge vorzunehmen, für die Sie einreichen möchten. Fügen Sie nicht die Felder ein, die Sie als nicht relevant halten (und die Sie für solche anonymen Benutzer 'ausblenden möchten).

Wenn Sie einen solchen zusätzlichen Inhaltstyp erstellen, verwenden Sie für seine Felder nur dieselben Felder wie für den bereits vorhandenen Inhaltstyp, den Sie bereits haben, sagen Sie " Event ". So sind die Felder für diesen neuen Inhaltstyp ( Event-Suggestion ) eine Untermenge der Felder, die Sie bereits für den Inhaltstyp haben, den Sie bereits von Ihrer "kleinen Gruppe von Benutzern" (= Ereignis) verwendet werden.

mit den Berechtigungen zusammenhängt: Erlauben Sie anonyme Benutzer, einen -E-Ereignisvorschlag zu erstellen, aber nicht zulassen, dass Event von anonymen Benutzern erstellt werden kann.

Für Spam-Reduzierung / Prävention, Verwenden Sie Module wie honeypot , Mollom , CAPTCHA , recaptcha usw.

Verwenden Sie den Regeln -Modul, um Ihren Workflow mit Knoten von Typ Ereignisvorschläge zu finetieren erstellt (gespeichert). Um nur einige Optionen zu erwähnen (die Liste ist nahezu unbegrenzt):

  • Unpublish solche Knoten (so dass Spam-Einsendungen, die nicht von Spam-Präventionsmodulen erwischt werden, niemals gezeigt werden, ohne sie zuerst zu überprüfen).
  • Senden Sie eine E-Mail an Ihre kleine Gruppe von Benutzern, die Ihre Website verwalten (so etwas wie ein neuer Ereignisvorschlag, der Ihre Zustimmung wartet ".
  • Setzen Sie eine Art "Bestätigungsmitteilung", wenn ein Ereignisvorschlag eingereicht wird (wie "Vielen Dank für Ihren Ereignisvorschlag wird es bald überprüft ...").

Wenn Ihre kleine Gruppe von Benutzern, die Ihre Site verwalten, senden Sie diesen Event-Vorschlag von , sollten sie den Knoten Konvertieren Sie das -Modul, um einen -E-Ereignisvorschlag in ein -Event zu konvertieren. Verwenden der Regeln -Modul Sie könnten dann automatisch eine solche Ereignisse "veröffentlichen". Nachdem ein solcher Knoten konvertiert wurde, kann Ihre kleine Gruppe von Benutzern, die Ihre Website verwalten, dann abschließen, was Sie als "Weitere Details später hinzufügen" bezeichnen.

andere Module wie Flagge und / oder Inhalt Zugriff könnte die verschiedenen Funktionen / Funktionalität weiter verbessern, nach denen Sie vielleicht suchen. Z.B. Als Alternative zum Arbeiten von Wirth "Unveröffentlichter" Inhalte könnten Sie mit Inhalten zusammenarbeiten, die veröffentlicht werden, aber nur von autorisierten Benutzern aufgerufen werden können.

untere Zeile : Regeln und knoten konvertieren könnte Sie ziemlich nahe kommen, möglicherweise weiter verbessert mit Flagge und Inhaltszugriff .

note : Hinzufügen des Nicht veröffentlichtes -Modul erscheint wie ein interessant Verbesserung auch, dh Zugriff auf bestimmte Benutzerrollen (z. B. Redakteure oder Gutachter), um unveröffentlichte Knoten eines bestimmten Typs zu erteilen.

Andere Tipps

einfache Schnittstelle für anonyme Benutzer

Benutzerdefinierte Form erstellen Senden Sie, was aufrufen wird node_save () mit Werten aus Formularfeldern. Benutzerdefinierte Formular ist einfach und verfügt über nur begrenzte Felder, die anonyme Benutzer angezeigt werden.

Inhaltsmoderation von Editor.

Um die Moderation auf Inhalte zu haben, können Sie Workbench_Moderationsmodul installieren. Mit Hilfe dieses Moduls können Sie verschiedene Moderationszustände auf einem beliebigen Inhaltstyp einrichten, sondern auch das Dashboard an Benutzer mit Berechtigungen ergibt. Wenn Sie in Ihrem Fall Editor als Rolle zum Veröffentlichen von Knoten, die von anonymen Benutzer erstellt wurden, geben, können Sie den Entwurf als Zwischenprodukt einrichten Moderationsstatus Bevor Sie veröffentlicht werden, jetzt, wenn ein anonymer Benutzer das benutzerdefinierte Formular übermittelt, wird ein Knoten programmgesteuert erstellt und in Entwurfsstatus ist die Berechtigung zum Zugriff auf das Zugang zum Entwurf des Dashboards, das aus dem Modul Workbench_Moderation kommt und alle Knoten auflisten Tiefzug des Staates, alles, was Sie brauchen, besteht darin, die Erlaubnis der E-Editor-Rolle zu geben, Knoten vom Entwurf zu veröffentlichen, um zu veröffentlichen.

Spam-Schutz

Um Spam zu vermeiden, können Sie CAPTCHA auf Ihrem benutzerdefinierten Formular haben, installieren recaptcha-Modul . Ihr benutzerdefiniertes Formular enthält Feld wie

generasacodicetagpre.

Referenz - Wie füge ich Recaptcha zu einem hinzu? Benutzerdefinierte Form?

Ich sehe zwei einfache Optionen:

1) Erstellen Sie einen völlig anderen Inhaltstyp für die Einreichung und verwenden Sie etwas wie Knoten Block

Mit diesem Modul können Sie Inhaltstypen als Block als Block angeben. Dadurch können den Inhaltsmanagern der Site den Blocktext bearbeiten und Titel, ohne auf die Seite der Blockadministration zuzugreifen. Benutzer benötigen nur den Zugriff auf diesen Knoten, um ihn zu bearbeiten.

, um die Einreichung über ein Bearbeitungsformular des endgültigen Inhalts anzuzeigen, sodass die Moderatoren einfach von oben auf dem Bildschirm auf den Boden kopieren und einfügen und dann Änderungen vornehmen, wie sie möchten

oder

2) Verwenden Sie Feldberechtigungen

Das Feld Berechtigungsmodul ermöglicht das Setzen von Site-Administratoren Berechtigungen für Feldebene, um Felder auf jeder Entität zu bearbeiten, anzuzeigen und zu erstellen.

Merkmale

Aktivieren Sie Feldberechtigungen für jede Entität, nicht nur Knoten. Rollenbasis. Feldberechtigungen ermöglichen, dass verschiedene Ansicht gemustert sind, basierend auf was Zugriff auf den Benutzer hat. Berechtigungen der Autorenebene ermöglichen das Betrachten und Bearbeitung von Feldern basierend darauf, wer der Entitätsbesitzer ist. Berechtigungen für Jedes Feld ist standardmäßig nicht aktiviert. Stattdessen können Administratoren Aktivieren Sie diese Berechtigungen explizit für die Felder, in denen diese Funktion angezeigt wird ist erforderlich.

und beschränken Sie die Ansicht und Bearbeiten der Felder, auf die nicht anonyme Benutzer zugreifen möchten.

Soweit Sie dann ein Flag-System erstellen können: Ein boolescher Wert Nur Moderatoren können (erneut mit den Feldberechtigungen) sehen und ändern (erneut mit den Feldberechtigungen), die das System mitzuteilen, ob die Einreichung akzeptiert wurde oder nicht (für den Inhaltstyp)

Mit dem Flag-System können Sie Ansichten

verwenden

Sie benötigen Ansichten, wenn

Sie mögen die Standardansicht der Vorderseite, aber Sie möchten, dass Sie es sortieren möchten anders. Sie mögen die Standardansicht von Taxonomie / Term, aber Sie finden Sie will es anders sortieren; Beispielsweise alphabetisch. Sie verwenden / Tracker, aber Sie möchten es auf Beiträge eines bestimmten Typs einschränken. Sie Wie die Idee des "Artikel-Moduls, aber es zeigt keine Artikel an wie du willst. Sie möchten einen Weg, um einen Block mit den 5 am meisten anzuzeigen letzte Beiträge eines bestimmten Typs. Sie möchten "ungelesen zu geben Forum Beiträge '. Sie möchten ein monatliches Archiv ähnlich dem typischen Bewegliche Typ- / WordPress-Archive, die einen Link zum in der Form des "Monat, yyyy (x)", wobei x die Anzahl der Beiträge in diesem Monat ist, und zeigt sie in einem Block an. Die Links führen zu einer einfachen Liste von Beiträgen für diesen Monat.

, um eine Liste der ausstehenden Anträge an Moderatoren anzuzeigen, basierend auf dem Flag-Wert

Für die anonyme Inhalts-Erstellung möchten Sie sich in irgendeiner Form von Spam-Steuerelemente ansehen, sei es CAPTCHA, oder das Formular-Edit-Timing - aber es gibt viele Ressourcen zur Bestimmung, was am besten für Ihre Situation an anderer Stelle ist.

Für Drupal 8 haben wir Subtonode entwickelt ( https://github.com/owenmorrill/subonode ) Um eine Webform-Einreichung an einen Knoten eines bestimmten Inhaltstyps zu drücken (unsere war "Bulletin").

Berechtigungen sind so, dass wir den Einsendern nicht dazu bringen können, ihre Beiträge zu diesem Zeitpunkt zu bearbeiten.Sobald der Knoten mit Subtonode erstellt wurde, haben anonyme Benutzer keinen Backend / Bearbeitungszugriff darauf.

Sie können ein Anonymous_Posting-Modul verwenden https://www.drupal.org/project/anonymous_posting

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit drupal.stackexchange
scroll top