Upgrade Your Drupal Skills

We trained 1,000+ Drupal Developers over the last decade.

See Advanced Courses NAH, I know Enough
Oct 19 2020
Oct 19

“Development workflow aligns team members, keeps them engaged, and drives a balance between speed and quality of code changes.”

In today’s competitive environment, organizations are constantly engaged to create new ideas that can act as the leading front doors to building businesses. Starting a new web development project means a blank slate that comes along with the opportunity to try out new technologies. Over the past few years, the concept of developing a strong and influential workflow is no longer limited for the sake of process only. In other words, having a robust development workflow is looked at as an opportunity that can make a huge difference to the efficiency of your team as well as the quality of your product. 

However, when it comes to Drupal development workflow, things are not easy as it may look. That is to say, many Drupal-based organizations suffer from a standard process that needs to be adopted and implemented. Consequently, it leads to real problems, right from a chaotic approach to code submission to a review of the inability to determine where and why things inevitably break.

Therefore, this article is written to demystify the basics of Drupal development workflow to appeal to a wide audience including both work from home as well as work from office. Moreover, after reading this article, you will become familiar with the development techniques we employ to achieve the best possible results and with how we adapt to alterations during development.

Forming a standard development workflow vis-à-vis specific project’s requirements

While perfect planning may seem like the key to a worthy goal, there are chances that even the most perfect plan may require a change in the development workflow. Yes, you heard it right, change in development workflow strategy is not breaking news but a part of the job which every organization undergoes. Managing development workflow helps the organizations to stay flexible and responsive to change without slowing down the work at hand. 
Since different projects have a different workflow, it becomes important for businesses to implement, plan, and fine-tune the architecture and development practices in accordance with the project-specific need. Let's take a look at a few scenarios:

Microservices

The monolithic architecture is a traditional way of building applications. However, this workflow is harder to implement changes wherein the application is large and complex because of highly tight coupling. Any slight change in code affects the entire system which often makes the overall development process much longer. Well, in a situation like this, something like microservices architecture is required which has a different workflow than monolithic architecture. Organizations that require a collection of smaller independent units rather than a single unified unit must shift their development workflow to a microservices architecture wherein the entire application is divided into independent services, owned by small separate teams.  

Pattern Lab

Organizations that are design-focused may require a front-end framework or a completely different workflow that can offer a convenient and easy way to enforce component-driven design. Or let us envisage that you have a project where designing is the foremost thing for which you may essentially look for a refreshing way to create sophisticated designs. In both situations, the standard or existing workflow might not hold up and the development team has to look for a workflow that can serve as a hub for your design system. Born out of design principles, Pattern lab can be used in the aforementioned situations to create and maintain thoughtful UI designs. Development teams that are well-equipped with Pattern Lab create reusable components, thereby speeding up your team’s workflow, and further allowing you to save huge amounts of time and money in the process.

Decoupled Approach

In traditional Drupal websites, Drupal handles the front-end and the back-end functions single-handedly. As a matter of fact, in addition to being a robust content store, Drupal’s powerful frontend takes care of your site design, behavior, usability, and management. It’s perfect for creating impressive visual designs and cutting-edge interactivity. However, with consumer touchpoints like connected devices and wearables taking center-stages, organizations are looking for front-end technologies like React or Gatsbywhich can help them deliver the best digital experiences to potential clients. And in order to fulfill this need, organizations need to make necessary changes in their development workflow. This is because the Drupal development workflow that was applied for creating websites with traditional approaches may not be suitable for decoupled Drupal architecture. With separate teams working on the frontend and backend side of things, your standard development workflow would have to be tweaked in a way that both the teams are able to work parallelly.

Having the right project management tools

Project management refers to an umbrella term which is a compendium of the application of knowledge, skills, tools, and techniques that are required to meet the project requirements. The main intent of project management is to produce an end product that will affect some change for the benefit of the organization that had instigated the project. It is basically the initiation, planning, and control of a range of tasks that are required to deliver the end product using various tools. 

Project management tools are vast and can serve many different functions. For your consideration, we have listed down some of the most common project management tools which play a pivotal role in the Drupal development workflow. So, let’s give each one of them a quick look.

Confluence

Screenshot of confluence tool


Confluence being one of the most popular collaboration tools helps you create, collaborate, and organize all your work in one place. Irrespective of the team size and type including people with mission-critical projects to people looking for a space to build team culture, Confluence serves as a team workspace where knowledge and collaboration meet in a more open and authentic way. Organizations that utilize Confluence are able to make quick decisions, gain alignment, and accomplish more together. Some of the key features of Confluence include: 

Page: This is the place where your content lives. This feature allows you to create pages for almost anything, starting from project plans to meeting notes, troubleshooting guides, policies, and much more. 

Space: Pages that you create are stored in spaces. They are nothing but workspaces where you can easily collaborate on work and keep all your content organized. You can create as many or as few spaces as per the requirement. However, it is always suitable to group related content together in the same space.

