First Look at Backdrop CMS
Backdrop is a fork of Drupal, which in the open-source web development world means that a team of developers has branched off from the core development of Drupal and have taken it a different direction. I’m not sure if it really seemed likely that the Backdrop project would actually reach a first release, but it has, so it is time to give it a look and see what it has to offer.
The Business Case for Forking Drupal
While rumors were circulating shortly before, Backdrop was officially announced almost two years ago, with follow-up supporting articles publishing later. The business case for forking Drupal, against the wishes of some of the biggest luminaries in the Drupal community, can be paraphrased concisely as such:
That with Drupal 8, the core design paradigm was shifting its focus and development patterns to be more closely aligned to professional computer engineers.
And, a lot (possibly a majority) of the Drupal developer community are not computer engineers, but self-taught Drupal experts.
So, ultimately this shift in focus could discourage a sizeable portion of the Drupal community from contributing, and make working with Drupal less economical for a segment of vendors and clients.
Whether or not that business case turns out to be valid and necessary is not really the concern of this blog post, rather just looking at what the CMS has to offer. But I think it is useful to understand some of the context behind the reason for a solution’s existence.
Backdrop’s Home on the Web
You can find the home page for Backdrop CMS at https://backdropcms.org, with it’s stated focus front and center: “The comprehensive CMS for small to medium sized businesses and non-profits”. Owing to it’s unique position as being a fledgling fork of an open-source juggernaut like Drupal, the front page of the Backdrop website (as of this writing) is devoted almost entirely to establishing why it needs to exist. However, links for downloading and/or deploying the codebase to Pantheon are conveniently and intelligently featured prominently at the top.
A handbook or hierarchy of resource articles can also be found from the front page, including information on the underlying API’s and how to contribute code. The actual code-base itself can be found in the project’s code repository at GitHub, which to this date has over 20,000 commits to its name.
One of the things you notice right away, is that the presence is significantly less pervasive (understandably) than drupal.org, the home page of the core Drupal project. Drupal.org has a massive web-based community ecosystem of articles, discussions, groups, issue queues, and project pages, that to some degree are all interconnected and channel the energy of thousands of contributors and users.
It will be interesting to see how and where the community surrounding Backdrop CMS will grow, and what it’s presence will look like in the years to come.
Setting up Backdrop CMS
Installing Backdrop 1.0 - 1.1 will have a lot of familiarity to anybody who has worked with Drupal (rightly so), but right away you’ll notice some subtle changes that indicate the project is intended to do things differently.
One nice addition, that will also be in Drupal 8, is a core administration user experience that is themed for mobile or tablet responsiveness. While installing a CMS with your iPhone may not be a common use case, I’m sure many developers have experienced scenarios where they have needed to make website configuration changes at in-opportune moments, like while at a restaurant during the weekend.
The installation instructions seem to make assumptions here and there, rightly so I suppose since most of the initial users will be people coming from Drupal. There are slight changes though, like with the file structure, and what you need to do with the settings file is assuming you are already familiar with that process.
The most notable difference you’ll see during the installation or setup process for Backdrop, is the lack of Drush support or a tool of a similar nature. The work to make Drush compatible with Backdrop, or vice versa, is ongoing but not quite there yet. You can certainly do everything you need to do with installation or otherwise, without a tool like Drush, but it is funny to see how dependent some of have become on such a versatile and ubiquitous piece of Dev Ops framework.
Looking Ahead at the Backdrop Community
Overall, the initial user experience with the first release versions of Backdrop are nice, and it is clear that the intent to stay close to the Drupal 7 development paradigm and patterns is being maintained so far.
The next big test for Backdrop will be how well it builds up and supports a community surrounding the project. There are some tutorials out there on how to port your Drupal 7 modules to work with Backdrop, and guidelines on how to contribute code to the project, but I’m left wondering about the manner in which community and the necessary support systems will grow.
The massive infrastructure that Drupal is built upon is noticeably absent, and while Github is an excellent place to work on open source projects, the seemingly absent interconnectivity that is expected in such an environment seems like it may be a speed bump for Backdrop’s adoption. After all, building out your support and community infrastructure on top of another organization’s proprietary service will inherently limit your options - hence why Drupal’s drupal.org is homegrown and built to do and support what its community needs.
Ultimately though, if Backdrop serves a user and customer base that requires a special kind of software to meet their needs, then it will find a way to grow and evolve. After all, Drupal started the very same way.