pantheon-systems/edge-integrations-drupal-sdk

A one-stop shop for integration your Drupal site on Pantheon with advanced Edge Integrations tools.

0.3.0 2022-07-13 21:04 UTC

This package is auto-updated.

Last update: 2024-04-14 00:59:52 UTC


README

Unsupported Packagist Version MIT License

Welcome to the Pantheon Edge Integrations Drupal SDK!

This repository serves as a one-stop shop for integrating your Drupal site on Pantheon with our Edge Integrations toolset.

Architecture

The diagram below illustrates the general overview of what this SDK provides and how the pieces fit together.

flowchart TB
agcdn[/Pantheon Advanced Global CDN\]-->ei[Pantheon Edge Integrations global library]
ei-. optional .->smart_content(Smart Content)
smart_content-. optional .->smart_content_cdn(Smart Content CDN)
smart_content-. optional .->smart_content_preview(Smart Content Preview)

Description

The Edge Integrations Drupal SDK is made up of several components that, in addition to the documentation stored in this repository, are all installed automatically when you composer require the project in your Drupal project root.

Pantheon Advanced Global CDN

Edge Integrations start with the "edge" itself, the CDN layer that is the last stop before a page is rendered in your browser. Pantheon's Advanced Global CDN has enabled Varnish configuration rules on our AGCDN platform to allow for geolocation information and interest tracking data to be sent back and forth with the CDN, enabling CDN caching for content personalized by those parameters. AGCDN is the first step for Pantheon Edge Integrations and allows us to render cached versions of personalized pages.

Pantheon Edge Integrations global library

The Pantheon Edge Integrations global library allows developers to interact with the header data sent to and from the CDN. This is a low level interface that simplifies the process of communicating with and interpretting headers sent from the CDN. It's important to note that the Edge Integrations library is built as a generic, CMS-agnostic PHP package, and is used as the base of both the WordPress and the Drupal implementations.

Smart Content CDN

Smart Content CDN uses interfaces provided by Smart Content as well as the interactions with header data enabled by the Pantheon Edge Integrations library to handle the two-way communication between the CDN and the CMS to render personalized content by geolocation or interest.

Smart Content Preview

Smart Content Preview allows blocks created with Smart Content to be previewed and tested. In this case, this allows the site administrator to preview geolocation- or interest-based content on the front-end. This module is currently still in development.

Setup

Adding Edge Integrations support to your project is simple.

To get started, all you need to do is to add this repository as a dependency:

composer require pantheon-systems/edge-integrations-drupal-sdk

That command will add this repository with all of the associated documentation to your /vendor directory, as well the global, CMS-agnostic PHP library so you can get started right away.

In addition, Composer suggests the Smart Content CDN as a possible implementation for Drupal personalization.

You can also use Composer to require these packages separately (e.g. composer require pantheon-systems/smart-content-cdn or composer require pantheon-systems/pantheon-edge-integrations) if you don't need the documentation locally.

Known Issues

There is a known conflict with the Internal Page Cache module. This module does not provide any benefit when used on a Pantheon environment but may be recommended (or enabled) for some modules. Our recommendation is to disable the Internal Page Cache module on Pantheon to ensure compatibility with Edge Integrations. Dynamic Page Cache is compatible with Edge Integrations and does not suffer from the same restrictions.