islandora/islandora_mirador

此包已被弃用且不再维护。作者建议使用 drupal/islandora_mirador 包。

Mirador查看器对Islandora的支持

安装次数: 154,603

依赖项: 1

建议者: 0

安全性: 0

星级: 3

关注者: 15

分支: 9

类型:drupal-module

2.3.8 2024-07-31 14:09 UTC

README

Islandora

Drupal的Mirador查看器集成

Minimum PHP Version Contribution Guidelines LICENSE codecov

简介

这是一个围绕Mirador图像查看器构建的Drupal模块。它不严格需要Islandora,但是它依赖于IIIF Manifests。Islandora生成这些manifest,但它们也可以来自第三方来源。

安装

$ composer require drupal/islandora_mirador
$ drush en islandora_mirador

如果您想使用Islandora的显示提示系统,并且Mirador尚未由ISLE或Islandora Playbook之类的安装堆栈设置,您需要使用Drush导入显示提示。

drush migrate:import islandora_mirador_tags

从Islandora默认值升级

此模块以前随Islandora Defaults一起分发。如果您正在升级,您可能需要清除Drupal的缓存并重新启动您的Web服务器以解决“插件未找到”错误。

Mirador库

模块可以使用托管在Web上的Mirador集成实例或本地部署。

UPEI Robertson图书馆维护了一个包含图像处理和文本叠加插件的Mirador库版本。此编译库可在https://roblib.github.io/mirador-integration-islandora/islandora-mirador-0.1.0.js上找到,GitHub项目在https://github.com/roblib/mirador-integration-islandora

如果您有本地构建,请将其放在您的webroot中的libraries/mirador/dist/main.js。

使用方法

此模块提供了一个块,可以通过Structure>Blocks或Contexts包含它。它接受一个IIIF manifest。

模块还提供了一个“Mirador”术语在islandora_display词汇表中,可以在编辑Islandora存储库项对象时选择作为显示提示。这可以用来触发上面的块位置。

有关如何设置驱动查看器的内容的说明,请参阅Islandora IIIF文档。

配置

Islandora Mirador配置页面位于“管理”>“配置”>“媒体”>“Mirador设置”(/admin/config/media/mirador)。

  • Mirador库位置:您可以选择库是本地部署还是设置远程库的位置(见上文的Mirador库)。

  • 启用插件:您还可以启用特定插件。您需要知道这些插件是否包含在Mirador集成的特定构建中。Robertson图书馆的Mirador版本支持“文本叠加”和“Mirador图像工具”插件。

  • IIIF Manifest URL:您可以为检索内容的IIIF manifest设置URL模式。默认Islandora附带一个名为“IIIF Manifest”的REST导出视图,位于/admin/structure/views/view/iiif_manifest。要提供的URL可以在单页显示的路径设置中找到。


将“%node”替换为“[node:nid]”,并使用您的安装域进行前缀。
![mirador_settings_manifest_url.png](docs%2Fmirador_settings_manifest_url.png)

插件

默认插件

从版本 >= 2.3 开始,默认的Islandora Mirador配置使用UPEI的Mirador库版本,该库与以下Mirador 3插件一起编译

  • 图像工具

    工具栏提供额外的图像处理功能,例如反转颜色。

  • 文本覆盖

    覆盖嵌入的文本,如hOCR,到UI中以进行文本选择和屏幕阅读器支持。

开发自定义插件

在Mirador 3中,插件必须构建到应用程序中。有关更多信息,请参阅文档页面创建Mirador 3插件

按照上述Mirador库说明部署您自定义构建的Mirador应用程序,使其可用于您的Islandora网站。

您可以通过实现此模块中定义的插件类型在Islandora本身中添加对其他Mirador插件的支持。为此,声明Drupal\islandora_mirador\IslandoraMiradorPluginPluginBase的子类,并添加以下注释

/**
 * @IslandoraMiradorPlugin(
 *   id = "machineName",
 *   label = @Translation("Plugin label"),
 *   description = @Translation("Description of the plugin .")
 * )
 */

迄今为止,只有一个函数,即windowConfigAlter。您可以使用它提供插件所需的任何配置。在UI中修改配置尚未实现。

使用文本覆盖

当Mirador文本覆盖配置正确时,用户可以查看、选择,并使用屏幕阅读器阅读扫描文档中OCR'过的文本。通过进一步的工作(在islandora_iiif模块中尚未实现),Mirador查看器将能够突出显示通过搜索找到的文本,并在查看器中显示搜索界面。

设置hOCR

要显示文本覆盖,Mirador必须提供hOCR文本数据 - 这是一种包含提取文本相对于显示图像的位置信息的OCR文本。以下是步骤

  1. 确保您正在运行isle-buildkit版本3.2.12或更高版本
  2. 安装Drupal模块https://github.com/discoverygarden/islandora_hocrhttps://github.com/Born-Digital-US/islandora_iiif_hocr
  3. 创建一个派生操作,以便当原始文件图像上传到您的存储库时,创建一个具有等于由https://github.com/discoverygarden/islandora_hocr创建的媒体使用术语的file媒体实体