Page Tree: This feature organizes space content with a hierarchical page tree in order to find work quickly and easily. It also nests pages under related spaces and pages to organize pages in just about any way. 

Bitbucket

Screenshot of bitbucket tool


Bitbucket can be called a real worthy competitor to GitHub which comes with different operating systems to provide support to the professional teams. Being a section of the Atlassian family along with tools like Confluence, Jira, etc, Bitbucket is made in such a manner that it provides complete support to the technical teams to explore the entire potential. Bitbucket offers organizations a central place to manage git repositories, collaborate on the source code, and guide through the development flow. A great way to extract maximum advantage of everything that Bitbucket offers is to integrate it with your task management software. The deployment of Bitbucket is made in three different options which include Bitbucket cloud, Bitbucket data center, and Bitbucket Server. Besides these aforementioned advantages that Bitbucket offers, it also allows user to use some awesome features that include:

  • Access control: This feature allows you to restrict access to your source code.
  • Workflow control: Using this feature, you can enforce a project or team workflow.
  • Pull requests: Can be used with in-line commenting for collaboration on code review.
  • Jira integration: This feature gives access to full development traceability.
  • Full Rest API: Provides easy access to building features custom to your workflow if they are not already available from our Marketplace.

Jira

Screenshot of Jira tool


Originally built to track and manage bugs in software development, Jira has now become a famous agile project management tool that helps teams to manage their work under a single roof. Products and applications built on the Jira platform help the team to perform various functions such as plan, assign, track, report, and manage work. If you wish to bring your team together for everything, right from agile software development and customer support to managing shopping lists and family chores, then Jira is your tool. Jira is a family of products providing several products and deployment options that are purpose-built for Software, IT, Business, Ops teams, and more.

Three products have been built on the Jira platform: Jira Software, Jira Service Desk, and Jira Core. Each of these products come with built-in templates for different use cases and integrates seamlessly, so teams across organizations can work better together.

Jira Software: Used to plan, track, and release world-class software.

Jira Service Desk: Used to give customers an easy way to ask for help and your agents a faster way to deliver it.

Jira Core: Used to manage the business projects including marketing campaigns, HR onboarding, approvals, and legal document reviews.

Implementing CI/CD Pipeline

A CI/CD Pipeline implementation, or Continuous Integration/Continuous Deployment, is referred to as the backbone of the modern DevOps environment. The CI/CD pipeline is held responsible to bridge the gap that exists between development and operations teams by automating the building, testing, and deployment of applications. 

In DevOps, a continuous and automated delivery cycle acts as a catalyst that makes fast and reliable delivery possible. As a result, there is a need for proper continuous integration and continuous delivery (CI/CD) tools. The marketplace is flooded with a wide variety of CI/CD tools that can be used to speed up delivery and ensure product quality. Some of the tools are given below:

OpenDevShop

With a front end built in Drupal (Devmaster) and a back-end built with Drush, Symfony, and Ansible, DevShop is a "cloud hosting" system intended for Drupal users which makes it easy to host, develop, test as well as update drupal sites. 

DevShop uses git to deploy the sites, thereby allowing you to create unlimited environments for each site. Moreover, it’s very easy to deploy any branch or tag to each environment using DevShop. Data including databases and files can be deployed between environments. Further, you can run the built-in hooks whenever code or data is deployed, or simply write your own.

Jenkins

Built with Java, Jenkins is an open-source automation server wherein the central build and continuous integration process takes place, regardless of the platform you are working with. With Jenkins, organizations can easily escalate the software development process by simply automating it. This particular powerful open-source server holds the potential to manage and control software delivery processes throughout the entire lifecycle, including build, document, test, package, stage, deployment, static code analysis, and much more. 

Checks during Pre-Code merge

There are certain CI/CD tools that are used by organizations as a strategy to help development teams integrate code easier and find bugs before they are released into actual production. 

-   Code Review 

It refers to a systematic examination to find and remove the vulnerabilities in the code that are often not readily apparent when compiled, such as memory leaks and buffer overflows. 

Example- Sonarqube, an automatic code review tool that is pretty helpful to detect bugs, vulnerabilities, and code smell in your code. 

- Drupal 9 Deprecation

Instead of working on Drupal 9 on its own git branch from the scratch, Drupal 9 was built in Drupal 8. Further, it involves the removal of all deprecated APIs and changing the remaining small number of deprecations to be deprecated for Drupal 10 instead. 

Example: Drupal Check, this tool allows you to run a standalone PHP executable from the command line and get a report of deprecated code, if used any.

- Security Checks 

It refers to the process which involves a Drupal-based site and gets a high-level overview of the site’s security posture to avoid future vulnerabilities or threats.

Example: Snyk, a security tool that developers use and love. It helps software-driven businesses to develop fast and stay secure. 

- Prod code performance reviews

It refers to the process wherein errors are detected that might have been produced during the development process and can potentially hinder workflow productivity. 

