GSoC 2018 - Week - 9

Ankit Jain
Ankit Jain DevOps Engineer @Razorpay | CommunityBridge Mentee @Keptn | @Drupal GSoC Alum | #GitHubCampusExpert Alum | GCI & GSoC'19 Mentor @Drupal | Speaker | Writer

GSoC 2018 - Week - 9

You can know more about my last week work in this blog post - Week 8. This blog post is for Week - 9. GSoC (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.


Some of the tasks accomplished in this week are-

  • Default configuration for Amazon Scraper is completed and under review. Scraper API is using Feeds module along with Feeds_ex and feeds_advance_crawler module and it will be difficult for anyone to set up the configuration for scraping so amazon plugin will come up with default configuration plugin which provides the one feed-type configured for scraping data from Amazon. Default configuration is provided as a module under the Affiliates Connect Amazon Plugin. Uninstalling the module won’t remove the configuration and it is recommended to uninstall the default configuration module to improve the performance. Link to the issue - #2983176

  • Native API for the Affiliates Connect Flipkart Plugin is completed and under review. Flipkart Plugin allows a user to import the 500 products from the 53 Categories. A user can import products from selected categories too. Products Import is implemented through Batch processing so request won’t suffer timeout issues. Link to the issue - #2984461

  • Native API for the Affiliates Connect Amazon Plugin is also completed and under review. Amazon Plugin allows a user to search for products through ASIN (Amazon Standard Identification Number) which is unique for every product and allows him to import the product data to his site database too.

  • Along with the Search through ASIN, a user can also search the products through keywords from categories according to Locale. Amazon is currently available in these Countries (Brazil, Canada, China, Spain, France, Germany, India, Italy, Japan, Mexico, United Kingdom, United States) so Product Advertising API allows importing of the products on the basis of locale. A user can also import all the search products to his site database by configuring the setting from the Plugin Setting page. Settings allow a user to update the product’s metadata if the product exists already in the site else create the new product entry. Link to the patch - #2979372

  • Some of the issues resolved along with the major issues including the restructuring of Product entity routes and form fields, Added the PluginBase class and methods in the Product’s entity. Link to the patches - #2984462, #2984980, #2982833

Week 9 - Goals

  • This week, I will work on the Native API of the Ebay, Ebay Product Advertising API doesn’t allow a user to import the products similar to Amazon so, I will implement the Search for the Products feature and import search products to the site database.

-  I will also work on Cloaking feature. Cloaking affiliates URL hides the display of a user’s affiliates-id. In Cloaking, we provide the custom link in-place of every valid link which redirects the user to a valid URL through the database querying for the appropriate link. In this way, we can also count the number of valid clicks.


  • Ebay Native API is similar to Amazon but I am finding Ebay documentation for Product Advertising API hard so it’s a little tough but it’s not impossible. Along with it, There are some tasks in Amazon native API that is still left, Like the import of Search products are facing the Request Throttling issue. Amazon sends only 10 products per request and Each Search Keyword has around 50,000+ products, It means 5,000 pages => 5,000 requests. So it is suffering through Request Throttling. Even providing the gap of 5 sec between two requests isn’t helping out.  It will be a great help if someone has a better solution to the throttling issue.
comments powered by Disqus