Drupal 8 Development Retrospective
Total Page:16
File Type:pdf, Size:1020Kb
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….