GSoC 2017 | Week 12: Port Vote Up/Down

With the end of summer, marks the end of the amazing Google Summer of Code 2017.
Past this 12 weeks journey with hundreds of hours of code, reading documentations and the community experience.
It has been, indeed, an enriching open source experience for me.

As I have always tried to introduce a little about the project and my mentors in the blog posts. I'd like to thank both Drupal and my Mentor, Marvil Villegas, for giving me this opportunity. Special thanks to Slurpee for becoming my mentor at the beginning of the programme, giving me a chance to work, despite not having a mentor. 

My project is: "Port Vote Up/Down module to Drupal 8"

The final week and my project is ready to go to user's hands and get community reviews.

In this blog post, I'll be briefly explaining what I did for the past 12 weeks and the procedure for the installation of this module.


Porting Vote Up/Down 

  • The very first thing that was done in this project was to create custom plugins. Drupal 8 is packed with Plugin API which provides the functionality for the creation of custom plugins for user's use. Here, the main task was to create 5 plugins corresponding to D7 version's widgets which were dependent on CTools.
  • Next on, Ajax implementation was required. It was also done using cTools in the D7 version of the module. 
  • Then the custom Field type to display the custom plugins was to be made. 
  • Lastly, votingAPI integration and some tweaks for the UI and the backend were made.

Moving forward, let's discuss the instructions for the installation and setup.


Installation and Setup

  1. Download the module from here
  2. Put it into the site's modules or upload the zip file to your server.
  3. Click on extend from the admin menu on the top. 
  4. Scroll down to Voting section and enable VotingAPI and Vote Up/Down both the modules.
  5. Go to structure from the top admin menu.
  6. To setup up the module for articles or pages, go to 'Content Type' and select either of them. If you want to configure for comments or taxonomy, then select their respective tabs from the menu.
  7. Click on Manage Fields from the right drop-down menu.
  8. Click on Add Field.
  9. Select "Vote up down field" from the drop-down and type the desired field tag. 
  10. Click 'Save and continue'.
  11. On the next screen, select the theme of the widget you want to use and click save.
  12. Optional. You can add help text for fellow developers.
  13. Voila! We are done.



The project is almost done. It is functional and ready to be tested. Though there are some changes to be made to the code but those will be minor ones. The code can be found here

Thanks for reading.