Having worked with WordPress and Joomla over the years, one CMS always eluded me; Drupal. It wasn’t that I never wanted to work with Drupal, to be honest with you, the opportunity to learn while working with it just never happened.
I initially stumbled upon Drupal 6 many years ago – but I never fully explored it. I then dabbled in a bit of Drupal 7 many years later, but never to the extent of producing anything official or worth showing anyone. Thankfully this year my luck changed and I finally got around to extensively working with Drupal 8 on not just one, but two major projects.
Drupal is a free and open-source content management framework written in PHP. Drupal provides a back-end framework for at least 2.3% of all websites worldwide – ranging from personal blogs to corporate, political, and government sites.Wikipedia
I’ll admit, going into Drupal my knowledge beyond the basics wasn’t very high. I found the learning curve a little rough initially, especially when I’ve been so accustomed to WordPress for so long.
Along the way, there were many curve balls that caught me off guard; from the way Drupal’s internals work to the way it expects the developer to work. An added level of complexity came from layering Docker on our build and also getting comfortable with Drush (a command line tool for Drupal), all while building a time-sensitive project that had to be delivered on time and on budget.
Over the past 10 months, working exclusively with Drupal 8 and successfully launching two large websites I’ve found a new respect for this CMS. As a CMS, what it sets out to achieve, it does fairly well albeit it still has some rough edges, but it’s nothing a little bit of work can’t resolve.
Along the way, I did encounter a few head-scratchily annoying issues (some settings can be fiddly), but nothing that was a deal breaker when it comes to learning more and using the CMS again in the future.
One small gripe I feel I must mention is how Drupal 8 uses Twig for theming. While it’s meant to be more ‘developer friendly’, I find it’s the opposite especially when one has to look up the Twig equivalent of commonly used PHP functions.
Twig is a template engine for the PHP programming language. Its syntax originates from Jinja and Django templates.Wikpedia
Would I use Drupal to build a simple one page website? The answer is no. I’d still resort to using WordPress or at least straight-forward HTML. My feeling is that Drupal is a little over-engineered for that. But if you ask me to build a booking website or something that requires a bit of data capturing with web presentation on the front-end, I’d definitely be more open to using Drupal over WordPress.
With Drupal 9 on the horizon, the future for Drupal looks bright. I look forward to revisiting this CMS one day soon.