Drupal 8 Development Retrospective
A timeline and retrospective from a core contributor 2011 2016 Drupal 7, Gates & Initiatives
• DrupalCon Chicago 2011, Drupal 8 development starts immediately.
• Dries discusses “gates” and initiatives to lead Drupal 8 development to improve quality and release management.
• Initiatives include: Web Services, HTML5, UUID, and CMI
• Followed by Multilingual, Scotch and Spark. 2011 2016
• PostgreSQL had critical bugs in 2010 during Drupal 7 RC1. Promised myself to be involved earlier in Drupal 8 development.
• Woo! Drupal 7 is released, let’s go build some sites!
• Entity API
• Organic Groups
• Views 2011 2012 2016
Symfony2 Adopted and Code Freeze Announced
• DrupalCon Denver 2012:
• Symfony2 adopted.
• DrupalCon Munich 2012:
• Code Slush and Code Freeze announced.
• Moshe presents Migrate as an alternative to Upgrade Path at core conversation. 2011 2012 2016
• Began learning about Drupal 8.
• Worked with Web Services initiative to bring Serializer and serialization module into Drupal 8.
• Skeptical of Moshe’s Migrate proposal.
• Took code freeze seriously:
• Began porting contributed modules.
• Began PostgreSQL bug fixes. 2011 2013 2016 Migrate adopted, Backdrop announced
• Migrate is adopted as a new initiative.
• Plugin API is rewritten again.
• Some grow frustrated at the new OOP architecture.
• Backdrop announced as alternative to compete in the smaller markets. Start dropping features from Drupal 8. 2011 2013 2016
• Became a mentor at DrupalCon Portland 2013.
• PostgreSQL driver development
• Blocked on a single issue for 9 months. 2011 2014 2016 Plugin, Performance, and Testing
• Plugin API refactored again.
• Configuration returns to database, but CMI still utilizes YAML for import/export.
• DrupalCI initiative kicks into gear to improve drupal.org testing infrastructure.
• Backdrop 1.0 release. 2011 2014 2016
• Made my pitch for PostgreSQL at DrupalCon Amsterdam 2014.
• Joined up with DrupalCI Initiative as a way to be able to test patches in PostgreSQL instead of upload & pray. 2011 2015 2016 Drupal 8 Final Development Push
• PHP version requirement increment
• Update to newer Symfony 2 and other dependencies.
• Good Code initiative started to utilize PHP features such as assert
• Release Candidate 1
• Backdrop 1.1 released. 2011 2015 2016
• Fixed PostgreSQL driver with bzrudi71, stefan_r, and daffie using an external drupalci test bot.
• DrupalCI initiative goes live on drupal.org.
• My contributed modules lag behind for Drupal 7 maintenance because I’m too focused on Drupal 8 development. Retrospective
• Initiatives: Were they successful?
• Discussion as to whether leads felt empowered or not.
• WSCII went well, but Crell felt like he could not make decisions.
• Multilingual went well and Gabor felt like he could and did make decisions.
• Clearer guidelines established and make it easier for feature development to be worked on in parallel to bug fixes. Retrospective
• Symfony 2 Adoption: Was it worth it?
• There was too much in Drupal to change.
• And work is not complete. We need to focus on continuing to improve code quality as we shift to a more modern architecture. Retrospective
• Symfony 2 Adoption: Was it worth it?
• There was too much in Drupal to change.
• And work is not complete. We need to focus on continuing to improve code quality as we shift to a more modern architecture. Retrospective
• Code freeze announcement was meaningless in 2012.
• Could we have done a better job at sticking to dates?
• Or was Drupal 8 ready when it was ready?
• Scale back the feature creep with minor version updates in development of Drupal 8.x.0 and Drupal 9.y.0. Retrospective
• Anyone remember “small core”?
• Providing a great CMS out-of-the-box for people to create and build web sites is the goal.
• Josh Koenig: But is the “iron price” of Drupal too high for simple web sites?
• Me: We must focus on reducing the burden of site maintenance and improve education for making Drupal more accessible for people who want to build a site, not a blog. Retrospective
• PostgreSQL
• SQL Server driver still exists in contrib and is able to influence core, but not enough to block release candidate.
• JSON Field module exists to leverage PostgreSQL 9.2-9.4 native JSON.
• We now have testing infrastructure and system that can test any database driver with docker containers.
• Still things to improve about the driver, sacrifices made. Retrospective
• Composer
• Will be a nightmare for site builders or those who are not familiar with development practices.
• Moving Drupal (and eventually contrib) to use semantic versioning. Retrospective
• Migrate
• I was correct. We face the same problems in Upgrade Path as we do Migrate out in the wild.
• But Migrate does a better job and is flexible to handle many different “upgrade” situations.
• It works fairly well. Retrospective
• I am excited to build Drupal 8 web sites leveraging modern PHP and JavaScript dependencies.
• PostgreSQL 9.4 is amazing and I want to leverage it to store entities objects in JSON with Serializer.
• Configuration Management is going to rock.
• WOOOOOO LET’S BUILD SOME DRUPAL 8 SITES!
• Wait, this seems like deja vu…