Example: Sentry, a leading SQL Server performance monitoring tool that helps developers to diagnose, fix, and optimize the performance of their code.  

Checks during Post-code merge

Just like pre-code merge, there are certain tools that act as a strategy to help development teams to examine and get an insight into the overall scenario after pre-code merge.

-  Performance 

It refers to the process of determining the speed, response time, stability, reliability, scalability, and resource usage under a workload.

Example: Sitespeed.io, a set of open-source tools that allows you to monitor and measure the performance of your website with ease.

-  Accessibility 

It refers to the process to ensure that the site built is usable by people with disabilities like hearing, color blindness, old age, and other disadvantaged groups. 

Example: Pa11y, a command-line interface with a job function to load web pages and highlights accessibility issues, if any. This tool is quite useful to run a one-off test against a web page.

- Warnings/Errors/Ngnix

The process to identify and configure the logging of a few warnings or errors that can further be used to debug your application or website.

Example: Jenkins Next Generation Warnings, a plugin used to collect compiler warnings or issues that are reported by static analysis tools and visualizes the results. 

- Periodic load tests on API level

It refers to a way that allows you to check whether your application is robust enough to handle the load you want it to handle before your users find that out for you. 

Example: k6, an open-source load testing tool to catch performance regression and problems at an earlier stage thereby allowing you to build resilient systems and robust applications.

Conclusion

To conclude, we hope this article has given you a good idea of what a workflow is and how you can use it in order to run your business. To be upfront, planning a development workflow for Drupal 8 projects takes a little bit of effort as well as time but it pays off considerable dividends in the near future. In other words, organizations with a good workflow have seemed to receive a part of the profit in terms of increased productivity, reduced stress, and a better quality of working life in general. All you need to do is give yourself some space to get started and make gradual improvements over time. Doing so will help you reap the possible benefits sooner rather than later. 

Want to know how to automate your own development workflow? Feel free to contact us at [email protected] and our industry experts will help you optimize your development workflow. 

Oct 06 2020
Oct 06

“The big deal about Drupal 9 is … that it should not be a big deal” - Dries Buytaert (Founder and Project Lead of Drupal)

June 2020 marked the onset of the long-awaited version 9 of the Drupal CMS. And just like every product, the moment this new CMS rolled out, it raised a lot of interest in the Drupal community as well as among Drupal users. The interest was to understand the new version of Drupal with a view to unlocking the new digital opportunities. Logically this interest gave rise to a number of questions in the head of users who were planning for Drupal 9, right from the ways to migrate to what this new release actually means to a user.

There are some common concerns about Drupal 9 that every Drupal user is battling with in some way or another way. Therefore, in this blog, we have initiated to unpack Drupal 9 FAQs which will put all your questions at peace and will surely help you unleash the best user experience on your website. 

Girl sitting right next to a big white tablet


1. What’s new in Drupal 9? 

Drupal 9 is an engine of innovation that has experienced the most straightforward update in the history of Drupal. As a matter of fact, Drupal 9 shares the same new features as Drupal 8.9. Thus, Drupal 9.0 will not include any new features. However, Drupal 9.1 will continue to receive new features biannually (within every six months) with a view to helping enterprises stay up-to-date. Check out the definitive guide to Drupal 9 to know more.

2. Did Covid-19 have any impact on the Drupal 9 release?

Covid-19 has impacted each and every sphere of our lives and the effect of this global pandemic is felt by everyone around the world. Drupal is no different and indeed there were certain challenges that Covid-19 generated against Drupal. However, despite all those hurdles that came across the way, Drupal 9 was released on its planned day i.e. on June 3, 2020. This launch of Drupal 9 is itself a milestone in the history of the open-source community that builds Drupal. 

3. Why was Drupal 9 built in Drupal 8?

Instead of working on Drupal 9 in its own git branch from the scratch, Drupal 9 was built in Drupal 8. Yes, you heard it right. Using the deprecations and optional updated dependency support, Drupal 9 was mostly built in Drupal 8 because of the following reasons:

  • All new (Drupal-9-ready) code was deployed on Drupal 8 sites before Drupal 9 came into existence. 
  • The community worked out the issues in the new code in Drupal 8.
  • Feedback was provided based on the new code so that necessary improvements can be made in Drupal 8.
  • Unlike previous versions of Drupal, building Drupal 9 in Drupal 8 helped the community to avoid ending up with an entirely reworked API.
  • It is important to note here that unlike previous versions of Drupal, Drupal 9 is not a reinvention of Drupal.

4. What will happen to Drupal 7?

Considering a large number of sites that would still be using Drupal 7 in 2020, Drupal 7  was originally decided to receive community support until November 2021. However, in the light of the impact of COVID-19 on the community, the association has now extended Drupal 7 support and moved the end-of-life date to November 28, 2022, which implies that Drupal 7 will be supported for close to 2.5 years after the release of Drupal 9. 

5. What will happen to Drupal 8?

