WebPurify is a web service that efficiently filters profanity in any type of content and simplifies site moderation.
Profanity list updates automatically and includes obscenities in 15 languages. Moreover, users can create their own white- or black lists to allow certain words or block others.

About the project

Goals

Developing upgrade plan, we and WebPurify pursued the following goals:

  • Make the module as user friendly for Drupal developers and site owners as possible.
  • Strengthen WebPurify’s position on the Drupal market.
  • Have quality integration with Drupal that will make the service easier to use and attract new clients.
  • Broaden service’s use cases for existing clients.
  • Port the module to Drupal 8.

Objectives

Together with WebPurify we created a list of objectives while analysing the service itself, the existing module and similar modules/
Step 1 Debugging
- Debug the existing module on Drupal 7
Step 2 Porting to Drupal 8
- Design and develop a module for Drupal 8
Step 3 Upgrades
- Integration with Forum module (in the core) to filter forum entries content.
- Integration with Advanced Forum module (25k active usages) to filter forum entries content.
- Integration with Profile module to filter user specified profile data and images.
- Integration with Media module (300k active installations) to filter images and video.
- Integration with Assets module to filter images and video.

Stages

Development consisted of the following stages:

  1. Analysing the existing Drupal 7 module.
  2. Fixing the known bugs and issues.
  3. Fixing the bugs and issues we found as the result of the analysis.
  4. Investigating the similar modules and WebPurify service.
  5. Designing the Drupal 8 module.
  6. Developing effective integration strategy with existing Drupal modules.
  7. Developing the first version of Drupal 8 module with key functionality.
  8. Contributing the first version of Drupal 8 module to drupal.org.
  9. Improving D8 module functionality so that it is identical to D7 one.
  10. Reviewing and editing of technical documentation.

Outcome

Summary

Now WebPurify module can be flexibly incorporated into the architecture of any Drupal site. It’s easy to use for developers and site owners alike, and it fastens and simplifies plugging in the service.

Currently, we are at step 3 of our plan. We are working on making the module deliver the full functionality of WebPurify service. We hope this will allow us to increase the number of downloads and installs, and also bring new users to WebPurify excellent product.

Why Drupal was chosen

We use Drupal for website development for 7 years. We are one of the biggest and most experienced teams of Drupal developers in the world.

One of our clients needed automatic content moderation functionality. After having done some research, we decided to choose WebPurify. They already had a Drupal module, but it required some tweaking. Having debugged it, we decided to take a step further and contacted WebPurify with the proposal to cooperate on developing, improving, and updating it to Drupal 8.

WebPurify well understood the necessity to have quality integration with Drupal as one of the top CMS. Besides the module had good download count but not so many installs. WebPurify could have had many potential new clients since the module availability interested many but some shortcomings of the module prevented them from working further with the service. That’s why WebPurify shared our enthusiasm to update the module and together we prepared a task list for the further work. Now with the help of our module Drupal developers and site owners can fully appreciate the convenience that WebPurify service brings.

Technical Specifications

Key modules/theme/distribution used:

Why these modules/theme/distribution were chosen

WebPurify already had a Drupal module, but it required some tweaking. Having debugged it, we decided to take a step further and contacted WebPurify with the proposal to cooperate on developing, improving, and updating it to Drupal 8.