Mentoring Google’s Summer of Code Students in Drupal 8

At CivicActions, we promote free and open source software. The Google Summer of Code initiative presents an opportunity to help create new participants and enhance the free software produced by open source development communities. As such, I have agreed to serve as a mentor for several Drupal-based projects.

There are currently 39 Drupal proposals from students, I have reviewed six submissions from students in India and Pakistan, and will be serving as a mentor for projects #23 and #31. Both projects are building Drupal 8 modules, which I have been doing for over two years, including Password Policy, Password Strength, Taxonomy Menu, Key, Encrypt, Field Encrypt, Services, TFA, Multiselect, and many others. I felt I was in a good position to help steer these students development efforts.

Project #23 is an effort to port the Google Authenticator Login module, for two-factor authentication, to Drupal 8. Original discussions focused on doing a direct D7 port, which was an approach mentioned within the module port issue ( However, this approach would require duplication of the TFA module’s sponsored code around two-factor operations. Leveraging TFA as a dependency and writing a plugin for Google Authenticator is more simple and helps abstract the general purpose operations within a module that can serve other two factor authentication use cases as well.

Project #31 is a new module that focused on furthering data-at-rest security by applying ownCloud’s encryption scheme within Drupal. This scheme manages asset-level encryption by a sharing keys between users and assets. Data is then encrypted for assets with user-specific credentials. While this presents many practical challenges (performance mainly), the project is an intriguing use case for the APIs I built for Key, Encrypt, and Field Encrypt modules.

I’m excited at the prospect of working with any of the selected students sponsored by Google. I look forward to providing the students true hands-on, practical experience working within an open source community. My desire is to collaborate on problem solving and help teach effective development methodologies and architectural considerations. This is an incredible way to give back and build future leaders that could have amazing impact. At CivicActions, it’s opportunities like these that we believe help better the world.

2017-03-31T06:19:54+00:00 Categories: Drupal, Drupal 8, Security|Tags: |

About the Author:

*Adam left CivicActions in 2017.

Adam joined CivicActions as Associate Director of Engineering in 2015, bringing experience in technical architecture and a passion for helping people work together at top-notch productivity. A mentor and team player to the core, Adam participates in the open source Drupal community and views projects as opportunities for teams to grow and shine.

Adam has led development efforts rebranding a national telecommunication company website, integrating the systems of a financial services firm into a modern web solution, and implementing a headless content management system for an international retailer’s e-commerce system. He led development efforts on the redesign of Penn State’s World Campus website, promoting online educational offerings that improve access for non-traditional learners like single parents and members of the military. At CivicActions, he is currently working on a website rebranding project for a government agency.

Adam comes to CivicActions from Acquia, where he served as a Technical Architect. He spent many years in higher education at Penn State University, where he served as a team lead, developer, faculty member, researcher, and graduate student. He advocates for the trifecta: thoughtfully crafted technology, people-focused solutions, and the power of ongoing learning.

Adam has been researching Drupal 8 and gives back to the community through porting of contributed modules, like Taxonomy Menu and Password Policy. His book-in-progress, “Problem Solving in Drupal 8,” is intended to introduce Drupal 8 strategies to those familiar with conventional web problems. Additionally, he is researching and developing a tool to oversee DevOps for Drupal projects. He loves speaking about what he has learned and can often be found presenting at Drupal Camps and DrupalCons. Adam serves on the IT Board of Juniata College.

Adam holds a masters degree in Computer Science / Information Security from Penn State University and a bachelor degree in Computer Science from Juniata College. He lives in a small town in Pennsylvania where he enjoys seeking out great food and drink, especially craft beer. His life is enriched by his wife, two daughters, and a dog.