Drupal 8 relies on Symfony 3, and Symfony 3’s end of life is November 2021. As a result, the community support that Drupal 8 receives- including security coverage, will last until November 2021. In other words, no new features will be added to Drupal 8, nor will minor releases be made available. After November 2021 users on Drupal 8 must upgrade to Drupal 9 in order to continue receiving support from the Drupal community.   

6. What are the benefits that Drupal 9 holds over Drupal 8 or even Drupal 7?

Drupal 9 is the culmination of all of the features that are developed over the course of Drupal 8. This updated technology helps Drupal 9 to continue Drupal 8's pattern of continuous innovation along with significant features that are released every six months.

Drupal 9.0 shares the same features as Drupal 8.9 (with the notable exception of updated dependencies). Further,

Drupal 9.1, 9.2, etc. will add new backward-compatible features every six months to Drupal 9.0. 

Drupal 9 platform will be supported with security fixes after November 2021 which makes it more advantageous than Drupal 8. Not to mention, Drupal 9.1 onwards will continue to add new features to Drupal core.

7. What is the best possible way to upgrade from Drupal 7 to Drupal 9?

Migrating from Drupal 7 to Drupal 9 is one of the recent advancements that took place in the world of Drupal. However, before the release of Drupal 9, the best path for Drupal 7 sites to upgrade to Drupal 9 was to upgrade to Drupal 8. This path of migration to Drupal 8 is still a good option for Drupal 7 sites, despite the release of Drupal 9.

Migration from Drupal 7 to Drupal 8

The Drupal 7 to Drupal 8 upgrade includes some pretty significant changes. Migrating Drupal 7 to Drupal 8 can be done in the following ways: 

  • Migrate everything, which includes content and configuration, into an empty Drupal 8 installation (the default method).
  • Manually create a new Drupal 8 site, set the content types and fields up as per the requirement, and then migrate your Drupal 7 content in it. 

Migration from Drupal 7 to Drupal 9

Migrating from Drupal 7 to Drupal 9 can be a possible jump in the world of Drupal. In other words, the Drupal 7 migration ecosystem is still available in Drupal 9, which can help you easily skip Drupal 8 entirely and migrate to Drupal 9. There are three factors that will likely shape this decision-making process that include time and budget, developer skillset and planning a release window. 

8. What is the best possible way to upgrade from Drupal 8 to Drupal 9?

Fortunately, migrating Drupal 8 to Drupal 9 is radically the easiest update that has happened in a decade. However, it is equally important to note here that the path of Drupal 8 to 9 is not a sudden jump, rather it is a compendium of several steps that are much easier to adapt and perform. 

Upgrade to Drupal 8.8 or Drupal 8.9: In order to update your Drupal 8 to Drupal 9, update your site to the most recent version of Drupal 8.x. Drupal 8.8 was a big milestone for API compatibility which is fully compatible with Drupal 9. That is to say, contributed modules that are released prior to 8.8 may not be compatible with Drupal 9.
 
Environment requirements: Ensure that your environment is well suited to Drupal 9’s requirements.  There are new minimum requirements for various databases like MYSQL and MariaDB. Also, your Drush version must be updated to Drush 10. 
 
Audit for conflicting dependencies: If there exist dependencies that are no longer in use, then you will have to find some way to remove those dependencies. This can be done by either rewriting custom code or finding alternative solutions to fix these issues.
 
Check and remove deprecated code: Your site includes deprecated code that needs to be removed. There are a few tools that can be used to check if your site contains deprecated code or not. Some of the common tools include Drupal Check, PhpStan Drupal, Drupal Quality Checker, Upgrade Status and Configuring your test suite. Further, in case your site detects deprecated codes, you can use tools like Rector for Drupal 8 and Upgrade Rector to fix the deprecated codes. 
 
Flag modules as Drupal 9 compatible: Once you have removed the deprecated code from your custom modules, do not forget to flag them as being compatible with both Drupal 8 and Drupal 9.
 
Update contributed modules: Make sure to update all your contributed modules to a Drupal 9-compatible version while your site is still on Drupal 8. This needs to be done before attempting an upgrade to Drupal 9.
 
Once that is done, update your Drupal core to Drupal 9 and run update.php.

9. What are the system requirements to run Drupal 9?

  • In order to run a site built on Drupal 9, your system must comply with the following requirements.
  • If you are planning to run Drupal 9 on Apache, you should have at least version 2.4.7 of the same.
  • PHP 7.3 is the minimum requirement of Drupal 9. PHP 7.4 can be supported too but it is not required. 
  • Despite the fact that Drupal core does not require Drush, many people do use it. However, as of now, Drush will only provide Drupal 9 compatibility in Drush 10. 
  • Besides these requirements, there are some other requirements which include:
  1. Version 5.7.8+is required if using Drupal 9 with MySQL or Percona.·        
  2. Version 10.3.7+ is required if using Drupal 9 with MariaDB.
  3. Version 3.26+ is required if using Drupal 9 with SQLite.
  4. Version 10 is required with the pg_trgm extension if using Drupal 9 with PostgreSQL. 

