Maybe you are interested in getting involved in the Drupal world, but you’re a little intimidated by the technical complexity of the platform. Don’t worry!
Drupal is a fantastic platform to build scalable websites, but keep in mind that sometimes Drupal can be an indomitable horse that we will tame over time, so don’t get too wrapped up in it.
Drupal is an open-source content management system (CMS). You can install a lot of modules (or plugins, if you use another CMS like WordPress) to increase the core functionalities and adapt your site to your needs.
Some of the great qualities of Drupal are its stability, commerce distribution, security, SEO friendliness, multilanguage capabilities, responsiveness, and others.
As Drupal’s documentation mentions, “Composer is a tool for dependency management in PHP. It allows you to declare the libraries your project depends on and it will manage (install/update) them for you. Drupal uses Composer to manage the various libraries which it depends on. Modules can also use Composer to include third-party libraries. Drupal site builds can use Composer to manage the various modules that make up the site.”
Here are some links to documents that may be useful:
You may have seen the term “Drupal Core,” but what is that? Drupal Core is all the components or features that make up Drupal. There are modules that have Drupal Core and Core themes. It’s Drupal in its most basic form, but you can find distributions that are module packages with Drupal Core and contributed modules.
A Drupal distribution is a set of preconfigured modules and templates designed to quickly build websites with complex functionality.
There are some distributions such as:
- Sous: A starter project for Drupal with a generated theme based on the Emulsify Design System. This distribution can be very useful for anyone who wants to create a project with a completely custom theme and using all the advantages of Emulsify.
- 1,400+ distributions
There are many distributions out there to explore.
Contributed modules are custom modules that contributors to the Drupal community create for us to make our work easier. Since Drupal is an open-source CMS, the community is involved in creating new modules, fixing bugs in those modules, and adding new functionality. So if you find a bug in a module you are using, report it and create a patch, or see if someone has already fixed the problem for you.
Let’s create your first Drupal page in our local environment. Here are the steps:
- Go to the Drupal 10 release page.: Note: We are going to create a Drupal 10 page. You can select past versions, but Drupal 10 is the latest version.
- Create a directory in your local environment where you want to put your page
- Copy the code you find on the release page (step 1). Example:
- Enter the created directory:
- Now you have to use Lando to start your Drupal site with Docker:
- lando init
- Current directory
- Drupal 10
- Lando start
- lando init
- Select your site URL:
- Now your Drupal site is ready
How can you install a new feature (module) on your Drupal site?
You can go to the Module project. There you can find all the modules created by the community — you can filter by version or you can search by keywords.
1. Go to the Admin toolbar. Note: admin_toolbar is a module that allows us to move more easily through all Drupal features without having to enter a page, since the toolbar gives us direct access to configuration, content, and others.
2. At the root of your project, run the Composer command, but you have to check that the modules are enabled for Drupal 10:
Lando Composer require 'drupal/admin_toolbar:^3.3'
3. You have to use drush to enable the module: lando drush en [module_machine_name]. Example:
lando drush en admin_toolbar. Note: If you want to see what drush commands exist, check out all the commands.
4. Now your module is enabled. Sometimes you have to clear the cache to see the changes on your site, and you have to use a drush command for that:
lando drush cr.
Drupal web hosting
But where should you publish your site? There are some free and paid options to consider. The free options are a bit limited; however, trying and exploring the platforms can be very enriching.
If I must select any of the options mentioned in the link above, they are Acquia and Platform.sh. They are very easy to manage, they are intuitive, and they have interfaces that are easy to explore. Both have a launcher that we will install in the terminal of our computer to execute drush commands to the environment that we want.
Thank you very much for visiting the blog. Be sure to browse our other content, where we discuss other development issues, UX, UI design, product strategy, and more.
If you have any questions, suggestions, or ideas about your Drupal 10 project, you can let us know by sending a message in the contact box below.
Making the web a better place to teach, learn, and advocate starts here...
When you subscribe to our newsletter!