Revisiting Backdrop CMS (a fork of Drupal 7)

The last time i spent installing and testing BackdropCMS was probably about 5 years ago when the first version was released. Since then i kind of forgotten about it due to continuing building sites with Drupal 7 and recently learning and building a couple of Drupal 8 sites.

So how did i end up revisiting BackdropCMS again. I recently came across an article by Jeff Geerling: Did breaking backwards compatibility kill Drupal? it took me back to the time when the Drupal community was going through a heated debate (but Acquia always had the final say). It was a time when most of the core team members decided it needed to 'get off the island', meaning it was time to make it part of the wider PHP ecosystem and not confine it to the 'Drupal way' in hopes it help to attract more PHP developers.

This resulted in the major version - Drupal 8, a complete rewrite from the ground up of Drupal to add Symfony PHP framework. This also meant moving away from Procedural coding and adopting Object Oriented coding. Basically, a whole new system with the Drupal brand and concepts on top of it and completely breaks backward compatibility. The changes were so drastic, it led to a few core members being upset with the direction the Drupal project was going and so decided to fork Drupal 7 and named it 'BackdropCMS' (or just 'Backdrop' for short).

So here we are today. Drupal continues to strive in the enterprise market as a niche product. As for Backdrop, has it taken up any traction yet? I am not quite sure as i have not been following Backdrop project since its inception. 

What is the reason that i am revisiting Backdrop? I still see it could be a good alternative for some of my clients that do not need the new features and power Drupal 8 has to offer, which could be overkill for their needs taking into account the heavy cost and time to migrate their site?

Everything about Backdrop is more of an enhancement of Drupal 7. After 5 years in the making, nothing has really changed. The difference is that it has a more polished design admin theme and many contrib modules added to the core. I was left feeling a little disappointed that no new features except for layouts has been included in core.

However, there is a good reason why the core team have not added new features and i do not mean features such as getting more contrib modules into core but new features like Block types. Perhaps, it has to do with maintaining an easy upgrade path because the initial idea  for Backdrop was to be a major version that will be easy to upgrade from Drupal 7 so a lot of efforts went into trying to improve the UI instead (and partly for the fact that Drupal has had a negative reputation for being difficult to use). Personally, i disagree with this, it is only difficult for novice users because it has more advance features and these will take time to learn. WordPress has always been compare to Drupal as being so much easier to use and i think that comes down a better ecosystem of paid plugin marketplace with no advanced features out of the box that users need to master. These plugins are often a complete set of suite (such as full gallery, directory listing, visual editor, ecommerce and etc) build specifically to target novice users. Whereas, Drupal are often sets of many different modules to install to add functionalities to achieve similar results and unfortunately, a lack of documentations can make things harder to tackle.  

What are the improvements added to Backdrop?

  • A more polished admin theme
  • Admin menu added.
  • Configuration management, a powerful built-in tool for deployment of sections or features of the site.
  • Better dashboard with block help content to help first time users
  • Path alias and redirects now comes pre-installed. 
  • Media browser for uploading and adding images
  • Scheduler to schedule published content
  • All contrib modules and themes are displayed directly in Backdrop so you can install it from the Backdrop admin UI (just like how WordPress does it as well).
  • Layouts, you can defined new layout regions for your content types, nodes, terms and pages. 
  • More colour settings in Appearance settings
  • WYSIWYG Editor added (ie, CKEditor).

These are some of the improvements i noticed during my test drive of Backdrop. There are more, you can see a list of updates at: https://backdropcms.org/user-guide/project-history 

