discoverygarden/flysystem_ocfl

v1.1.0 2023-11-10 13:49 UTC

This package is auto-updated.

Last update: 2024-08-29 18:24:12 UTC


README

这是一个允许访问OCFL存储结构中的Flysystem适配器实现。

目前,针对FCRepo 6风味存储中的二进制文件进行只读访问,特别是通过Islandora的视角,Islandora主要关注二进制文件的存储。

执行概述

OCFL存储在多个级别上是可扩展的

OCFL存储的确切用途仍由应用程序本身决定,该应用程序可能对不同对象应该如何结构有不同的建议,例如

为了支持这些多个可扩展点,我们定义了

  • 布局:具有当前定义的扩展的基础实现的OCFLPlugin插件类型。
    • 我们预计布局将在OCFL存储根目录中的ocfl_layout.json文件中指定。
      • 严格来说,根据OCFL规范,此文件是可选的;然而,拥有它将大大简化布局插件的加载。
  • 对象结构:基于flysystem_ocfl.inventory_location事件的基于事件评估
    • 这允许“可变HEAD”扩展注入其间接部分,但允许回退到对象根目录中静止的inventory.json的基本位置。
  • 用于识别对象中的目标资源:基于flysystem_ocfl.resource_location事件的基于事件评估。
    • 这允许定位对象中的资源,特别是在Islandora广泛使用的Fedora Commons 6实例中,对象基于一个单一的“二进制”资源,在这种情况下,获取对象(例如我们的实例)最好解释为获取文件的字节流。

用法

这应该与islandora/islandora中随带的fedora驱动器提供类似的并行,可能通过您的Drupal站点的settings.php配置,如下所示

{
  "fedora": {
    "driver": "fedora",
    "config": {
      "root": "https://:8080/fcrepo/rest/"
    }
  }
}

要直接从OCFL存储布局中读取,如下所示

{
  "fedora": {
    "driver": "ocfl",
    "config": {
      "root": "/opt/fcrepo/fcrepo/data/ocfl-root",
      "id_prefix": "info:fedora/"
    }
  }
}

假设,这甚至可以与另一个Flysystem实现(如S3)链式连接,如下所示

{
  "your-desired-scheme": {
    "driver": "s3",
    "config": {
      "bucket": "your-ocfl-root-bucket",
    }
  },
  "fedora": {
    "driver": "ocfl",
    "config": {
      "root": "your-desired-scheme://ocfl-root",
      "id_prefix": "info:fedora/"
    }
  }
}

注意:由于Flysystem中的简单路径规范化,目前需要在存储桶中有一个额外的前缀(如示例中上述的ocfl-root,但可以是任何东西)。

配置

有关Flysystem适配器配置的更深入背景,请参阅Flysystem模块文档

目前为ocfl驱动器有两个配置点

已知问题

此模块并非严格的问题,但可能与Drupal中使用非公开文件系统相关:https://www.drupal.org/project/drupal/issues/2786735

未来想法

  • 允许通过Flysystem URI传递片段,在容器对象中被解释为不同的资源
    • 目前没有此用途案例

故障排除/问题

遇到问题或解决问题了?请联系discoverygarden

赞助商

  • 爱尔兰利默里克大学

维护者

当前维护者

许可证

GPLv3