islandora-rdm / islandora_bagger_integration
Islandora 模块,用于以 Bagger 格式导出内容。
Requires
This package is auto-updated.
Last update: 2024-09-10 20:40:19 UTC
README
介绍
Drupal 模块,允许用户使用 Islandora Bagger 创建 Bag。可以以“远程”或“本地”模式运行,具体说明如下。
要求
- Islandora Bagger 微服务
- Islandora 8
- 如果您想使用除默认文件以外的其他 Islandora Bagger 配置文件,请使用 Context。这是 Islandora 的一个要求,因此它已经安装。
安装
- 将此 Github 仓库克隆到您的 Islandora 的
drupal/web/modules/contrib
目录中。 - 您可以在“管理 > 扩展”菜单下启用此模块,或者通过运行
drush en -y islandora_bagger_integration
命令来启用。
配置
此模块的管理设置表单需要以下内容
- 选择是否以本地或远程模式运行。
- 在您的 Drupal 服务器上到默认 Islandora Bagger 配置文件的绝对路径。如果未配置任何上下文以使用替代配置文件,则使用此文件。
- 如果使用远程模式
- Islandora Bagger REST 端点的 URL。如果您在 CLAW Vagrant 上运行 Islandora,并在主机机器上运行 Islandora Bagger(即托管 Vagrant 的同一台机器),请使用
10.0.2.2
作为端点 IP 地址而不是localhost
。 - 将请求创建 Bag 的用户的电子邮件地址添加到配置文件中的选项。如果选中,则使用键
recipient_email
将用户的电子邮件地址添加到配置文件中。此外,如果选中此选项,则向用户显示的消息将表明他们将收到一个电子邮件,告知他们何时可以下载 Bag。
- Islandora Bagger REST 端点的 URL。如果您在 CLAW Vagrant 上运行 Islandora,并在主机机器上运行 Islandora Bagger(即托管 Vagrant 的同一台机器),请使用
- 如果以本地模式运行,则在您的 Drupal 服务器上 Islandora Bagger 安装的目录的绝对路径。
配置完管理设置后,像其他任何块一样放置“Islandora Bagger 块”。您应该将此块限制为您的 Islandora 节点的内容类型,以及您希望能够创建 Bag 的用户角色。
使用方法
此模块与 Islanodra Bagger 的交互可以通过两种方式配置
- 使用 Islandora Bagger 作为远程微服务(“远程”模式)
- 在此模式下,提交“创建 Bag”表单不会直接生成 Bag;相反,它向远程 Islandora Bagger 的 REST 接口发送请求,然后将其处理队列填充为节点 ID 和在创建该节点的 Bag 时使用的配置文件。
- 在远程模式下,此 Drupal 模块不会在 Bag 准备就绪时通知用户;您需要配置 Islandora Bagger 向用户发送电子邮件,告知他们可以如何获取 Bag。
- 使用 Islandora Bagger 作为命令行实用程序(“本地”模式)
- 在此模式下,提交“创建 Bag”表单将调用服务器壳中的 Islandora Bagger,然后生成 Bag。
在两种情况下,最终用户通过在块中提交一个简单的表单(只有一个按钮)来为当前对象生成一个 Bag。如果在远程模式下运行,用户将被告知他们将收到一个电子邮件,告知他们可以下载 Bag(微服务需要配置为发送此电子邮件);如果在本地模式下运行,用户将看到一个可以下载 Bag 的链接。
本地模式的优势在于在Bag生成后立即向用户提供下载链接。本地模式的缺点是Bag的创建是同步进行的,因此对于文件非常大的对象,任务可能会超时。
远程模式的优势在于生成Bag永远不会超时,因为点击“创建Bag”按钮会向远程Islandora Bagger微服务发送一个简单的REST请求,该服务然后将请求添加到队列中稍后处理。这也是一个缺点,因为用户需要稍后才能下载Bag。
使用上下文
本模块包含两个上下文反应,可以控制Islandora Bagger配置。
使用上下文来定义要使用的配置文件
其中一个反应允许您使用除默认之外的其他Islandora Bagger配置文件。要启用此功能,请执行以下操作
- 安装Context和Context UI模块(Islandora的要求,因此已经完成)。
- 创建一个上下文或编辑一个现有的上下文。
- 定义您的条件。
- 添加“Islandora Bagger Config File”反应。
- 输入您想要使用的配置文件的绝对路径。
本模块不提供通过Drupal的Web界面上传配置文件的机制,因此您需要访问Drupal服务器的文件系统。此外,不要将配置文件放在可以通过Web访问的目录中,因为它们包含访问您的Drupal REST接口的凭证。
使用上下文添加或修改Islandora Bagger配置设置
另一个反应允许您向Islandora Bagger配置文件添加选项或覆盖现有选项。要启用此功能,请执行以下操作
- 安装Context和Context UI模块(Islandora的要求,因此已经完成)。
- 创建一个上下文或编辑一个现有的上下文。
- 定义您的条件。
- 添加“Islandora Bagger Config Options”反应。
- 输入您想要添加或修改的选项。每行添加一个选项,使用YAML语法。例如
serialize: tgz
bag-info: Contact-Email: admin@example.com | Custom-Tag: Some value.
plugins: AddBasicTags | AddMedia | AddFedoraTurtle
bag-info
、drupal_basic_auth
、drupal_media_tags
、plugins
和post_bag_scripts
是管道分隔的列表。对于bag-info
,列表中的每个成员都是一个标签:值对(由冒号分隔)。其他列表选项接受管道分隔的值列表。
如果配置文件中存在选项的键,则该选项将使用新值更新。如果配置文件中不存在选项的键,则将其添加。唯一的例外是bag-info
:对于此选项,上下文反应中提供的值将与配置文件中任何现有的值合并。例如,如果反应包含一个标签“Contact-Email: admin@example.com”,并且配置文件中包含一个“Contact-Email”标签,则现有的一个将被反应中的一个替换。如果反应包含配置文件中不存在的标签,则将其作为新标签添加。
从其他模块修改Islandora Bagger配置
本模块定义了一个钩子,允许其他模块修改远程和本地模式下的Islandora Bagger配置。有关详细信息,请参阅islandora_bagger_integration.api.php
。
待办事项
查看问题列表。