What can be further improved on Backdrop?

  • Backdrop frontpage (ie, homepage) is plain and dull. There is no help on the frontpage but I guess that is okay as most of it can be found in the user dashboard. What i do want to see it is a demo content installation profile during installation process. This can be very help for newcomers who want to see how things are build out in Backdrop. 
  • It would be nice to be able to enable/disable the content blocks in user dashboard and add a basic website analytics with charts (for most content viewed, search keywords and etc).
  • Get rid of the choose image file button and just have the media browser to do both upload, select and insert media. Extend the media browser and add a search function, resizing and cropping of images.
  • I think the admin theme has served us well but it's starting to look dated. A beautiful modern design theme can encourage users to really want to use the product. Something like this should be the default admin theme: https://www.drupal.org/project/gin
  • Block system is still very rudimentary. Would be nice to introduce Block Types for the next major version. Drupal 8 already has this, why not in Backdrop?
  • I will like to see more Profile distribution, what happened to them for Backdrop?   

The development of Backdrop is slow but to be fair, there is a lack of core contributors and user base has not increased much either. As for contrib themes and modules, most of them have yet to be ported over to Backdrop.

During my test drive of Backdrop, it was obvious to see that it has taken many ideas and inspirations from WordPress to the point it is replicating some of the features such as choosing and installing themes and modules all done through the admin UI and soon an auto update feature as well.

Backdrop seems to target existing Drupal 7 users and for good reason, after all, it is a fork CMS offering an easier upgrade path without having to completely rebuild your site (in the case with Drupal 8 and higher). But this alone is not going to make Backdrop any more popular. It needs to attract new users and developers so they really need to work on marketing to revamp their website (https://backdropcms.org/) and content to attract a wider audience. Perhaps, they should setup a dedicated marketing core team to manage backdropcms.org.

Will i still recommend clients to upgrade from Drupal 7 to Backdrop? Yes and no. I can recommend to some clients (small and large) to upgrade to Backdrop when Drupal 7 reaches End Of Life (in Nov 2022). These are sites i know will not change for another 5 years to come and do not require to keep up with latest technology trends. It is websites that can be one step behind but slowly adapt instead of wasting resources and funds on keeping up with latest technology trends that will be of little benefit to them, at present. 

So what is with the 'No' then? my concern is lack of new users and developers taken an interest in Backdrop. Without newcomers, it will be difficult for a project to survive. So will Backdrop by around in 5 years time? it is important to think about this because you do not want to move your clients to Backdrop only to find out it is no longer maintained. Contrib modules is another issue here, there are still many that have not yet been ported over. 

At the moment, I will be keeping my options open see what happens near Drupal 7 End of Life support and see if there will be a sudden uptick of Drupal 7 sites upgrading to Backdrop.    

I do want to congratulate the Backdrop core team members for their dedicated hard work on Backdrop development. The core team has achieved so much considering the limited resources and a very small team.

 

mazze (not verified), 20 Oct 2020 - 7:48am
Hi Duvien, thank you for this report and the suggested improvements. I also had a quick look at Backdrop at the time it entered the stage some years ago.

But today I do nearly all customer projects on Backdrop... and the main reason is a feature you did not mention: configuration management, it's incredibly powerful when you build websites on a regular basis. My base config has 10+ content types OOTB, with several view modes per type, relations, taxonomy vocabulary and plenty of basic settings. It's so much more than Features in D7 and Config in D8.

The second big improvement is not one new function, but a simple word: speed... I am so much faster developing new functions, it's the sum of so many small improvements for site builders. Also for editors: support request like "how do I..." from clients are nearly zero.

I tried a lot of alternatives after failing with numerous Drupal 8 releases, and getting into troubles with customer deadlines. I tried Craft CMS, October, and a numer of flat file systems, and I will stick with Drupal for commerce projects. But I really can recommend Backdrop CMS when someone has to build sites on a regular basis, and "get things done".
Duvien, 22 Oct 2020 - 1:20am
How did i manage to miss 'configuration management'? yes, a powerful tool for deployment. I have now included this in the article. Thanks for pointing this out.
Greg "klonos" Netsas (not verified), 22 Oct 2020 - 10:12am
@Duvien, thanks for taking the time to revisit and test Backdrop, and also for the effort to put this article together 🙏 ...also thanks for updating the improvements section to include a bullet point about config management, but there's still a point in the article mentioning the following (which I find unfair to say by the way):

> After 5 years in the making, nothing has really changed. ... I was left feeling a little disappointed that no new features except for layouts has been included in core.

Besides config management that Matthias mentioned in his comment, I would also like to mention the ability to update Backdrop core through the admin UI. That feature, as well as the Project Browser/Installer are both totally new features that do not exist in Drupal yet. These were no small goals to achieve, especially given the size of our community (4300+ registered members in backdropcms.org, with only ~100 or so actively contributing) compared to the greater Drupal community (according to wikipedia, 1.39 million members, with 117,000 users actively contributing). So perhaps you want to reconsider those bits in your article, but perhaps you still feel disappointed even after the addition of all the features/improvements that have gone into Backdrop core, which is fine.

I would also like to point that blocks in the Dashboard CAN be enabled/disabled. To be exact, they can be added/removed, or hidden via visibility conditions (based for example on user ID/role/permissions or language). Was there something else you were after?

Another thing you mention is the lack of block types (i.e. fieldable blocks). I am not sure what your use case is, but Backdrop core has 2 very handy features that can help you out:
1) There is a block type of "Existing content", which allows you to add any piece of content as a block in any region/layout. You just start typing the title of the content in the block settings, and a list of available nodes comes up for you to choose from (what is saved in the block configuration is the node ID actually). This block type also allows you to select which display/view mode to use for that content (as well as visibility conditions, and CSS style/class etc. that come standard for all blocks in Backdrop).
2) Each content type has a setting called "Hide path display", which is basically the same functionality as the Rabbit Hole contrib module used to provide in D7.
Combining those 2 features that exist in Backdrop core out of the box, you could use a "hidden" content type + the "Existing content" block type to achieve what you would otherwise would be doing with custom block types in Drupal 8/9. Right? And since what you are using is a content type, that is fieldable 😉

