GSoC'19 Coding Period Week #5

GSoC'19 Coding Period Week #5

In this week the First Evaluation of GSoC has been taken place and I have cleared it. Thanks to my mentors for always guiding me and Drupal community for helping me in all aspects.


About Google Summer of Code

Google Summer of Code is a global program focused on bringing more student developers into open source software development. Students work with an open source organization on a 3-month programming project during their break from school.


First Evaluation

The 4-week journey of Coding Period of Google Summer of Code was full of challenges but after all, I am glad that I got the chance to work for another 4 weeks in Google Summer of Code.


I'll try my best to improve my blogging skills by adding more details, be more responsible to solve all huddles without blaming the cause and to have better research by understanding more technologies.

I'm happy that my mentors have a great look over my activities and let me know my mistake so that I can improve and be a great coder.


Goals of Second Evaluation

Now my goal till second evaluation is to complete Google Docs Plugin in Collaborative Editors module and Google Docs add-on.

The Google Docs Drupal Plugin will be responsible to receive data through REST API and respond by JSON data. And Google Docs Add-On will use these REST API routes to connect with Drupal and Publish and/or Update the content of Google Docs Document in Drupal.

Also, I need to complete the PHP Unit Test of Etherpad Plugin and add all the Tests for Google Docs Plugin.

And I'm also expecting that I may get time to start some of the work of Microsoft Office 365 Word Add-In.


Project Abstract

My project is "Collaborative Editors" which provide a plugin for various Real-Time Collaborative Editors. It also allows integration of those Real-Time Collaborative Editors.


Previous Progress

Completed Etherpad plugin which allows integration of Etherpad in Drupal 8. Find more in this video.


Week 5 Progress

First of all, I started with directory and file structure for Google Docs Drupal Plugin.

Directory structure


It will let the CollaborativeNetwork Plugin manager detect Google Docs Plugin and list it.



Added Configuration form for Google Docs Plugin which allows the site administrator to generate random API Key for Google Docs Plugin's REST API routes, and also to save it using Drupal's Configuration API.

Config Form


Also, I have initiated the development for Google Docs Add-On using Google App Script. It currently allows the user to add Drupal site, validate it using the test_connection route of Google Docs Drupal Plugin and in case of successful validation save it in Google's User Properties.



I have tested it by using Ngrok to host my local copy of Drupal.

success message


Also coded a PHP Unit Test to check the presence of Google Docs Drupal Plugin.

PHP Unit Test


What I have learned in this week

In this week I have learned the various concept of Google Add-On and Google App Script which includes the following:-

  1. To Add menu item in Google Docs
  2. To open an HTML file on click of button or menu item
  3. To add jQuery in Google Add-On
  4. To use CSS for Google Add-On
  5. To pass data from HTML sidebar to Google App Script
  6. To make AJAX GET call from Google App Script



In this week I faced the following difficulties:-

  1. In coding, we need to debug the value of variable time-to-time. But initially, it was challenging for me to know where I can print the value. Then I came to know that Google App Script have a separate Logger class which prints data in Google Project Logs
  2. In Google Add-On we need to use jQuery and Google App Script. Initially, I was making AJAX call using jQuery but it was not working then I searched and found that in Google Add-On we can make AJAX call through Google App Script only.
  3. It was a challenge to save the Drupal's site details in Google Docs Add-On.