Drupal 8 Content Management System (CMS)

Submitted by damar on Wed, 05/24/2017 - 15:12

Damar Thapa


Legal Notice

Copyright © 2017 | DT's Den |
Disclaimer: I provide no warranty of any kind, express or implied, that the information provided is complete, accurate, and reliable. So, you use the information at your own risk.


This article documents my first encouter with Drupal 8.1, some of the changes from Drupal 7, and overall experience.

1.  Introduction

About 2 years ago, I used Drupal CMS in my first project. When I did my research for a potential platform for that project, Drupal 8 was there. Seeing the limited module support (in Drupal 8), and my own limited familiarity with the Drupal platform as a whole, I made the decision to stick to Drupal version 7.
The decision paid off! Firstly, there were plenty of well-tried and tested modules to provide almost all needed components of the website. And, secondly, it was much easier to get help from the Drupal Developers'/Users' Communities. In short, Drupal 7's maturity was its strength at the time.
Despite Drupal 7's maturity and community strength, though, getting into the Drupal world was not easy. I immediately stumbled on integrating JQuery on Drupal, some already working codes (tried in different platforms) did not work, and Drupal's hook concept was a totally new concept for me. I immediately got the message that "Drupal has its own way of doing things."

2. Decision to Move to Drupal 8

Last month, I decided to upgrade my site to Drupal 8, assuming it was a couple of days' work, and I downloaded Drupal 8 and started working on it. On seeing the detail, however, I was surprised to learn that Drupal 8 had taken a big leap from Drupal 7. I had to learn the followings, as suggested by some Drupal 8 developers, to get on with the Drupal 8 journey:
  • The Object-Oriented PHP: I was a very reluctant PHP language learner, and I had not done Object-Oriented PHP (Object-Oriented PHP was later added to PHP language.). The reasons for my reluctance were:
    • I am a fan of MVC (Model-View-Controller) concept that allows back-end programmers and front-end designers to work independently from each other (with some coordination, of course!). The PHP, along with JSP and ASP, however, came with the notion of bringing a complete programming power and control in the front-end, mixing both (front-end and back-end) together. This approach is perfectly fine for smaller projects, but it has tendencies to bring about devastating complexities in bigger projects.
    • As a relatively new language, like any other new languages and technologies, its immaturity was apparent.
    • The PHP was developed purely for web development, but web scripting was not the only scripting I had to do.
    As for learning Object-Oriented PHP, it was an easy process for me (since I have Java development experience). The PHP language, in general, is easy to learn.
  • Symfony Framework: Symfony is a PHP-based, Model-View-Controller, web application framework that Drupal 8 has used. Just to get the Symfony concept, I created a simple application (Hello, World) and found it very similar to Java-based Spring MVC framework.
  • Twig Templating language: In Drupal 8, the PHPTemplate has been replaced with Twig Templating language. I found Twig much simpler and cleaner.
  • Drupal Console: The Drupal Console is a suite of command-line interfce (CLI) tools to generate boilerplate code and interact with a Drupal 8 installation. I found it very useful for coding and learning Drupal 8
It was not a couple of days' work!

3. Summary

The estimated duration of a couple of days' work ended in several weeks of intensive learning process, but, it, definitely, worth the time I spent, considering the direction Drupal 8 has taken. I found Drupal 8 much cleaner, consistent, and more aligned to generally accepted standards and frameworks. This, I believe, will bring about the potential skill and knowledge transferability to and from Drupal World.
In short, it is a big leap away from Drupal 7, and towards the better direction!

A. Revision History

Revision History
Revision 0.0-0 Wed, 24 May2017 Damar Thapa