Drupal after making a jump from a custom CMS

Sometimes I find questions like the following one on Internet forums: “I want to build a website. Should I go with a standard CMS (such as Drupal), or develop a proprietary CMS?” I’ve been working with a large, custom CMS that was developed for quite a while, as well as in Drupal and I wanted to share my insights.

Reinventing the wheel

Examples of this include adjusting the image on a website to a certain format, sitemap, all kinds of polls and surveys, etc. I could go on for ages. Any such functionality has to be developed, the bugs have to be caught, and unfortunately, some of the bugs are caught only in production.

Even simple changes, like adding a new data format or changing graphic elements can be a challenge in a system written from scratch. You need to remember that developing a new functionality is not only about writing the code, you also have to find all the bugs, aligning everything with the rest of the system and then push it to production, so that it can undergo a trial by fire.

There is a difference between spending a week on writing code that is similar to existing solutions, or simply installing a module, as is the case with Drupal.

I also noticed that in a custom CMS, the amount of work that goes into the administrative interface is far greater than the amount of time devoted to making solutions regarding how the customer/consumer sees the content.

What’s more, when developing for Drupal, you can share the results of your work by creating a module and publishing it so that others can use it.


Use the user interface

For example, we created Droopler — a Drupal distribution at our company, allowing users to quickly create professional-looking websites. I worked on developing the interface for creating a blog. Apart from styling, almost all functionality, including the administrative interface, has been created by clicking the appropriate settings in the Drupal menu (the main page and subpages with posts, content addition interface, paragraph types and image formats, creation date, entry categories, etc…).


In Drupal, the main data structures are well-thought-out, proven and there is no need to reinvent the wheel.

Bugs are an entirely separate issue. Almost every bug in a custom CMS means trouble. With Drupal, you can be sure that somebody already solved the problems that you’re dealing with.


Cons of Drupal

Sometimes you might encounter constraints that you would never expect to find. One such example is the fact that by default, the option to select several items in the list does not offer you the possibility of selecting them on several pages.

Drupal also has its own specific style, which is why you need to spend some time learning it. It is not possible to start a large project by knowing only PHP or by having little experience with other frameworks. You need to learn where and when to change the code, how to best modify the data, get to know the data structures, internal API.


Originally published at www.droptica.com.

Enterprise websites built with best Open Source solutions. We are an Agile software development company. We create big websites with Drupal 8, Symfony and React