10. Has theming changed from Drupal 8 to Drupal 9? 

Drupal 9 has updated the Twig templating engine from Twig 1 to Twig 2. This up-gradation of Twig from version 1 to 2 implies that much of the work that has already been done to theme your site using Twig is completely reusable. 

11. Is there any update for third party dependencies in Drupal 9? 

Symfony 3 to 4.4:

The release of Drupal 9 is planned for security support for the most important third party dependency, called Symfony. Since Symfony 3's end of the date is November 2021, Drupal 9 is updated to Symfony 4.4. 

Twig 1 to 2:

Drupal 8 shows a heavy reliance on Twig 1.  Since there is no clear end of life date announced yet, Twig 2 has been launched for years which will be used by Drupal 9 users.

CKEditor 4 (not 5):

CKEditor 4 and 5 are two completely different codebases. Both Drupal 8 and 9 include CKEditor 4. Security support of CKEditor 4 will end around the end of Drupal 9’s life. Therefore, the community has decided to include CKEditor 5 in a future version of Drupal 9, deprecate CKEditor 4 in Drupal 9, and remove it in Drupal 10. 

jQuery and jQuery UI:

Re-evaluation of jQuery UI has resulted in the elimination of most of the components from the core. Only a limited number of components will remain as forked versions that can be used to repair future security issues. Drupal 9 will still be dependent on jQuery itself.

PHPUnit:

Drupal 8 diminished the very own SimpleTest testing system, giving support to PHPUnit. Drupal 9 requires PHPUnit 8 which is responsible for the updates of their PHP requirements strictly according to the support provided by PHP.

Doctrine:

Drupal 8 uses Doctrine's Simple Annotation Parser. However, this has received strong disapproval and will be discarded from a future release without any replacement. The part of the code is divided and included with the Drupal core. 

12. How much time will the contributed module and theme ecosystem take to be ready for Drupal 9?

The process of updating the majority of the top 200 Drupal 9 contributed modules is relatively simple. For this, the contributed project maintainer is required to remove deprecated code from the module or theme and further update the info.yml file in order to confirm compatibility with Drupal 9. Also, patches can be contributed by the developers in the Drupal community to make modules Drupal 9 compatible. 

13. Which modules are no longer supported in Drupal 9? 

The Place Blocks and SimpleTest modules have been removed from core in Drupal 9.

14. Is Drupal 9 difficult to use?

Is Drupal 9 difficult to use? Will I be able to work with Drupal 9? Will I be able to deliver easy access to regular users? You surely have these questions in your head if you are preparing for Drupal 9. 

Well, the answer is no. Drupal 9 is an upgraded version of Drupal 8 which is built on the true spirit to provide an improved user-friendly experience. With every update that Drupal undergoes, it comes as a more powerful and user-friendly approach and this is why Drupal has come a long way. Using the tremendous technical power that Drupal offers, Drupal 9 creates an ideal user experience. Regardless of the job profile (content creator, a website developer, or IT support) you hold, you can count on continuous innovation in usability from Drupal.

15. Why choose Drupal 9 over other CMS platforms?

The software should always support your business model and not the other way around. Saying so, Drupal is an ideal CMS that provides a platform to deliver ambitious digital experiences. As the digital landscape continues to extend to more channels and touchpoints, a CMS like Drupal 9 is all you need in your store. Not to mention, Drupal 9 has a hold on the creation of powerful content creation tools, and efficient workflows that can nourish customer journeys. While the true power of Drupal 9 lies in its flexibility and richness, other CMS platforms focus on pre-defined templates or industry-specific solutions. 

16. What ideal tools do Drupal 9 provide to manage content deployment?

Drupal 9 offers the Workflows core module to manage the content deployment as well as editorial workflows in Drupal. The workflows module being an ideal tool is leveraged by major media organizations throughout the world. In addition to this, there are 2 other modules, namely the Content Moderation module and Workspaces module which are responsible to enhance the capability to manage content deployment in different workspaces. 

17. What are the various accessibility features that Drupal 9 will have built-in? 

The Drupal community has always stuck to its root, which means providing the best to its members. The release of Drupal 9 is no different and this is the reason why Drupal 9 is carrying forward the commitment to accessibility which began with the advent of Drupal 7. The existence of Drupal's Core Accessibility Gate feature (responsible for the core changes) in Drupal 9 is itself evidence of dedication to accessibility efforts. Major accessibility features included in Drupal 8 like full keyboard support, voice-to-text for visually impaired users, and media and layout enhancements will continue to be refined and worked on in Drupal 9. 

18. Is there any important security change to expect in Drupal 9? 

