DRUPAL is a marvellous tool that combines two qualities sought after by contractors : security and scalability. We’ve been working with DRUPAL for a very long time, and can legitimately claim to know and master it. ACQUIA provides a suite of complementary services for the most demanding DRUPAL users, enabling them to benefit from an unparalleled experience. As ACQUIA’s partner in 2022, we have the opportunity to offer a top-quality, high-performance package. More than ever, we want to support your change by promoting sustainable growth, and we’d be delighted to show you how.
Explore the world of Drupal and discover how this open-source CMS is revolutionizing the creation and management of websites.
Whether you’re an inquisitive beginner or a seasoned developer, whether you’re setting up a blog or your project is complex, ambitious and multilingual, this detailed guide will give you an in-depth understanding of the solutions on offer.
Learn how to get the most out of this platform by avoiding the most common mistakes.
Are you still hesitating to use this content management system (CMS)? Discover the many advantages and special features of this rich, flexible solution. New trends such as headless and many others are covered by this up-to-the-minute solution.
Drupal is a powerful open-source software package used to create and manage websites and applications. Launched in 2001 by Dries Buytaert, it offers unrivalled flexibility thanks to its modular structure and large community of technicians and experts. Today, many websites rely on this technology. Examples include the NASA and Tesla websites in the USA, and Radio France and SNCF in France.
What sets this CMS apart from competitors like WordPress is its ability to adapt to projects of all sizes, from blogs to international corporate sites and government portals. Advanced use and perfect mastery do require specific training or the help of a specialized agency, but this solution remains a simple way of offering a rich, stable experience to web users.
One of Drupal’s strengths lies in its customizability, thanks to a multitude of modules (also called plugins, as with WordPress) and themes.
Modules can be used to extend the basic functions of the CMS, while themes can be used to adapt its appearance and enhance the experience. Drupal’s large community of thousands of developers actively contributes to further enhancing the solution. What’s more, Drupal places particular emphasis on security and performance, making it a preferred choice for organizations and businesses that attach great importance to these aspects. The CMS benefits from comprehensive documentation and high-quality technical support, enabling users of all skill levels to quickly familiarize themselves with the platform. In short, it’s a versatile, scalable solution for anyone looking to build and manage a professional, high-performance site.
Drupal 6, launched in February 2008, was immediately presented as a serious competitor to WordPress. Compared to its predecessors, this version introduces multilingual support and offers a richer, more diversified experience.
Drupal 7, released in January 2011, focuses on the platform’s security and scalability. It features enhanced media management (images, videos, etc.), customizable fields and simplified administration, making design and management more intuitive and flexible.
With the release of Drupal 8 in November 2015, Drupal takes a step forward by adopting an object-oriented architecture and integrating the Symfony framework. Drupal 8 offers several new features, such as YAML configuration, an integrated WYSIWYG editor and a RESTful API, facilitating interoperability with other systems.
Drupal 9, launched in June 2020, is more streamlined and optimized. Upgrading to the next version is made easier by maintaining compatibility with Drupal 8 modules and themes. Regular updates and improved performance are at the heart of this version.
Finally, Drupal 10 was introduced on December 10, 2022. This all-new update aims to enhance the CMS’ ease of use and accessibility, while continuing to improve its performance and security. This version emphasizes the adoption of the latest technologies, innovation, security and collaboration.
Find out more in our dedicated article on the different versions and possible migrations.
This step is relatively simple, and can be accomplished even by beginners. Here’s all the information you need and a few tips on how to do it.
Sites created with Drupal core are generally compatible with all current browsers supporting CSS and JavaScript. On the web: Chrome, Firefox, Safari, Edge, Opera and on mobiles: Safari iOS, Chrome Android/iOS, UC Browser, Opera Mini, Samsung Internet.
MySQL, MariaDB and Percona are compatible with versions 9 and 10, but so are PostgreSQL and SQLite, offering a rich variety of choices to meet your specific needs. Please note that Drupal generally adapts to default configurations, but for more complex ones, adjustments may be necessary.
Drupal 8 and higher will run on any web server compatible with PHP version requirements. It is, however, important to check and update the PHP version, as hosting providers often offer PHP version options, and the default version may be lower than that required.
It is also advisable to check php.net for security updates.
Drupal runs on a variety of web servers, including Apache, Nginx and Microsoft IIS.
As far as access rights to files and folders are concerned, Drupal and PHP must have read and write access to the /sites/default/files directory. It is essential to note that universal permissions such as 0777 are not secure and should not be used. Drupal Core is compatible with IPv4 and IPv6 requests.
So, how does it work? It’s a quick and easy process, if you follow the steps below:
There’s also the Composer solution for installation, which we cover in this article.
Docker simplifies the configuration and deployment process by providing a containerized environment. Here are the steps to follow:
1 – Install Docker. Make sure you have Docker and Docker Compose installed on your machine. If not, consult the official Docker documentation for installation instructions.
2 – Download Drupal to Docker Hub by running the following command in your terminal or command prompt:
docker pull drupal
3 – Create a docker-compose.yml file in a dedicated directory. This file defines the services, volumes and networks for your Drupal installation. Use the following content as an example for your :
version: “3.7
services:
drupal:
image: drupal
ports:
– “8080:80”
volumes:
– drupal-data:/var/www/html
database:
image: mariadb
environment:
MYSQL_ROOT_PASSWORD: root_password
MYSQL_DATABASE: drupal
MYSQL_USER: drupal
MYSQL_PASSWORD: drupal_password
volumes:
– db-data:/var/lib/mysql
volumes:
drupal-data:
db-data:
4 – Start container startup. Open a terminal or command prompt, access the directory containing the docker-compose.yml file and run the following command to start the containers:
docker-compose up -d
5 – Open a browser and navigate to the URL of your installation (for example, http://localhost:8080 (http://localhost:8080/)). Follow the on-screen instructions to select a profile, choose a language, check requirements and configure the db. Use the db information defined in the docker-compose.yml file.
6 – Next, you’ll be asked to configure your site’s basic information, such as name, e-mail address, time zone and administrator account.
7 – Finally, log in to the Drupal administration interface using the administrator account you created during installation. The administration URL is usually “http://localhost:8080/user”.
A Drupal project requires solid foundations. Here are a few tips and tricks to help you avoid the most common mistakes and master the basics of the solution.
Structuring your content is important, not only to deliver an optimal experience, but also to make it easier for your teams to manage. Two essential points. Here are a few key points to bear in mind.
By following these key elements, you can structure your site’s content well, offer an optimal user experience and make content management easier for administrators.
The Framework Entity Validation (fev) is a validation system that guarantees the integrity and validity of recorded data. It ensures that the information entered complies with the rules defined on the site, particularly in terms of types, field formats and specific validations. To set it up, access the “Structure” section, then “Content types”. Click on the content type you wish to configure, then on the “Fields” tab. Click on the “edit” icon next to the field you wish to validate, then on “Configure validation”. Finally, select the appropriate validation rules and configure them as required.
Managing users and assigning roles is an important aspect not to be overlooked. You have the option of doing this for each person individually, or of creating roles that group together several of the same type. The latter option is preferable if you need to manage more than a dozen accounts.
Click on “Add a new user” in the section of the same name in the administration interface. Fill in the mandatory fields, such as e-mail address, name… And configure the other options according to your needs. Then configure their permissions. These determine what they can see and do on your site. For example, you can give administrators extensive permissions, while editors won’t have access to administrative functions. By assigning these rights correctly, you guarantee the security of your project.
The first step is to create user roles according to their access level and responsibilities. By default, Drupal offers roles such as “administrator”, “moderator” and “user”. You can also create custom roles to better suit your needs. For example, one role for editors and another for support team members. You can then assign these predetermined roles to each person on your team. If you wish to make an exception, you can always modify the assignments of a single person in Settings.
Drupal offers a plugin for everything (be careful not to overuse them!) For example, “Content Access” lets you configure security rules for your site’s content, while “Role Delegation” lets you (as the name suggests) delegate specific tasks to particular roles.
Menus make it easy for visitors to navigate your site. They must therefore be clear, relevant and reflect the structure of your offer and products. Here are a few practical tips to help you excel in this area:
Start by creating menu links. Go to the “Structure” section and click on “Menus”. Then choose “Add a link” and fill in the required fields.
To organize menu links: simply drag and drop. You can also create submenus by dragging a menu link under another link and shifting it slightly to the right.
You can then configure menu options to customize their appearance and behavior. To do this, go to the “Structure” section, where you’ll find display options.
Finally, consider using plugins to extend menu management functionalities. For example, “Menu Block” lets you create customized menus for each region of your site, while “Superfish” lets you add advanced functions to menus, such as drop-down submenus.
Whether major or minor, Drupal updates bring interesting new features, fix bugs and make your site more secure. So it’s important to keep your site up to date. To make this job easier and avoid tedious maintenance, here are a few best practices to keep in mind:
Customization is one of Drupal’s strong points. While it’s easy and accessible, it’s important to follow certain rules to ensure the security and maintainability of your project.
To begin with, make sure you select a quality theme to guarantee the security and stability of your website. To do this, choose a popular theme that is regularly updated and supported by the community. If it’s a redesign, be sure to test it before putting it into production to ensure compatibility with existing plugins. Then, avoid modifying the source code directly, as this could make upgrading to a higher version more difficult and risky. To customize its appearance and behavior, work on sub-themes instead.
Another important point to remember: optimize image weight. They can slow down your site’s loading speed.
Finally, don’t hesitate to use modules to extend the possibilities of your theme. For example, the “Views” plugin lets you create custom views for your content, while the “Menu Block” plugin lets you create custom menus for your theme.
By using Drupal’s Bootstrap themes, you can create a modern, responsive site. The Bootstrap library is an open-source front-end framework. Bootstrap themes integrate the Bootstrap library into their code, enabling you to use Bootstrap features such as pre-designed CSS classes for grids, buttons and forms.
Bootstrap themes can be customized by modifying the CSS code, adding custom classes and using modules. Drupal offers numerous modules to extend the possibilities. For example, “Bootstrap Paragraphs” lets you create complex layouts for your content, while “Bootstrap Forms” lets you customize your site’s forms.
Modules (or plugins) are another of the solution’s strengths. They enable you to add advanced functionalities without the need for custom development, and then benefit from community support for their maintenance. To install a module, download it from the official website. They are generally supplied in a compressed format (zip or tar.gz) which must be extracted.
Then log on to your site with an administrator account. Click on the “Modules” menu and choose “Install a new module.” Select the compressed file you downloaded and extracted earlier.
You can then configure and activate it as required. To avoid errors, however, avoid excessive configuration, which can generate conflicts and errors. Also check that the module is properly maintained and don’t forget to update it.
Drupal Layout Builder is a powerful and flexible tool that lets you design content layouts using a user-friendly visual editor, without having to code. To use it, you’ll need to create layout templates for different types of content, by creating sections that can be reused for elements such as headers, footers and sidebars. Next, Drupal Layout Builder uses a system of blocks to determine their appearance and behavior. Don’t hesitate to “templatize” your content as much as possible to avoid exceptions and therefore manual intervention.
Drupal Webform makes it easy to create personalized forms (contact, registration, quote request, survey, etc.). It installs like any other module. When configuring it, there are a few important points to bear in mind. First, don’t add too many fields, as this may confuse customers. Next, be sure to test the form before putting it into production, to ensure that the information collected will be usable.
Don’t forget to set up notifications to be informed of form submissions. Finally, make sure your form is secure by using tools such as captcha.
Drupal Commerce offers a complete range of options to facilitate the production of e-commerce sites. These include catalog management, payments, order management, delivery options and analysis reports. The possibilities are truly endless. If you’re already familiar with the structure of your e-commerce site (product categories, etc.), then setting up Drupal Commerce shouldn’t be a problem.
There are a number of necessary plugins, for example: “Address”, “Commerce Cart”, “Commerce Order”, “Commerce Product” and “Commerce Checkout”.
Next, create templates for your product sheets: determine their attributes, fields, delivery options, prices, etc. Well-structured sheets will then enable you to quickly design and write them.
Of course, don’t forget to test your purchasing tunnel and authorized payment methods before going online. There’s nothing like putting yourself in the customer’s shoes. Beginner’s pitfalls: don’t forget to configure taxes and shipping costs.
There are a number of tools available to help you maintain, optimize and secure your project.
Backing up and restoring your website is essential to ensure its security and continuity in the event of a problem. Here are a few tips and best practices to follow for a successful backup and restore.
To help you, use backup modules such as Backup and Migrate to automate the backup process and simplify restoration when needed.
Logs record all activity on your website, including errors, warnings and system information. Log analysis can help identify performance and security issues, as well as improve the user experience. It’s important to configure logs correctly according to your site’s needs, and to consult them regularly to identify problems.
Drush is a command-line tool for routine administrative tasks such as updates and user management. It can also be used to automate repetitive tasks and speed up website development. We recommend that you familiarize yourself with Drush’s basic commands and use it regularly to improve the efficiency of your work.
Multisite is the secret weapon if you’re aiming for multiple versions of the same site, for example, in the case of a multilingual deployment. Imagine being able to manage several websites with a single Drupal Core installation.
No need to waste time (and money…) on development and maintenance. Multisite is the ideal solution for companies needing to manage several related projects, whether regional or product-based. You can also pool resources such as themes, datasets and plugins, making it easier to manage and personalize the user experience.
With a multisite, you can be more efficient and more productive… at a lower cost.
Tokens are strings of characters that can be used to generate dynamic content based on user or website parameters. They are used to generate links, URLs, text fields and other dynamic elements. They can be customized as required, and are very useful for automating repetitive tasks.
Here are a few examples of dynamic tokens :
A sitemap is a map of your website that lists all its pages, including those that may be hidden and those at a lower level. The sitemap is useful for improving the user experience, facilitating navigation and optimizing search engine optimization (SEO). Setting up a sitemap and submitting it to search engines (for example, from your Google Search Console, if you use Google Analytics) is recommended to improve your website’s visibility.
Drupal Devel makes it easier to develop and debug websites. For example, the module enables random data generation, performance measurement and visualization of db requests. Drupal Devel is very useful for engineers looking to improve the efficiency and quality of their code.
When you work with this CMS, you have access to many indispensable resources to help you. A point that should reassure beginners. Here’s a quick overview of the resources available to those wishing to embark on this adventure.
It is one of the most valuable resources of this solution. It’s made up of thousands of developers and users who share their experience, knowledge and problem-solving tips. There are also forums, discussion groups and local events where you can connect with other users and share information.
Each module, plugin and theme is supported individually. Don’t hesitate to call on her.
Documentation is another strong point. It’s available online, in a variety of languages, and gives you access to practical guides, tutorials and code examples to help you. You’ll rarely find yourself alone when faced with a problem.
Finally, Drupal websites and blogs can also help you find tips and tricks for improving or developing your project. You can find site examples, plugin reviews and discussions on the latest trends.
Finally, don’t hesitate to enlist the help of experts to help you set up your Drupal site.