Last updated by rachel_norfolk on Tue, 2021-03-16 12:56
Drupal was not selected to participate in Google Summer of Code 2021. Google shared with us that they had a large number of organization applications for 2021 and were only able to accept about half. In addition to the volume of applicants, Google sets a goal of bringing in at least 30 new organizations each year which means they have some groups take a year off every now and then.
The team at Google conveyed that they appreciate Drupal’s solid history with the program and encouraged us to apply again next year - which we plan to do!
While we would have loved to be included in 2021, we are pleased with and share the inclusive values demonstrated by bringing new organizations into the program. We view this as an opportunity to refine our approach to the program ahead of the next application cycle.
NOTE: Please preview this wiki before submitting the edit form. Some edits seem to break the wiki, so you MUST click on preview before hitting SAVE.
Welcome to Drupal's wiki organizing project ideas for Google's Summer of Code 2021. Please utilize this wiki to document project ideas and list yourself as a potential student or mentor. Find us on Slack at #drupal-google if you want to chat.
Edit this wiki and add your project ideas. If you want to mentor a task, add your name. If you DON'T want to be a mentor, leave the field blank as other mentors might be interested if a project is selected.
How to think of tasks?
- Drupal 9 is here! There is TONS work to be done!
- Review current projects being ported to Drupal 8 @ https://contribkanban.com/board/contrib_tracker
- Have a module you wish was ready for Drupal 8/9?
- Maintain a module and need help taking it to the next level?
- Have you ever said "Drupal can't do that?"
- Tasks from previous years/organizations are listed at legacy summer of code websites.
- Projects from previous Drupal GSoC: 2019, 2018, 2017, 2016, 2015, 2014, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005
Guidelines
Anyone with a drupal.org account is allowed to post ideas into this wiki. Even if the idea is basic or not complete, please add whatever you have. Additional mentors are available if project idea is accepted. Students are encouraged to contact the project author via their drupal.org contact page.
Information for Students
Read the GSoC Students Guide to get started.
Information for Mentors
GSoC Mentor Guide is best place to learn from a Google contest point of view. Feel free to comment in this group with any questions.
Copy/paste the template below to bottom of content in this wiki. Enter your idea and be careful with revisions as this may be a popular node to edit.
=================================
Project Name: NAME OF MODULE
Project Mentors: d.o user names to open contact
Project Difficulty: INTERMEDIATE/DIFFICULT
Project Skills/Prerequisite: STUFF LIKE PHP, SYMFONY, SQL, CMS
Project Description: DESCRIPTION OF PROJECT?/IDEA
Project Goal: WHAT IS PROJECT ACCOMPLISHING AND WHAT WILL BE THE FINAL DELIVERABLE?
Project Resources: This is place for student to find resources/links and direction on how to research the task. Example, is this a specific type of module related to Commerce in Drupal 8? Should the student join any groups on gdo, dig through mailing list archives, or search specific issue queues? If this is a module port, maybe you can list links of previous modules accomplishing similar functionality or structure.
=================================
Project Name: Improve Social API and create implementers
gvso ( https://www.drupal.org/u/gvso ), Slurpee ( https://www.drupal.org/u/slurpee )
Project Difficulty: INTERMEDIATE/DIFFICULT
Project Skills/Prerequisite: PHP, Drupal, API, Understanding how OAuth2 works
Project Description: The Social API harmonizes authentication with external services in Drupal, providing an extensible module that allows integration of modules for user authentication, autoposting, and any tasks that require authentication with external providers. A considerable chunk of the work has already been done by 2 previous GSoC students. However, we still have a few more things remaining in the roadmap.
Project Goal: The student will need to:
Basic Requirements
- Add unit testing to the existing Social API/Auth/Post and implementers.
- The APIs have changed a lot in the past and some implementers do no longer work. You need to update them.
- For each implementer, update existing documentation and create new docs where lacking
- Update current Social Post implementers and create at least 3 new ones.
Bonus Requirements
- The initial Social API project included Widgets, but it was discontinued mainly because there were not enough people working on its development. Part of your job is to research the viability of the project, and how it can be implemented if viable. This might also require you to start implementing your recommendations.
- We need to see how the management UI can be improved. For example, what happens if the site manager has 20 implementers installed? How to delete them easily? Can we provide different styles for the login block?
- Research and conduct user/penetration testing. Are there any potential security loopholes that have passed unnoticed? Is any implementer vulnerable to CSRF?
Project Resources: Social API project page: https://www.drupal.org/project/social_api Social Initiative drupal group: https://groups.drupal.org/social-initiative Social API examples: https://github.com/drupalsocialinitiative/social_api_examples
=================================
Project Name: Websockets (Ratchet)
Project Mentors: smccabe
Project Difficulty: Difficult
Project Skills/Prerequisite: PHP and some JS, websocket experience not required
Project Description: Expose Drupal API calls via websocket as an alternative to http connections to the API, good for when you need push/pull interactions. This can be great for chats, dashboards and other frequently updating items. We use a prototype example in Commerce POS for a live checkout display. The goal of this project would be to make a more generic framework module that can be a base for using websocket functionality for any use case. It will use the ratchet server as a backend.
Project Goal: A working prototype of a Drupal WebSocket framework with authentication, which can be tagged as an alpha release. If we get farther along that will be great, but this is an ambitious project.
Project Resources:
- Module placeholder: https://www.drupal.org/project/ratchet
- Working example: https://www.drupal.org/project/commerce_pos
- Other old partially done attempts: https://www.drupal.org/project/websocket and https://www.drupal.org/project/websockets
- WebSocket API Spec: https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API
- Ratchet PHP WebSocket Server: http://socketo.me/
- Related Blog Post: https://blog.acromedia.com/drupal-with-websockets-for-real-time-synced-d...
=================================
Project Name: Unomi
Project Mentors: Nick_vh
Project Difficulty: INTERMEDIATE/DIFFICULT
Project Skills/Prerequisite: PHP, JS, Cookies, GDPR, Tag Manager, Optional but useful: Elastic Search, Java
Project Description: Build out the ecosystem to make Drupal and Apache Unomi a great combination in order to deliver personalised experiences natively with Open Source.
Project Goal: Being able to set up Drupal 8 and Apache Unomi in an easy way so that Drupal can be configured to deliver personalised experiences out of the box using the segment system of Apache Unomi.
Primary goal would be to be able to create rules in Drupal itself so it becomes a self-sustaining ecosystem. Right now the solutions that are delivered by Dropsolid or Jahia don't offer an UI for Unomi in the CMS itself but expose them in a closed frontend.
Secondary goal would be to allow Apache Unomi to work as Consent Management and be able to see the whole content of your profile in Drupal to deliver extreme transparency in function of the GDPR law..
Project Resources:
- Module: https://www.drupal.org/project/unomi -> The base module already exists. Needs a lot of work to work out of the box and is missing documentation + plugins with most of the ecosystem in Drupal, eg Views, Rules, Commerce, etc...
- PHP Library: https://gitlab.com/dropsolid/unomi-sdk-php -> The PHP library only supports segments of Apache Unomi for now.
- JS Library: https://www.npmjs.com/package/unomi-sdk-node -> The JS library supports many endpoints of Apache Unomi
- General Apache Unomi Documentation: https://unomi.apache.org/
=================================
Project Name: Affiliates Connect
Project Mentors: ankitjain28may, thedrupalkid
Project Difficulty: INTERMEDIATE
Project Skills/Prerequisite: PHP, Javascript, Node.js, Docker
Project Description: "Affiliates Connect" module provides an interface to easily integrate with various affiliate APIs or product advertising APIs provided by different eCommerce platforms like Flipkart, Amazon, eBay etc to fetch data easily from their stores and display those to monetize your website by advertising their products.
The module allows the developers to extend its functionality by providing different plugins to it. e.g affiliates_connect_amazon helps a publisher to integrate Amazon product advertising API with Drupal. Similarly, affiliates_connect_flipkart helps to integrate with Flipkart product advertising API. Apart from it, the module will be providing a fallback scraper API to fetch data in case there is no API provided by an eCommerce site.
Project Goal: Help completing Affiliates Connect module. There are a lot of features that have been added but not merged, test them out and make them merged in the module. Lots of moving components like Affiliates Connect Flipkart, eBay, Amazon, Scraper API and lot, Fix them so everything can work. Add some new features as well as the rotation of IPs while scraping data, analytics graphs and all.
Deliver a stable version of the module with all features merged for Drupal 8 + Documentation and Distribution
Project Resources:
- Module: https://www.drupal.org/project/affiliates_connect -> The base module already exists with Amazon plugin
- Affiliates Connect Flipkart: https://www.drupal.org/project/affiliates_connect_flipkart
- Affiliates Connect Ebay: https://www.drupal.org/project/affiliates_connect_ebay
- Feeds Advance Crawler: https://www.drupal.org/project/feeds_advance_crawler
=================================
Project Name: NAME OF MODULE
Project Mentors: d.o user names to open contact
Project Difficulty: INTERMEDIATE/DIFFICULT
Project Skills/Prerequisite: STUFF LIKE PHP, SYMFONY, SQL, CMS
Project Description: DESCRIPTION OF PROJECT?/IDEA
Project Goal: WHAT IS PROJECT ACCOMPLISHING AND WHAT WILL BE THE FINAL DELIVERABLE?
Project Resources: This is place for student to find resources/links and direction on how to research the task. Example, is this a specific type of module related to Commerce in Drupal 8? Should the student join any groups on gdo, dig through mailing list archives, or search specific issue queues? If this is a module port, maybe you can list links of previous modules accomplishing similar functionality or structure.
=================================
Project Name: NAME OF MODULE
Project Mentors: d.o user names to open contact
Project Difficulty: INTERMEDIATE/DIFFICULT
Project Skills/Prerequisite: STUFF LIKE PHP, SYMFONY, SQL, CMS
Project Description: DESCRIPTION OF PROJECT?/IDEA
Project Goal: WHAT IS PROJECT ACCOMPLISHING AND WHAT WILL BE THE FINAL DELIVERABLE?
Project Resources: This is place for student to find resources/links and direction on how to research the task. Example, is this a specific type of module related to Commerce in Drupal 8? Should the student join any groups on gdo, dig through mailing list archives, or search specific issue queues? If this is a module port, maybe you can list links of previous modules accomplishing similar functionality or structure.
=================================
Project Name: NAME OF MODULE
Project Mentors: d.o user names to open contact
Project Difficulty: INTERMEDIATE/DIFFICULT
Project Skills/Prerequisite: STUFF LIKE PHP, SYMFONY, SQL, CMS
Project Description: DESCRIPTION OF PROJECT?/IDEA
Project Goal: WHAT IS PROJECT ACCOMPLISHING AND WHAT WILL BE THE FINAL DELIVERABLE?
Project Resources: This is place for student to find resources/links and direction on how to research the task. Example, is this a specific type of module related to Commerce in Drupal 8? Should the student join any groups on gdo, dig through mailing list archives, or search specific issue queues? If this is a module port, maybe you can list links of previous modules accomplishing similar functionality or structure.
=================================