Another feature that comes out of the box with Backdrop core when it comes to blocks is that you can place individual fields of content as blocks to any region you like, and set their visibility conditions and CSS classes etc. (you need to set the context of your layout to be "node/%" in order to be able to do that) ...or is there another use case you were after?

I would like to close by saying that there are more than 1400 sites already built in Backdrop (see https://backdropcms.org/project/usage/backdrop), and that number is growing (we expect more as the D7 EoL date is closing). Are these numbers impressive? Certainly not if compared to the Drupal or Wordpress numbers. But I have to say that at the same time it saddens me to see that the Drupal usage rates have been decreasing over the last 5-6 years (ever since Drupal 8 was announced - see https://www.drupal.org/project/usage/drupal). On the contrary, there is already a healthy amount of contributors in the Backdrop community, and the project is progressing steadily. Would we want the numbers and the growth rate to be higher? Of course yes! We are continuously working on that, but as you said we are still a small community when compared to Drupal. We would actually love it if people such as yourself joined and started contributing (even by writing this article you are doing just that 😁, so thank you once again). ...anyway, when the Backdrop fork was announced back in 2013, as well as after the release of 1.0.0 in 2015, many people were making predictions of the project slowly dying and fading away. Well, after more than 5 years, and 17 on-schedule minor releases every 4 months, it is clear that we are still here to stay. We have long-term plans for actively supporting the software and the community for many years to come. Come join us! ❤️
Duvien, 24 Oct 2020 - 10:16pm
Thanks for highlighting some of the more important features i had missed out to mention. I guess it shows that i'm no expert in Backdrop.

It was inevitable that the growth of Drupal has fallen since Drupal 8 is really a complete new web application under the hood with the concept and branding of Drupal. So the cost of site migration could be too costly for some businesses to take on. Having said that, another factor that may have contributed to the lack of growth in Drupal is that there have been an explosion of new contenders in this cms market and perhaps, some developers moving away to specialise in full stack development and web frameworks (such as ReactJS, NodeJS or AngularJS) since there is a large market for these well paid jobs.

I admire your dedication and commitment. Keep up the good work. I always like to keep my options open so who knows, you may see me more often in the Backdrop community in near future?
The content of this field is kept private and will not be shown publicly.
Your email address will be kept private and will not be shown publicly.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.