Introduction to Modules
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 curated community contributed modules, ensuring that the most common use-cases are accommodated out-of-the-box.
We differentiate between three types of modules:
- CERN-official modules;
- Community-contributed modules included in the CERN Drupal Distribution; and
This section will cover CERN-official modules only.
Included in the CERN Drupal Distribution are the following CERN-official modules:
- drupal/cern-cds-media
- drupal/cern-components
- drupal/cern-dev-status
- drupal/cern-display-formats
- drupal/cern-full-html-format
- drupal/cern-indico-feeds
- drupal/cern-install-profiles
- drupal/cern-integration
- drupal/cern-landing-page
- drupal/cern-ldap-api
- drupal/cern-loading
- drupal/cern-paragraph-types
- drupal/cern-profile-displayname
- drupal/cern-toolbar
- drupal/cern-webcast-feeds
Additional modules exist as underlying dependencies and cannot be configured directly. In the following pages, some of the above CERN-official modules will be covered in greater detail. If you are looking for information about a specific module, kindly refer to the sidebar for quickly navigating to the correct page. Should you have any questions about a CERN-official module not otherwise covered in this documentation, please reach out.
Centrally Provided Modules
In addition to the CERN-official modules, a selection of carefully curated modules are included in the CERN Drupal Distribution. These modules are either recommended by the Drupal Association, widely used across CERN, or act as a dependency for CERN-offical modules. This list is not exhaustive, and modules may be added or removed as our offering advances. As these are community-contributed (i.e. third-party modules), we always require modules to have a proven record and otherwise be actively supported by multiple developers. In the event that a module stops receiving support, fails to address potential security vulnerabilities, or eventually becomes incompatible with newer versions of Drupal, we may be forced to remove it from the distribution.
As of November 2022, centrally provided modules include:
- bower-asset/bootstrap
- bower-asset/ckeditor
- bower-asset/jquery-cycle
- bower-asset/jquery-hoverintent
- bower-asset/json2
- ckeditor/ckeditor
- composer/installers
- cweagans/composer-patches
- dompdf/dompdf
- drupal/admin_toolbar
- drupal/adminimal_theme
- drupal/allowed_formats
- drupal/bootstrap
- drupal/captcha
- drupal/ckeditor_font
- drupal/codesnippet
- drupal/color_field
- drupal/colorbox
- drupal/colorbutton
- drupal/components
- drupal/config_update
- drupal/content_access
- drupal/cookieconsent
- drupal/core-composer-scaffold
- drupal/core-dev
- drupal/core-project-message
- drupal/core-recommended
- drupal/ctools
- drupal/devel
- drupal/ds
- drupal/easy_breadcrumb
- drupal/entity_browser
- drupal/entity_print
- drupal/entity_reference_revisions
- drupal/externalauth
- drupal/extlink
- drupal/facets
- drupal/features
- drupal/feeds
- drupal/fences
- drupal/field_formatter_class
- drupal/field_group
- drupal/field_permissions
- drupal/filefield_paths
- drupal/filelog
- drupal/honeypot
- drupal/hook_event_dispatcher
- drupal/imagemagick
- drupal/jquery_ui
- drupal/jquery_ui_accordion
- drupal/jquery_ui_datepicker
- drupal/jquery_ui_draggable
- drupal/jquery_ui_droppable
- drupal/mailsystem
- drupal/matomo
- drupal/memcache
- drupal/menu_block
- drupal/menu_breadcrumb
- drupal/menu_force
- drupal/metatag
- drupal/migrate_plus
- drupal/migrate_tools
- drupal/migrate_upgrade
- drupal/module_filter
- drupal/node_view_permissions
- drupal/openid_connect
- drupal/panelbutton
- drupal/panels
- drupal/paragraphs
- drupal/pathauto
- drupal/permissions_by_term
- drupal/r4032login
- drupal/recaptcha
- drupal/redirect
- drupal/redis
- drupal/require_login
- drupal/rules
- drupal/scheduler
- drupal/search_api
- drupal/smart_trim
- drupal/token
- drupal/twig_tweak
- drupal/ui_patterns
- drupal/ui_patterns_ds
- drupal/ui_patterns_field_group
- drupal/ui_patterns_layouts
- drupal/ui_patterns_library
- drupal/upgrade_status
- drupal/userprotect
- drupal/views_bulk_operations
- drupal/views_slideshow
- drupal/views_taxonomy_term_name_depth
- drupal/viewsreference
- drupal/webform
- drush/drush
- npm-asset/jquery
- vlucas/phpdotenv
- webflo/drupal-finder
- wikimedia/composer-merge-plugin
If you feel a module should be included in the CERN-wide offering, please get in touch.