One of the main reasons behind Drupal 9 up-gradation lies in security enhancements. Drupal has always shown itself as a secure and ideal choice and the launch of Drupal 9 ensures that Drupal is secure and compatible with modern system requirements. As a matter of fact, Drupal 9 discards deprecated data code, implying working on a smaller codebase, thereby improving security standards and reducing security risks or errors. 

19. Does Drupal 9 offer the same kind of multilingual support that Drupal 8 offers? 

Drupal 9 is graced with all of the robust multilingual features that Drupal 8 has and does not require any re-architecture when updating. 

20. How will Drupal 9 support API-first/headless/decoupled deployments? 

Drupal 9 is built on Drupal 8's API-first architecture and thus it continues to be a leader in headless and decoupled solutions in the CMS market. However, headless//decoupled solutions may differ widely depending on the front-end technology being chosen.

21. Will Drupal 9 enhance movement towards more robust headless support and non-web content? 

With the advancement in technology, there is a huge interest in headless and non-web content with things like chatbots and IoT devices. As of now, there are no plans set to expand into more decoupled features, but the community will always look for change and innovation. There are a myriad of contributed modules that are solely dedicated to decouple and headless support. 

22. How does the new Layout Builder feature allow content editors to build and modify pages?

Drupal's Layout Builder allows content editors to build and modify pages visually using drag-and-drop. Using this feature, a heavy reliance on developers can be eliminated and marketing workflows can be increased. Speaking of the role of Layout builder, this tool lays its entire focus on providing layout tools for non-decoupled Drupal installations. In order to expose Layout Builder components through Drupal's API, a hybrid approach could be used in decoupled implementations.

23. How will Drupal 9 work in combination with disruptive technologies?

Voice, visual search, AR and VR displays are effectively new interaction and presentation models that are responsible for dealing with already existing data. The fundamental content modeling expertise of Drupal and its API-first design makes it a perfect fit to prototype these aforementioned interactions, or to build production applications.

24. What can we expect in Drupal 9 in the upcoming releases?

Making Drupal intuitive is the foremost priority of Drupal 9. Automated Updates Initiatives, adapted during Drupal 8, is being actively worked upon, which would help organizations to keep their sites in a proper and maintained state without requiring a lot of dev resources.

Olivero, a new frontend theme is lined up that can be used optimally for accessibility and front-end experiences. Olivero is being created for people like marketers, site designers, and content editors. 
Besides this, Drupal 9 includes dependency updates and removing deprecated code requirements which were not possible in Drupal 8.9 due to backward compatibility. 

Drupal 9.1 will be open for feature development of all the issues that cannot get into Drupal 9.0. It will also be the place to introduce new deprecations for Drupal 10 and all changes that are only allowed in minor releases. Drupal 9.1 will be released in December 2020.

25. How long will Drupal 9 be supported?

As stated earlier, Drupal 9 heavily relies on Symfony 4 which has an end of life in November 2023. After this, security bugs in Symfony 4 are not possible to get fixed. As a result, all users of Drupal 9 will have to upgrade to Drupal 10 by the end of 2023. 

26. What about Drupal 10?

Drupal 10 is planned to align with the life cycle of third-party projects that are closely integrated with Drupal, for example, Symfony and Twig. Since the Drupal community wants site owners at least one year to upgrade from Drupal 9 to Drupal 10, the community is hoping to jump in and make the next release i.e Drupal 10 in June 2022.

Moreover, new functionality for Drupal 10 is actually added to Drupal 9 releases, implying easy adoption of any new APIs by module developers. Drupal 10 removes all deprecated code providing developers a chance to stay up to date with API changes and thus making the upgrade to Drupal 10 a lot easier. 

Conclusion

The best of the Drupal community has worked hard to produce and deliver this masterpiece to the digital world. Years of hard work and determination have given birth to this higher-performing, robust, and more flexible solution. The change from Drupal 7 or 8 to Drupal 9 is not that easy, however, once you embark on the journey of Drupal 9, life will surely get much easier. 

Skeptical about how to migrate your site to Drupal 9 at ease? Contact us at [email protected] and our experts will help you with the best possible approach towards a successful Drupal 9 migration. 

Sep 10 2020
Sep 10

“Since getting started with Drupal can be a bit intimidating for newbies, this blog is literally a great investment to take a look at”.

Apparently, Drupal offers a wide range of modules, nearly thousands of modules that are available to download anytime and anywhere. Modules play a pivotal role in the overall Drupal experience. The reason being, a module is a compact set of PHP, JavaScript and/or CSS files that provide a framework to strengthen the functionality of the website.

When you are starting a new Drupal project, there are certain modules that you need to consider installing right away irrespective of what sort of industry type that is for or what will be the key functions of that website.

Therefore, in this blog, we have rounded up some of the most common Drupal modules that are really helpful and can be used in almost all cases. So, without any further ado, let’s get right into the article. 

Modules for site-building

Admin Toolbar

