I am looking to have a custom module made to block users from viewing another users content. I run an open social Drupal 8 site and want the ability to allow users to block other users from viewing their content and profile.  This should be a two way block, if user A blocks user B.  User B should not be able to view any of user A's content or profile and user A should not be able to view user B's content or profile.  

Description

This module would allow users to block other users from viewing their content, media, and their profile.  This will also remove any current comments, likes, and private messages that either of the two users have made.  The module should achieve the following restrictions.

  • Neither user will be able to access the other user profile  (I use the Drupal 8 Profile Module)

  • Neither user will have access to the other users content. (Standard Nodes and Media Entities)

  • Neither user will be able to send the other user  private messages. (I use the Private Message Module)

  • Private messages between the two users will be archived

  • All comments and likes made on your profile will be removed and vise versa (Standard Drupal commenting system)


There should be two ways to block users.

Users should be able to add or remove users to this list on the settings page of their profile.  This is the primary location so you can see everyone you have blocked and remove anyone if needed. 

A link should be added to every users profile so when user A is viewing user B's profile they can click block user to add user B to their list of Blocked users.  After you click on the link you should be prompted to confirm that you want to block the user. Once you click Yes, you should be redirected to homepage as you should no longer beable to view that users profile.  You must then click  Block, or Cancel.

What happens when you block "Username_of_blocked_account"?

  • Neither user will be able to access the other user profile.

  • Neither user will have access to the other users content.

  • Neither user will be able to send the other user  private messages.

  • Private messages between the two users will be archived

  • All comments and likes "Username_of_blocked_account" made on your profile (feed, pictures, etc) will be removed and vise versa.


If you try to view a profile of a user you have blocked. You should see a message that you've blocked that user instead of viewing their profile


When you click unblock on a user you should be prompted with a message to to confirm you wish to unblock the user. 

What will happen when you unblock "USERNAME"?

  • They will be able to see your profile. 
  • You will be able to send each other private messages.

You should be familiar with the inter workings of Drupal.  This needs to be done in a way as to not cause a lot of overhead. We have thousands of users on our site and the speed of our site is very important.  This should be done in a way that utilized Drupal core code and not some Javascript workaround.  This also needs to be compatible with Drupal 9.  We are currently running Drupal 8.9 but will be upgrading to 9 this year.

Please let me know if you are interested in making this module? I would like a brief description of how you would achieve this functionality, a price estimate, and turn around time estimate?

This is one of 5 modules we are looking to have made. So there is potential for more work beyond this.

You can email me at mike@shamelessmedia.com 

Thank you!

Comments

Jaypan’s picture

Do you have a rough budget in mind? What you're looking for is interesting, but comes with a good degree of complexity, which then comes with a cost. Having an idea of the budget will make it easier for people/agencies to decide if it's worth the time to write the RFP.

Also, how should you be contacted? And usually there is a deadline for RFPs, do you have one for this?

Mike.Brawley’s picture

We really don't know how much it would cost, so we didn't put a $ amount for budget.  We have reached out to a number of companies to get some quotes to get an idea.  I would say in the $3,000-$5,000

You can email me at  mike@shamelessmedia.com 

Our deadline would be until we find a developer to finish the project.  

Jaypan’s picture

Thanks for the update! My first impression based on the specs is that your budget seems reasonable for the work you want done.