When you’re building an advanced website, you can choose from among many technologies. Usually, the first choice is the programming language (PHP, Python, Java, ASP.NET, etc.) and then we decide whether we should code everything from scratch or use a framework to do all the heavy lifting. There is also a third choice, a more comprehensive solution –so-called CMF systems, which stands for content management framework. Drupal 8 is one of these systems. In this article, I will tell you why it’s worth it to choose Drupal as the basis for any large and advanced website.
By large and advanced, I mean one that is changed frequently. Content changes are carried out by at least one editor, supported by at least one developer (along with a QA tester and a sysadmin), who’s responsible for continuous development of the website, adding new functionalities, fixing the emerging bugs and so on.
Some examples of large and advanced websites:
- A website of a medium or a large production or service company, offering hundreds or thousands of various products or services. The website’s content should be updated on a continuous basis, including information regarding products, services, promotions, availability and so on. The website is one of the key sales tools and is managed by the company’s marketing department.
- An informational website, for example, run by a paper or magazine. The new content for the website, which is published on a daily basis, is created by a team of editors. The content creation process has a number of steps (draft, proofreading, approval, publication on a given date, etc.)
- An internal web application for managing processes in the company, such as a CRM system, a system supporting the activities of regional sales representatives or a number of company’s branches, intranet system. A system with a variety of data types. The application is available only to users who are logged in. Users create large amounts of data every day.
- A website of a school or university publishing information from lecturers and teachers for students and employees. There are many types of information divided into categories and displayed in many ways.
- A system feeding content to other systems – an API with content for other websites and mobile application. There is a need to manage many different types of data and quickly providing them to other external systems.
The opinions about Drupal found in many articles only confirm the data from the chart above: Drupal is chosen for building large websites more often than WordPress.
Why should you use Drupal 8 for building your website?
- It’s a tried and proven system used by large international companies and organisations. Some examples of Drupal users include:
- Drupal 8 is Open Source. It’s completely free. What is also free are thousands of modules available at www.drupal.org. You don’t have to cover any licensing costs like you would have to do with commercial software.
- Thousands of companies around the world work hard on adapting Drupal to customers’ needs (installation, setup, creating templates and modules, hosting). By choosing Drupal, you are not limiting yourself to cooperating with just one company for many years (usually a website is built for 3-6 years).
- As a project, Drupal is developed by a community spanning the entire world. Over 100,000 users actively develop Drupal core and its modules. 100,000 developers are definitely more than 10 or even 100 coders working on a given commercial solution. What is more, over 1 million users are registered with www.drupal.org, helping the development by making change requests for the core and the modules.
- From the technological standpoint, Drupal 8 was developed in PHP (it uses PHP 7, which is blazing fast), uses Symfony Framework components (believed to be the best solution for developing complex applications in the PHP ecosystem) and Twig template engine, which streamlines front-end works and improves security.
- Drupal Security Team is a special group of people who take care of the security of both Drupal and its modules. The team constantly checks Drupal in order to find any and all bugs. In the case of a security hole, the team quickly publishes bugfixes and updates. Notifications announcing new updates are visible in the website’s administration panel, they can also be received via e-mail. Every Drupal-based website automatically checks whether they have the most current version of Drupal and all the modules. If a new version is released, the administrator gets informed about it at once.
- New versions of Drupal 8 are released every six months. Drupal 8.0 was released at the end of 2015. Currently, we are in version 8.4. Every new version introduces new bugfixes, as well as new functionalities and modules available in Drupal core. The Drupal development team aims for adding new functions to expand its usability and capabilities. By choosing Drupal 8 you ensure getting new functions for your website – completely free of charge!
- Webservices – You can use Drupal to build APIs and communicate with other systems. Thanks to this, you can easily fit your new solution into existing systems in the company. You can also use Drupal as a backend for so-called headless systems – Drupal will take care of feeding all the data and content, while they will be displayed by other systems.
- Modules and functions in Drupal core – there are many of them, but the most important of them are:
- creating any number of data types with any structures, along with relations between various data types
- extensive categorisation of content (categories, tags, tree structure, many categories for one type of content),
- version control – tracking changes in the content,
- activity logs in the system, user activity history (who logged in and where, when was the content added, etc.),
- extensive user management, roles and permissions,
- support for many languages,
- multisite: the ability to build many copies of a single website on a single installation, e.g. for a given country, or separate versions of the website for each product or service,
- media management (photos, videos),
- convenient content management: CKeditor – a WYSIWYG editor, content moderation, quick edition and others,
- views and fields – flexible data structures and displaying,
- mobile-friendly system, responsive images,
- migrate API: the core includes a mechanism allowing for convenient content and data export to Drupal,
- he capability to block users based on IP, e-mail, hostname.
- Additional modules. There are thousands of them and you can download them for free at https://www.drupal.org/. The most interesting and noteworthy modules are:
- Paragraphs – enables flexible content creation. At first, the developer creates various types of recurring elements. Then, editors have the option to use these elements to build their subpages. The subpages can have any number of these elements arranged in any way. You can read more in our blog post.
- Metatag – enables managing meta tags for all your SEO needs. You can create tags separately for each subpage or define templates, based on which Drupal will automatically create tags for new subpages.
- Google Analytics: integrate your website with Google Analytics, you can go for simple or complex integration in order to learn more about your users.
- Pathauto: enables automatic creation of URL aliases based on a given template (e.g. /news/category(title)).
- Webform: enables creating forms using Drupal administration panel. Thanks to that module, you can create a form for gathering your users’ data or a survey within minutes.
- SitemapXML: creates an XML map with your website’s structure, required by Google and other search engines.
- Captcha: add captcha tests to any form in order to protect your website from spam.
- Panels: enables the creation of new subpages using the drag&drop methodology. You can define a new page, decide its layout (e.g. 3 columns) and add content to each of the elements.
- SMTP: enables sending e-mails from Drupal using external servers. You can also set it up to send e-mails with HTML content. It's very useful when you send a lot of e-mails to your users and you want for example to track their statistics using external services.
- Search API + Solr: enables you to connect Apache Solr to Drupal. This significantly speeds up searching your website, especially if you have a lot of content.
- Scheduler: enables to you schedule publication of your content to a given date.
- AddToAny share buttons: allows for quickly adding icons to share your content on social media.
- Commerce: a module that is used to build online stores.
- MailChimp or Freshmail: integration with popular newsletter systems.
- Focal point: cropping photographs before publication.
You can find the full list of modules at https://www.drupal.org/project/project_module.
Above, I listed my take on the ten most important reasons for using Drupal. There are, however, many more benefits to using that framework. The best way to discover them all is to try it yourself. In this case, it would be also best to install additional modules to learn the full extent of its capabilities.
Soon, we are going to release a distribution (consisting of Drupal core and additional modules) including much more functionalities than the bare core and, on top of that, a very pretty user interface. We’ll share more details on our blog and at www.droopler.com
Already a Drupal user? Tell us in the comments what are the most important reasons and why do you consider it worthwhile to use Drupal!