Welcome to drupal.docs.cern.ch, your one-stop Drupal resource at CERN.
If you have no idea what Drupal is, please read on!
What is Drupal?
Drupal is a content-management framework with a high degree of customisation and flexibility.
A content-management framework, or, more commonly, content-management system (CMS), is software which helps users create, manage, and modify websites and content. Drupal, in all its simplicity, does just this. Thanks to a comprehensive suite of modules, themes, and other packages, Drupal is highly flexible and offers almost endless customisation. If you would like to see what Drupal can do, check our showcase for examples from across CERN! Drupal itself is free and entirely open-source, developed with contributions from a sprawling ecosystem of thousands developers. More information is available here.
Almost every website at CERN is built using Drupal.
https://home.cern/, as shown in the above screenshot, is no exception. Accordingly, CERN maintains a suite of CERN-specific modules and themes which ensures a consistent look and feel across .web.cern.ch and .cern websites. These modules and themes are included in the official CERN Drupal Distribution, which in turn is managed by the dedicated IT Drupal Infrastructure Team. This gives every Drupal website created at CERN access to the same set of modules and themes out-of-the-box, vastly simplifying the process of developing a website.
What is a module?
In the context of Drupal, a module is a software package which provides functionality not offered through Drupal itself. At CERN, this could be integration with CDS (https://cds.cern.ch/) to host media or Indico (https://indico.cern.ch/) to import and display events. By default, all CERN websites include a collection of CERN-specific modules through the centrally managed CERN Drupal Distribution. In addition to official CERN modules developed and maintained by the Web Team, the distribution also includes a collection of carefully cuarated community contributed modules, ensuring that the most common use-cases are accommodated out-of-the-box.
While we always recommend websites to stick with what is included in the CERN Drupal Distribution, it is possible to install any number of modules made available to the wider Drupal community via https://www.drupal.org/project/project_module if such functionality is absolutely necessary. Kindly note, however, that installing community contributed modules in this manner, or otherwise expanding the functionality offered in the CERN Drupal Distribution, requires website owners to assume responsibility of their website(s) moving forward. This includes, but is not limited to, ensuring continued compatibility with Drupal and any underlying dependencies or frameworks that may change or be upgraded independent of the specific module(s) such as PHP, CKEditor, or Symfony. We further strongly recommend creating internal documentation on any customisation to ensure future colleagues can maintain the website(s) in question.
All Drupal modules are written in PHP.
What is a theme?
In the context of Drupal, a theme is styling that changes the look and feel of your website.
As with modules, a dedicated CERN Theme is included in the CERN Drupal Distribution.
What are the prerequisites to get started?
How can I get help?
We strive to make these docs your go-to place for anything Drupal.
We are continuously expanding the website with guides and tutorials for most use-cases.
If you have any questions or concerns, please refer to the CERN Drupal Community forum.
How can I help?
This documentation is open and accessible by everyone with a CERN account. If you spot an error, a typo, or would like to propose changes, please click Edit this page at the bottom of any page. Clicking this link takes you to the below screen directly on our Gitlab page (https://gitlab.cern.ch/drupal/paas/drupal-documentation/). On here, you can submit your proposed changes. We will then review your submissions and update the documentation accordingly.
We intend for this documentation to be living and breathing.