Contributions to Silverstripe CMS

Contributed nearly a thousand pull requests and collaborated with hundreds of community members on the many repos making up Silverstripe CMS (PHP and Javascript) since 2005 until today. Silverstripe is a product of over a hundred individual repos, and my contributions are scattered among them (see my github.com/silverstripe contribution timeline).

There were a few major areas of focus over the years for myself, with the help of many open source contributors:

  • In the late 2000s, we laid the foundations of a PHP MVC framework, with a specific focus on unit and automation testing. I’ve also written a book about it.
  • In the early 2010s, we built a reasonably cutting edge (for the time!) CMS UI layer on top of jQuery and Entwine, with a PJAX view layer that’s quite similar to Hotwire today (without the websocket goodness)
  • In the mid 2010s, we refactored parts of the CMS UI to React, Redux and GraphQL (with Apollo Client and a custom React component dependency injection layer) - see commits in asset-admin and commits in cms. This coincided with a lot of careful architecture/management and complex API changes around the Silverstripe 4 major release. My contribution has often been writing RFCs, driving consensus, and ensuring the implementation is useful for both developers and end users (e.g. around a new asset abstraction layer)
  • In the late 2010s, we’ve focused on security processes, incl. architecting a Multi Factor Authentication integration and rolling it out to dozens of government agencies. The focus of this time was shaping the system into an enterprise-grade product suitable for many larger customers (both private sector and government).
  • I’ve been an early advocate for Headless CMS since giving a talk about all the shiny toys in 2017. My work included the first PoC module for a GraphQL integration into the CMS, and collaborating with the amazing @unclecheese on the module since then (see commits)