The Static Web offers faster, leaner, highly-scalable, lower-cost, more secure website hosting with far fewer moving parts when compared with traditional dynamic websites that depend on systems such as databases or application servers. Learn more about the history of the Static Web in Back To The Static and some basics of What is a static website?.
Quant Drupal module
You can make your Drupal website static! QuantCDN’s Drupal module is available for Drupal 7, Drupal 8 & Drupal 9 and allows you to fast-track your move to the Static Web using our seamless integrations. Check out our demos and tutorials for creating a static website using Drupal:
- Create a static Drupal 7 site with the Quant module
- Create a static Drupal 8 or 9 site with the Quant module
- Umami Drupal 9 static site Quant demo
How does it work?
Here are some high-level technical details how the Quant Drupal module works:
Rather than crawling the site externally, the module uses core Drupal render mechanisms to ensure that the static representation matches what an anonymous user would see when accessing the Drupal site.
The module allows site builders to continue to build sites natively as they always have previously with any number of solutions including paragraphs, display suite, and the core block system.
The module integrates with core Drupal modules, e.g. sitemap and workflows, to provide full content export functions and enables compatibility with current site implementations.
Pluggable interfaces using standard Drupal APIs allow developers to extend the collection methods. This allows sites that have defined custom entities and pages to integrate with the Quant module to include those assets in content exports.
Schedules and workflow support ensures that content entry is not disrupted. Content creation is not impacted by the Quant module.
The Quant Drupal module integrates with the node system. Transition and state changes trigger the module to make API requests to change the state accordingly. For example, a delete in Drupal will ensure that the content in Quant is no longer served.
The module registers operations as shutdown functions. This means that the methods required to gather rendered content happens after all other Drupal processes. As a shutdown function, Quant does not interrupt or intercept the standard function calls of core and contributed modules.
In addition to using shutdown functions to ensure the module doesn’t interrupt your normal website functionality, we have handling for unexpected events. For example, if the Quant API is down for whatever reason, this does not impact the standard operating workflows of site owners.
The module allows site owners to hydrate/seed Quant with all content as a once-off export and afterwards continues to monitor content changes to create atomic releases of content. This initial hydration of content may take some time and is typically done through Drush.
To allow an anonymous user to access unpublished content (if draft syncing is enabled), Quant creates a short-lived token that is added as a request header on the internal subrequest. This token needs to be short-lived to allow subsequent requests from a page to allow the page to render correctly. These tokens are scrubbed during regular Drupal garbage collection routines. This has been done to produce minimal interruption with site setups.
As a standalone module, Quant can be uninstalled at any time without impacting the website or database. It can also be reenabled as needed.
As a Drupal module, the configuration and connection to Quant is controlled on a per-site basis allowing for greater flexibility and control over who and how the module is enabled. If you are responsible for a number of websites, you can have different settings for each.
Quant takes security very seriously. QuantAPI requests are encrypted and sent over HTTPS.
The Quant module defines permissions that restrict user access from the configuration screen. Configure your permissions as you normally would for a Drupal module.
The module is available via Drupal.org as a contributed module and is in the process of seeking coverage by the standard Drupal.org security testing policies.
Development happens on GitHub, and issues and feature requests are managed via the GitHub issue queue. You are welcome to also log issues in the Drupal.org issue queue if you are more comfortable with that and we’ll sync the issues to GitHub.
Support for other contributed modules (e.g. webform, xmlsitemap) is provided by submodules for Quant. For example, quant_sitemap controls integration with contributed sitemap modules. Each submodule is discrete, integrates with the Quant module API, and provides its own tests.
The Quant modules are open source and receive ongoing maintenance and updates as the product changes. You are welcome to contribute as well! Report bugs, suggest improvements, update code, test the modules… whatever you are able to do will improve the experience for everyone.
For a step-by-step guide to installing Quant’s Drupal module visit Drupal CMS Integration Steps or see Quant’s Drupal module in action with our Umami demo (which was exported to Quant with a single click!). Also checkout how to configure the Quant module for Drupal 7 and for Drupal 8/9.