The Drupal Admin Toolbar is a very light module and allows faster and easier functioning to all administration pages. The module is highly capable to improve the default Toolbar (the administration menu at the top of your site) by transforming it into a drop-down menu. You can also create simple icons using Admin Toolbar which offers quick shortcut links to make for a more mobile-friendly and receptive experience.

PathAuto

The PathAuto module is a must-have module in every Drupal project. It is one of those tools that has got your back when you experience some not-so-fun work. Not only this, but the module also does it quickly and effectively. The Drupal PathAuto module helps in generating SEO friendly and well-structured URLs. Site admins can also change the pattern system by changing the tokens it uses. Read the ultimate Drupal SEO guide for 2020 to know more about Drupal’s SEO features.

Token

A Token is a fundamental element in any Drupal website. This Drupal module provides additional tokens (which are not supported by core), as well as a UI for browsing tokens. In addition to this, the Token module auto generates metadata about a website that further helps in search engine optimization (SEO). 

Inline Entity Form

Originally created for Drupal 7, the Inline Entity Form is a popular Drupal module that provides a widget for inline management (creation, modification, removal) of referenced entities. The module allows you to create multiple types of content (or other related entities) from a single form and is primarily used to let you manage order items from the order add / edit form.  

Paragraphs

The Drupal 8 Paragraphs module is an author-friendly extension that allows content authors and editors to create flexible and structured content at ease. Using drag and drop functionalities, Paragraphs makes it possible to combine several different fields into a custom reusable element. Moreover, you can add various paragraphs field types such as images, text blocks, quotes, slideshows, videos and so much more.

Advanced Aggregation

The Advanced CSS/JS Aggregation module allows you to enhance the frontend performance of your site by minimizing the CSS and Javascript. The module has the capability to reduce the delivery of the number of files as well as their size. This in turn augments the download and display speed of the entire content of a web page. Not to mention, Advanced CSS/JS Aggregation collects and stores each resource category, thereby consuming less amount of data to download the page. Read Drupal’s effect on high-performance websites to understand more about Drupal’s performance optimization capabilities.

Metatag

The Metatag module plays a significant role as it allows you to automatically provide structured metadata aka "meta tags", about a website. If used in the right manner, Metatags can help you reach your audience in the most natural manner. In addition to this, the module provides support for meta tags (Open Graph Protocol from Facebook, Twitter Cards from Twitter) that have the power to control how content will appear when shared on social networks.

Redirect

The most important part to build a site right is to involve the Redirect Drupal module. The module allows the creation and management of redirects using a simpler user interface. In order to sustain in the long-term, the website must have the ability to create and maintain redirects. Well, this function can be handled perfectly by the Redirect module which creates manual redirects and maintains a canonical URL for all content, redirecting all other requests to that path.

Coffee

Inspired by Mac apps Alfred and Spotlight, the Coffee module allows you to navigate the admin area using your keyboard which is always much faster than a mouse. Just type (alt + D) or (alt + shift + D) using a simple keyboard shortcut, depending on your internet browser, and you are all set to search for the page you are looking to visit, and it will source it in the fewest characters possible.

Entity Reference Revision 

The core Entity Reference module forms the basis of the Entity Reference Revision module that allows you to reference a specific revision of an entity. This Drupal module is presented form the team that brought the Paragraphs model in existence. Besides this, it adds an Entity Reference field type that has revision support and can work in favor of modules like Paragraphs and Inline Entity Form.

Webform

Webform Drupal module is one of the most powerful modules responsible for making forms and surveys available for your users to submit. Once a customizable email is sent to administrators and/or submitters, results can be immediately taken out into Excel or other spreadsheet applications. Moreover, Webform also provides some basic statistical reviews and has an extensive API in-store to further expand its features.

Simple XML sitemap

Search Engine Optimization (SEO) has always been the topmost priority for the Drupal community and therefore tons of modules are created to improve the SEO ranking. Specifically made for Drupal 8, the Simple XML Sitemap module adheres to google’s latest standard and supports multilingual content which makes it even more futuristic and flexible. It also provides an API that allows you to customize links and configurations.

Field group

Field group as the name suggests group fields together which cleans up content types and reduces the burden which falls directly in the lap of content editors. All fieldable entities have the possibility to add groups to wrap their fields together. The main intent of this particular Drupal module is to allow grouping similar fields into tabs, thereby making it easier for people to visualize and deal with the content on the page. 

Fast 404

Drupal suffers from expensive 404 errors which consume more memory of the server to load a page than it should take. This is where the Fast 404 module comes into the picture. Fast 404 Drupal module reduces expensive page rendering without the urge for an additional module. By enabling this module, you can decrease waste bandwidth and server load on-site. In other words, you can deliver 404 errors using less than 1MB of memory on your server. 

403 to 404

403 to 404 refers to a simple Drupal module that emits a 404 error when a user tries to access a page that they don't have access to view.

Modules for development

Devel

Being a web developer who is looking for some tools for debugging, the Devel module can be really powerful that any developer would love to improve efficiency. This module is like a compendium of tools with functions that are handy. For example- the ability to create dummy users, nodes, and taxonomy terms as well as easily view information about APIs, cache effectiveness, Views, database queries, and more.