测试hOCR

按照以下步骤确认hOCR是否正常工作。

  1. 添加一个新的存储库条目,类型为分页内容
  2. 添加一个类型为页面的子对象
  3. 在该子对象上,添加一个类型为文件的媒体,并用包含文本的JP2或TIFF文件填充它。
    • 在"媒体使用"下检查原始文件"(不要检查任何其他媒体使用)
    • 不要添加任何内容到您创建的字段。这将在此文件上运行OCR时填充。
  4. 保存媒体。
  5. 大约一分钟后,应填充包含位置数据字段的提取文本。您可以直接通过编辑文件对象来验证此操作,您会看到“hOCR提取文本”字段现在附有一个文件,您可以查看该文件并观察到它包含类似以下的xml文本
    sample-hocr-xml.png

配置IIIF Manifest视图以添加Manifest添加

假设hOCR已设置测试...

按照https://github.com/Born-Digital-US/islandora_iiif_hocr上的说明进行操作,以允许在您的hOCR上Mirador查看器内进行搜索。

使用上下文配置Mirador查看器以显示页面和分页内容

Islandora使用上下文来控制不同Islandora节点上显示哪些块。注意以下说明只是配置此功能许多可能方法之一。

如果尚未存在,您需要添加单个页面和分页内容类型的Mirador显示上下文
context-mirador-displays.png

在“管理”>“结构”>“上下文”中配置上下文。

  • 对于单个页面(“Mirador”)上下文,您可以根据“节点具有术语” “Mirador”(如果喜欢,AND “页面”),并将反应设置为块。使用类似于媒体显示(Islandora启动网站的一部分)的视图来提供使用“Mirador”视图模式显示适当媒体的块
    context-mirador.png

  • 对于多页面(“分页内容 - Mirador”)上下文,我们根据“节点具有术语” “Mirador” AND “分页内容”进行条件判断
    context-mirador-paged-condition.png
    ...并将反应设置为在内容区域显示Mirador块
    context-mirador-paged-block-content.png
    ...这可以通过使用.../book-manifest为IIIF Manifest URL进行配置
    context-mirador-paged-block-config.png

如前所述,这只是设置Mirador查看器配置的一种方式。例如,如果您想始终使用Mirador查看器查看页面和分页内容,您可以删除这些上下文中的“节点具有术语”条件中的“Mirador”条件。

主题变量

Mirador的外观和行为是通过传递给JavaScript应用程序的设置进行配置的。主要在'window'和'workspace'配置数组中。

这些可以通过主题变量或通过将它们作为参数传递给实例化Mirador块类来进行指定。

通过主题钩子隐藏关闭按钮

function mymodule_preprocess_mirador(&$variables) {
  $variables['window_config']['allowClose'] = FALSE;
}

通过实例化块来创建最小UI

      $block = \Drupal::service('plugin.manager.block')->createInstance($viewer . '_block', [
        'iiif_manifest_url' => "/node/$manifest_nid/manifest-single",
        'thumbnail_navigation_position' => 'hidden',
        'window_config' => [
          'allowClose' => FALSE,
          'allowMaximize' => FALSE,
          'allowTopMenuButton' => FALSE,
          'allowWindowSideBar' => FALSE,
          'hideWindowTitle' => TRUE,
          'panels' => [
            'info' => FALSE,
            'attribution' => FALSE,
            '	  canvas' => FALSE,
            'annotations' => FALSE,
            'search' => FALSE,
          ],
        ],
        'workspace_config' => [
          'allowNewWindows' => FALSE,
          'isWorkspaceAddVisible' => FALSE,
          'workspaceControlPanel' => [
            'enable' => FALSE,
          ],

        ],
      ]);

有关更多选项,请参阅Mirador常见问题解答:https://github.com/ProjectMirador/mirador/wiki/M3---Mirador-3-Frequently-Asked-Questions

文档

有关IIIF(国际图像互操作性框架)的更多文档可在Islandora 8文档网站上找到。

故障排除/问题

有问题吗?解决了问题?加入Islandora 通讯渠道,发布问题和分享解决方案

  • Islandora邮件列表(Google Group)

  • 如果您想做出贡献或有问题,请通过参加我们每周的技术电话来参与,我们每周三在Zoom上举行虚拟会议 (美国东部时间下午1:00)。任何人都可以参加并提问!Zoom链接可以在会议记录这里找到。

如果您想为项目贡献代码,您需要遵守Islandora Foundation的贡献者许可协议企业贡献者许可协议。有关更多信息,请参阅islandora-community wiki上的贡献者许可协议页面。

许可

GPLv2