What gives Drupal the Edge?
5 Aug
Jarkko Oksanen
Drupal is a widely used and secure
Drupal is a very popular Open Source CMS solution. According to BuiltWith, 14.2% of top 10k Websites that use a CMS use Drupal. The total number of Drupal websites is more than a million. Popular and well known sites such as Whitehouse.gov, Nbc.com and Weather.com are using Drupal.
Drupal is popular among many different website verticals.Source
Drupal is not just a CMS
The functionality of Drupal exceeds what is defined as a CMS. When describing Drupal as a CMS within the Drupal community, I often get corrected that it is in fact a CMF (Content Management Framework). It means that Drupal can be used for other purposes such as simply working as the backend system for entering content, and then displaying the content in a completely different way. This could be for example a mobile application that gets its content from your Drupal website.
Drupal is fast to develop
Building the basic functionalities of complex sites often requires no custom code. This makes Drupal fast to develop. Handling content with different fields which can contain whatever data you as content creators want and being able to change these in a very quick way is Drupal's one of main strengths. Building your own “content type” takes minutes and not a single line of code.
The Custom code comes in play when you need something very specific and is often only used to add to alter or add to already existing code. This makes Drupal into a great tool for creating a Proof of Concept quickly. If you have a complex website that you need built, it is very likely that Drupal is the fastest way to provide the basic functionalities. In a short time you could already be demonstrating the main functionalities to your shareholders or peers.
Drupal has a large number of contributed modules
Drupal Modules are free to use and generally of high quality. Drupal's functionality can be extended in using contributed modules. A great Drupal website is always a combination of the best modules for the specific purpose of the website. Joomla and Wordpress have paid module ecosystems and many of the good modules you have to pay for, with Drupal they are all freely available on Drupal.org. However not just everyone can release anything to Drupal.org which is where all the contributed modules live. To release a module, developers have to go through a process where your code is evaluated by long-term Drupal developers this goes a long way to keep the standards high.
There is a large number of modules that we as Drupal developers and enthusiasts find very standard, but are missing or hard to configure in other CMS’s.
The main contributed modules that give Drupal an edge
-
Views
https://www.drupal.org/project/views
Views gives you the ability to create nearly every kind of display for your content. You can display only the parts of your content that you want, and modify it to your liking. A view on your website could be for example “Related content” or “List of latest blog posts” but it could also be something more complex like a Masonry layout for your front page.
Views allows your content can be then displayed in any way you want, from shiny slideshows to traditional HTML tables. With Views you can also build complex search systems without a line of code if that is what your project needs. There is a large number of sub-modules to the Views module that allow you to extend the functionality further.
In the upcoming version Drupal (Drupal 8) this contributed module will have moved to be a part of the core Drupal installation.Example: In this image there is a view on the left displaying the Articles, and another on the right showing the listing.
-
Features
https://www.drupal.org/project/features
Features is a module that is more for the developers. It allows you to store your configuration for Drupal in the code base. This allows you to export configuration from different Drupal setups. It’s a part of every well thought after Drupal build.
-
Commercehttps://www.drupal.org/project/commerce
If your goal is an e-commerce site, commerce is your go-to module for Drupal. When it comes to ecommerce sites, Drupal is a great tool. Especially when your plan is to build a site where you will drive users with content to your site.
You could have your content in Drupal and use the previously shown Views module to relate interesting products to your users. For example you have an article about “Tuning a guitar” with a tag “tuning” and a view on the page that shows products with the same tag. Drupal commerce provides everything you would need in a ecommerce solution, from cart to multiple payment gateway integrations, and all this for free.
Or to think of it as the other way around, you can easily use Drupal to create a Paywall site that allows users to access your content only after they have purchased a membership.
To test what Commerce can do for you, check out the demo site: http://demo.commerceguys.com/
- Ruleshttps://www.drupal.org/project/rulesRules is a module that allows you to initiate any action when something happens on your website. Let's say a user submits a form, and you want to send an email to that user. With Rules you could implement this. But rules doesn't stop there. You could even add numerous actions to that same submit action, for example you could on top of sending the email give the user a message on the page that “Form submitted” and redirect the user to a page you want them to go after submitting a form. All of this without writing any custom code, and done in the user interface.
This module works well in conjunction with other modules, such as the pre-mentioned Commerce module. With the rules module you could create simple actions that affect product pricing for different user roles, or for example to create sales pricing. The possibilities are endless.Simple example:User clicks on a link -> Rules reacts by doing an action (send an email)
- Display suitehttps://www.drupal.org/project/ds
Display suite allows you to create specific display modes for your content. Think about how you would want a teaser of an article to look like. You could specify it to look exactly like you want it to and then re-use the display mode in every parts of your site. And by just updating the display mode, all of your teasers will get the new layout. Compare this to having to go through all your layouts every time you're doing a change. A time saver for both developers and themers when working on complex websites.
Examples of simple modules for specific purposes
To give an idea of the extent where Drupal has gone with its contributed modules I will list 5 modules that are very good for their own specific purpose. It is very likely that one or more of these will be used in a Drupal site you're browsing.
- Honeypothttps://www.drupal.org/project/honeypot
Everyone hates spam. Honeypot kills the spam. It’s that simple. If you’re running a website with user-generated content, you’re going to have to handle this issue. This module does it for you without the annoyance of Captcha.
- CKEditorhttps://www.drupal.org/project/ckeditor
Drupal doesn't come out of the box with a Wysiwyg. This module solves that problem. It’s a plug-and-play module and by just enabling it you will have a fully functional Wysiwyg on your hands.
- Google Analyticshttps://www.drupal.org/project/google_analytics
Adding your Google analytics code to your website couldn't be more simple than it is with this high quality module. Just add your UA code and that's it. It also allows for complex customizations if that’s what you need.
- Getlocationshttps://www.drupal.org/project/getlocations
Does your website need a map to show locations on? If so getlocations is one of the great solutions Drupal provides to solve all of your location based needs. It supports custom Google maps markers and different map providers.
- Pathautohttps://www.drupal.org/project/pathauto
A very important part of any website is the URL. A good URL structure helps your site to rank better on google, and also to be easily navigatable. That is what the Pathauto module is for. It creates clean, keyword rich URL’s.
All CMS’s have implemented different solutions for this problem, but I believe Drupal's way to be easily the most configurable and complex the same time. With the pathauto module you can simply type in a default “path” for your content which could be for example: content/What gives Drupal the Edge? which will print out as www.yoursite.com/content/title-for-blog. This can be modified to your hearts content in the user interface without any code needed.
- Metatagshttps://www.drupal.org/project/metatag
Social media is more important than ever. Everyone wants their content to have a chance of becoming viral, your metatags have to be in order. Metatags and configuring them has been an issue as the defaults are constantly improving and changing. Drupal has a great solution for this, which is the metatags module. The metatags module works in a similar way to the before mentioned pathauto module. You can set simple defaults, or go into really complex setups if you desire to do so. The module supports all of the major social networks such as Facebook and LinkedIn (OG tags) and Twitter (Twitter cards). The configuration is very easy and can be done by virtually anyone who has a basic grasp of how they should work.
Community
The Drupal community is large. There is over 1 million users on drupal.org with almost a 100,000 of those actively contributing. In general the users in the community are highly skilled. A huge percent of the developers working with Drupal are actually doing it as their primary occupation. This makes the community very professional and helps to keep the high standards of contributed modules and projects.
It is fun being a part of the Drupal community. Around the world there are numerous events that are hosted in different countries that attract thousands of Drupal enthusiasts to collaborate, network and code together to make it even better. Being a part of these communities is great for everyone involved.
Security
When you work with Drupal, you don't need to find security issues from your code yourself. There is a strong security focus within Drupal, and there is a team that continuously reviews contributed code. This keeps the costs of upkeep on a Drupal site low compared to custom platforms. I’ve ran into dozens if not hundreds of issues that I’ve figured out by going through community created patches which I’ve then applied to my Drupal sites. Also the modules you use constantly receive updates with new functionality you can decide to use if you deem it to be important for you.
Conclusion
The very high quality and a large of contributed modules, the free support you get from the community, great tools to structure and display content and fast build times on complex sites websites;
All of this is what makes Drupal the ultimate open-source solution for mid/large websites.
drupaldrupal planet