Devel PHP

The Devel module is used to remove the execute feature from the Drupal module. The Devel PHP module allows you to re-use this feature provided by the Admin toolbar by re-adding the executive tool as an external feature. 

Backup and Migrate

Creating a regular backup is an important step to ensure that you don’t lose your data. Drupal is no different and understands this concern. You will be glad to know that Drupal has a dedicated module to look after backup issues that software might face. This module is popularly called the Backup and Migrate module which allows backing up databases, files, codes, etc. This Drupal module is easy and is highly recommended for beginners. Go through the ultimate guide on Drupal 9 to plan a better migration path.

Twig Tweak

Twig Tweak Drupal module is a small module that is accountable to provide a Twig extension with some useful functions. Along with it, the module allows filters that hold the potential to improve the development experience.

Ctools

Ctools is an important module in the Drupal framework which basically is a suite of APIs and tools that can make code readily available with a view to improving the developer experience. This suite comprises a module called the Page Manager who is responsible for managing pages. The usage of Ctools varies from people to people and is highly dependent on the person using it. 

Modules included in core and disabled by default

Media 

The Media module is held responsible for the management of creation, editing, deletion, settings, and display of the media entities. The media items generally include images, documents, slideshows, YouTube videos, tweets, Instagram photos, etc.

Media Library

Have you ever wondered if a tool can help you manage media at ease? No? Well for your notice, Media Library is a media management tool that can help you find already existing on your site. Not to mention, the tool can help you make additions of new media items to an entity reference field, or embed media into your content via a text editor. This Drupal module is used in sites which is rich in content, where the media assets can be reused.

Layout Builder

Drupal Layout Builder is a unique module that allows content editors and site builders to create a powerful visual design for displaying content, that too with ease. Using this module, developers can easily and conveniently build page layouts using a UI and allows embedding and linking any elements in layouts (fields, views, menus, and forms). Layout Builder in Drupal 8 gives you access to add/remove sections to display the content using different layouts, and customizing your pages based on the requirements. 

JSON: API

JSON: API is intended to minimize the number of requests and the amount of data transferred between clients and servers efficiently. This Drupal module is of pre-determined nature where everything is pre-fixed. In other words, the possibility of making amends in this module is zero. Be it about the location where the resources will reside, or what methods are immediately available on them. Not to mention, JSON: API provides access control to Drupal Core's permissions system. 

GraphQL 

The GraphQL is a perfect fit for anyone who wishes to raise a query or update/delete any content or configuration. This can be done with the help of the official GraphQL query language.  The GraphQL module is considered as one of the finest as well as a mightier tool of Drupal which can be used as a foundation for building your own schema through custom code or you can use and extend the generated schema using the plugin architecture and the provided plugin implementations form the sub-module.

RESTful Web Services

Inspired by Drupal 7, the RESTful web services module relies on the Serialization module in Drupal 8 core to allow a customizable and extensible RESTful API of data that is managed by Drupal. Surprisingly, this Drupal module provides you to create an interaction with any content entity (nodes, users, comments) as well as closely monitor the database log entries.

Core Multilingual modules

A multilingual site allows developers to access Drupal in a language that they prefer. For this obvious reason, the multilingual component feature of Drupal has become an ideal choice for both businesses and developers. Presently, Drupal offers 4 different modules for language and content translation which can be enabled as per the need of the website.  

Language Module:

This is the base module that is required for any non-English or multi-lingual site. It provides users access to arrange languages and apply languages to content.

Locale (Interface Translation) module:

This particular Drupal module is responsible for translating the built-in user interface, your added modules, and themes.

Content Translation module:

This module provides the translation of content entities. Further, it lets you translate your site content, including pages, taxonomy terms, blocks, etc., into different languages.

Configuration Translation:

It is responsible to allow translation of the text that is part of the configuration, such as field labels, the text used in views, etc.

Migrate

The Migrate module is used to provide a flexible framework for migrating content into Drupal from other sources. For example- converting a site from another CMS to Drupal. Besides this, this module can be easily extended for migrating other kinds of content too.  

Migrate UI

Drupal Migrate UI is responsible to provide the browser user interface (UI) for Migrate Drupal. This Drupal module provides a user interface for editing and configuring migrations to Drupal 8.

Conclusion 

And now that you have reached the end of the blog, we expect you to have some really solid suggestions on your radar. Most importantly, make sure that whatever you figure out should be the best fit for your website and your workflow. 

Think you are ready to take a plunge into Drupal? Contact us at [email protected] and our experts will help you plan and launch your site with ease.

About Drupal Sun

Drupal Sun is an Evolving Web project. It allows you to:

  • Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
  • Facet based on tags, author, or feed
  • Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
  • View the entire article text inline, or in the context of the site where it was created

See the blog post at Evolving Web

Evolving Web