Advanced customization

Restrictions

The College uses a "Drupal as a Service" (DaaS) support model where we manage the backend (hosting, code, etc)  keeping it updated and aligned with ASU web standards. Our units use the website tools we provide to build their site in the Drupal front-end. Communicators, UTO, and third parties will not have access to the Drupal codebase or Pantheon dashboard of a site using The College Drupal Distribution. Custom themes and modules are not supported with The College Drupal distribution. Maintaining consistency across site codebases allow us to automate update workflows, streamline QA testing and ensure ASU brand compliance. 

Options for customization 

Even without access to the codebase, there are opportunities to work within The College Drupal Distribution to create unique websites with highly customized features. The College web team is also happy to collaborate with communicators and vendors to add additional functionality to the distribution that would meet common needs.

Installing contributed modules

If you need to install a Drupal community contributed module that does not come with the distribution, contact The College web team via the support form. Usually only stable releases for modules covered under Drupal's Security Advisory are considered.

Theming - Custom HTML, CSS and Javascript

Using The College Drupal distribution, there are a number of ways to include custom front-end code in a website. 

  • HTML content row
    Any landing or basic page can include an HTML content row (Paragraph) that is full width, free of styling and includes an in-page code editor with line numbers, indentation, auto-complete, etc. This can include HTML, CSS and JavaScript, although it is not recommended to place JavaScript inline. A better approach to JS is listed below.
  • Asset Injector
    The Asset Injector module is included with The College Drupal distribution. This module allows you to add custom stylesheets and JS documents to any/all/specific pages on the site. The custom code is properly included with Drupal's CSS/JS aggregation functionality so this method has minimal impact on site performance.
  • Custom classes
    Most content rows (Paragraphs) have a custom class field which can be used with the Asset Injector to create customized versions of existing content rows. The benefit to this method is content editors can still use a WYSIWYG and structured content fields to edit the page instead of editing HTML code.