Sector(s)

Team Members

Visit the site

Visit the site

Organizations Involved

The website is similar to social media, where students and others upload content that is thought-provoking and trigger emotions. It serves as a platform to upload potential “propaganda”—and it offers a way for its users to rate and comment on each of them.

About the project

The website was a custom CMS built using Python and hence every part of the CMS was written by hand from scratch. The aim was to migrate this website to Drupal 8 as it offered great user experience for the administrators.

The Python-based custom CMS was not friendly at all when it comes to moderating comments and approving them for publishing on the website. This website is used by people from all over the world and anonymous users would be able to comment on the propaganda content that is posted to the website. Hence it is necessary to moderate the comments.

The Python CMS listed the page numbers at the top and users had to scroll up all the way to the top of the page to see the next page of comments in the admin backend. Also, it did not have a bulk select and approve or delete option. By migrating the website to Drupal, these problems were addressed.

The next challenge was with the migration of data from the custom database to Drupal 8’s database. We achieved this by writing custom scripts that match both database tables; we picked the data from Python’s database and put it into the appropriate tables in Drupal 8’s database.

It was also requested to make the website multilingual, as there were considerable amount of European users to the website. Drupal had this by default and it was very helpful; this site is now available in about 8 languages. Previously, the Python site used Google translate for converting the website into languages other than English, but it proved to be inaccurate in places. Now the translations are perfect with Drupal 8’s multilingual feature.

Why Drupal was chosen

Drupal was our preferred choice because the Media Education Lab website was already built in Drupal, and the client had good experience using Drupal. Another reason why we chose Drupal 8 was because of its built-in multilingual feature, which the new version of this website required.

Technical Specifications

Drupal version:

Why these modules/theme/distribution were chosen
  1. MULTILINGUAL (core module) - To make the website multi-lingual.
  2. Paragraphs - to create easy layout for different pages.
  3. Voting API - For the rating functionality
  4. Migration API (core module) - To migrate the content from Python website's database to Drupal 8's database.
  5. SMTP - To configure SMTP to send emails from the website
  6. Mimemail - To send emails from the website