Public Lab: Spam Management Dashboard

Hello Everyone,
I am Keshav Sethi GSoC student at Public Lab (DIAL). I have been working at Public Lab for past two months i.e May and June. May was the community bonding period and June was the official coding Period. At Public Lab, I have been working on the Spam Management Dashboard. This project focuses on the improvement of the Spam management dashboard (alternate spam Url) and makes the user interface much more refined so that it becomes easier for moderators to approve or mark some posts as spam. This will consist of core features like Bulk moderation, Daily/weekly digest, advanced tables, flagged comments/posts review, My queue review, moderation rules revisions, and other relevant information, finding old inactive accounts/spam and removing them and better automatic way of spam detection, Insight section, and better UI. All these features will make moderation easier and faster for moderators and improve the quality of the content at Public Lab.

For Past few weeks, I have been blogging my progress at you can find all my blogs at

This is link to my planning issue

This is the list of blogs of past month i.e JUNE

This is Screenshot of the latest version of spam Managemen dashboard

I will add write future blogs here as well

Community Bonding -> Week 3 Spam management Dashboard

I have updated and planned some of my milestones in the planning issue and added a few more tasks to make it more refined and clear.

Link to my planning issue:

I have started working on it and initiated this from UI improvements and then moved to bulk moderation features like bulk publish and bulk spam.

I have added all the features of the current spam management dashboard and made a PR for this.

Link to UI PR:

Link to that issue:

Next week I have planned to complete UI and make it responsive along with bulk moderation features and tests. I have also planned to start Digest this week.

Please comment below for any reviews and suggestions.

Thank you!!

Week 5 (coding Period Week-1)@Spam Management Dashboard

Last week I worked on three major milestones of my project( spam management dashboard ):


1: New UI for the dashboard

2: Bulk moderation features

3: Digest for unmoderated posts

For UI I added Datatable gem and used Bootstrap for customizations. I have created an alternate URL for this i.e. spam2/. This will help reviews and moderators to see the changes and update it as per their requirements without hindering the current dashboard.

This dashboard has all the Bulk moderation features as mentioned in the top nav. Bulk Publish, bulk spam, bulk delete, select all toggle, bulk ban, and unban. For the ease of moderators, some basic filters of posts are also added like spammed and unpublished. It will filter out all the spammed and unmoderated posts form the total posts without making a separate request for it. It will also tell the count of each type of post as shown in the navbar. Page and Note filter is also there which is the same as others. Modal is also added to see the body of the post. It will help moderators to review the post well. Search and sort filters for each column is also added. There is also a separate side nav for further navigation like wiki, comments, and revisions.

After this, I also worked on Weekly and Daily Digest. It mail all the latest unmoderated posts in the given time range to both moderators and admins. I created a job for this which sends emails asynchronously. UI for digest is also made which is responsive as well. Their title, body, time some details of users are mentioned. I will add more features like settings etc later. Right now it is in the testing phase for this there is a button is spam/ to receive the latest daily unmoderated posts.

Next week I will add more filters in the dashboard and make some modifications in digest as well. I also need to write system tests for the dashboard and other tests for digest as well. Thanks to all the mentors and others for their reviews and suggestions. For any suggestions and reviews please comment here or in PRs.

Week 6 (coding Period Week-2)@Spam Management Dashboard

Hey Everyone :wave: Hope you all are fine :heart: This is my update for last week


Week 7 (coding Period Week-3)@Spam Management Dashboard

On week-7 (Coding week-3) I worked on some UI improvements as previous UI was creating some issues in and had a lot of CSS and design issues. Here I removed top nav and side nav and updated as shown in the following image.

You can find it in following PR

There were also few issues in system tests which I updated this week in this PR

I also worked on weekly Digest

Next week I will work on pagination and Digest settings of spam management Dashboard.

Week 8 (coding Period Week-4)@Spam Management Dashboard

This week(coding period week 4) I worked on a few filters on the Spam management dashboard and improved UI as well.

I have added a will_pagination gem on all the pages of the spam management dashboard for faster load. I have divided all the nodes into batches of 100 where a moderator can moderate 100 nodes at a time. This will reduce useless loading and improve moderation experience.

ezgif com-crop (3)

You can find this in following PR

Here You can find some new UI changes as well.

This week I also worked on Digest settings where moderators can choose digest timings from the notification settings page.

Screenshot from 2020-06-22 18-50-06


Next week I am planning to work on Queue and Flag posts. I will also work on some tests and UI for digests as well
You can find my overall progress at

and list of my major PRs at

Week 9 (coding Period Week-5) @ Spam Management Dashboard

Mentor: @jywarren


  • Worked on Flag Nodes at spam2/flags and added its bulk moderation features and filters.
  • Worked on Flag comments and integrated it with spam2
  • Submitted GSoC evaluation


  • work on system and functional Tests of flag nodes
  • bulk moderation features for flag comments and its tests
  • User moderation and queue

PR for this


1 Like

Week 10 (coding Period Week-6) @ Spam Management Dashboard

Past Week:

  • Finished Flag nodes and comments
  • Worked on system and functional tests for flag feature
  • Updated Dashboard and Digest UI
  • Resolved issues in Pagination, alerts and filters.

Week Ahead:

    1. Work on active user moderation and its tests
    1. Work on Queue and its tests
    1. Documenting features of Dashboard

:stop_sign: Current Blockers: NONE

Refer to following for details


Week 11 (coding Period Week-7)@Spam Management Dashboard

Last week I worked on following:

  • Finished User moderation Page and integrated it with the dashboard.
  • Completed Flag nodes and comments page and completed its unit and system tests.
  • Improved UI and added bulk moderation in user moderation.

Next week I am planning to work on:

  • Work on Queue and its tests.
  • Tests for user moderation and for overall dashboard.
  • Global search feature and filters for better moderation.

Week 12 (coding Period Week-8) @ Spam Management Dashboard

:ballot_box_with_check: Past Week:

  • Worked on Queue of Spam2 and added moderation features
  • Bulk moderation of comments and users
  • Functional tests of queue and comments

:black_square_button: Week Ahead:

  • Work on settings and insight page of spam2
  • Complete system and functional tests

:stop_sign: Current Blockers: None


Week 13 (coding Period Week-9) @ Spam Management Dashboard

:ballot_box_with_check: Past Week:

  • Worked on Insight Section of Spam2, added its graphs, charts, and stats.
  • Created some ftos

:black_square_button: Week Ahead:

  • write tests related to comments, user moderation, and stats.
  • write documentation related to spam2

:stop_sign: Current Blockers : None

1 Like

Week 14 (coding Period Week-10) @ Spam Management Dashboard

Mentor: @jywarren

:ballot_box_with_check: Past Week:

:black_square_button: Week Ahead:

  • work on remaining bugs and UI issues
  • Complete system and functional tests

:stop_sign: Current Blockers: NONE

Week 15 (coding Period Week-11) @ Spam Management Dashboard

Mentor: @jywarren

:ballot_box_with_check: Past Week:

  • Completed functional and system tests for the insight section.
  • Made some UI changes and improvements
  • Completed Documentation

:black_square_button: Week Ahead:

  • Complete evaluation
  • Get remaining PRs merged
  • Fix small errors and make final changes

:stop_sign: Current Blockers: NONE

1 Like