diff --git a/modules/islandora_iiif/src/Plugin/views/style/IIIFManifest.php b/modules/islandora_iiif/src/Plugin/views/style/IIIFManifest.php
index 63f015d1..379ca4b6 100644
--- a/modules/islandora_iiif/src/Plugin/views/style/IIIFManifest.php
+++ b/modules/islandora_iiif/src/Plugin/views/style/IIIFManifest.php
@@ -5,6 +5,7 @@ namespace Drupal\islandora_iiif\Plugin\views\style;
 use Drupal\Core\Config\ImmutableConfig;
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Entity\EntityTypeManagerInterface;
+use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\Core\File\FileSystemInterface;
 use Drupal\Core\Field\FieldItemInterface;
 use Drupal\Core\Form\FormStateInterface;
@@ -93,10 +94,15 @@ class IIIFManifest extends StylePluginBase {
    */
   protected $messenger;
 
+  /**
+   * @var \Drupal\Core\Extention\ModuleHandlerInterface;
+   */
+  protected $moduleHandler;
+
   /**
    * {@inheritdoc}
    */
-  public function __construct(array $configuration, $plugin_id, $plugin_definition, SerializerInterface $serializer, Request $request, ImmutableConfig $iiif_config, EntityTypeManagerInterface $entity_type_manager, FileSystemInterface $file_system, Client $http_client, MessengerInterface $messenger) {
+  public function __construct(array $configuration, $plugin_id, $plugin_definition, SerializerInterface $serializer, Request $request, ImmutableConfig $iiif_config, EntityTypeManagerInterface $entity_type_manager, FileSystemInterface $file_system, Client $http_client, MessengerInterface $messenger, ModuleHandlerInterface $moduleHandler) {
     parent::__construct($configuration, $plugin_id, $plugin_definition);
 
     $this->serializer = $serializer;
@@ -106,6 +112,7 @@ class IIIFManifest extends StylePluginBase {
     $this->fileSystem = $file_system;
     $this->httpClient = $http_client;
     $this->messenger = $messenger;
+    $this->moduleHandler = $moduleHandler;
   }
 
   /**
@@ -122,10 +129,23 @@ class IIIFManifest extends StylePluginBase {
       $container->get('entity_type.manager'),
       $container->get('file_system'),
       $container->get('http_client'),
-      $container->get('messenger')
+      $container->get('messenger'),
+      $container->get('module_handler')
     );
   }
 
+  /**
+   * Return the request property.
+   *
+   * @return \Symfony\Component\HttpFoundation\Request
+   *   The Symfony request object
+   */
+  public function getRequest() {
+    return $this->request;
+  }
+
+
+
   /**
    * {@inheritdoc}
    */
@@ -172,6 +192,9 @@ class IIIFManifest extends StylePluginBase {
 
     $content_type = 'json';
 
+    // Give other modules a chance to alter the manifest.
+    $this->moduleHandler->alter('islandora_iiif_manifest', $json, $this);
+
     return $this->serializer->serialize($json, $content_type, ['views_style_plugin' => $this]);
   }
 
@@ -255,6 +278,10 @@ class IIIFManifest extends StylePluginBase {
             ];
           }
 
+          // Give other modules a chance to alter the canvas
+          $alter_options = ['options' => $this->options, 'views_plugin' => $this];
+          $this->moduleHandler->alter('islandora_iiif_manifest_canvas', $tmp_canvas, $row, $alter_options);
+
           $canvases[] = $tmp_canvas;
         }
       }