2

I have a site, where the main purpose is the involvement of the public in their history. However, we all know some just don't want to register for a user profile with websites. In our case, there are some who would like to participate in tagging photograph nodes, without having to register.

So that is my question: how to allow anonymous users to tag photographs how they see fit, along with the obvious review process that would need to take place just in case? I've seen this feature on other sites, and have tried to contact the web admins, but have yet to hear back.

I know there is the module "Community Tags" and that works all fine and all but there are currently two problems I see with it (and if you know a solution that is staring me in the face, please let me know):

  1. The anonymous users are allowed to post, but there is no review.
  2. The tagging by the anonymous user does not sync at all with the only term reference field in the content type, so if I type one tag into one, it won't show up in the other. Both will post correctly to the list of taxonomy terms, but won't sync for the same page.

Any solution to my problem? Or maybe even an entirely better way of doing this altogether?

1
  • You should mention your Drupal version.
    – No Sssweat
    Commented Jul 6, 2016 at 7:43

1 Answer 1

2

You could use the Flag module, and allow it to be used by anonymous users also, as described in my answer to "How to display a flag to anonymous users?". Create a flag for each tag you want to allow for anonymous tagging, and assume you label such flag like "Tag with TagABC".

Use the Rules module to create 2 Rules Components:

  • a 1st Rules Component (say "Approve Tag suggestions") that performs 2 Rules Actions, and looks like so:

    • apply the tag TagABC
    • unflag it again (to remove the flag "Tag with TabABC").
  • a 2nd (similar) Rules Component (say "Reject Tag suggestions") to only unflag (=remove the flag "Tag with TabABC") anything that is considered as "rejected".

Use the Views Bulk Operations (VBO) module (which depends on the Views of course) to create a VBO list of anything flagged like "Tag with TagABC", and use this during your review process to mark (select) anything that was flagged and that should be considered as "approved" (similar approach later on for anything to be considered as "rejected"). The actual "operation" to be performed (by VBO) is to execute either of both Rules Components described above. For more details on how you can use VBO and Rules together, refer to my answer to "How Do i implement an alternative for the Privatemsg Bulkmail module?".

4 commonly used modules (which can be used for plenty of other use case), and some relatively easy site configuration to be performed. That's it.

Limitation: what is above does NOT support FREE tagging (= invent your own new tags) for anonymous users (which may lead to tons of tags, used only once). Maybe a compromise could be to have a link to "suggest your own tag", via some form shown on a block? Other idea (never tried): flags are fieldable, so add a select list field to an extra flag (say: "pick your flag"), and use the "Select (or other)" module to allow such additional tag to be suggested.

4
  • I'm not sure that would be sufficient, though might be a good start. OP says "to allow anonymous users to tag photographs how they see fit" which suggests that users should be able to add their own custom tags (which will then be reviewed by admins). Commented Jul 6, 2016 at 11:37
  • I think the OP is suggesting they want free tagging, and that is why it will need the review feature (I presume they expect the huge amount of spam that will involve). You last fielded flag option seems like it might work very well. Commented Jul 6, 2016 at 12:03
  • @MarkConroy : check my updated answer (the limitation I added ...). Commented Jul 6, 2016 at 12:10
  • 1
    looks like a nice answer. Commented Jul 6, 2016 at 12:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.