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 , 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…