csun-metalab/sword-api-uploader

允许在 Laravel 应用中将文档上传到使用 SWORD API 的存储库

1.0.0 2017-05-18 01:20 UTC

This package is auto-updated.

Last update: 2024-09-26 04:10:54 UTC


README

允许将 Laravel 项目中的文档上传到使用 SWORD API 的存储库。

本包适用于 Laravel 5.0 版本及以上。

📕 目录

🔧 安装

要从 Composer 安装,请使用以下命令

composer require csun-metalab/sword-api-uploader

现在,将以下行添加到您的 .env 文件中以配置您对存储库的连接

SWORD_SERVICE_DOC=
SWORD_DEPOSIT=
SWORD_USERNAME=
SWORD_PASSWORD=

根据您要执行的类型存储,您还需要根据 论文文件路径环境变量常规文件路径环境变量 部分中定义的值添加其他行。

接下来,将服务提供者添加到 Laravel 的 providers 数组中,如下所示

'providers' => [
   //...

   CSUNMetaLab\SwordUploader\Providers\SwordServiceProvider::class,

   // You can also use the following depending on Laravel convention:
   // 'CSUNMetaLab\SwordUploader\Providers\SwordServiceProvider',

   //...
],

Sword 门面添加到 Laravel 的 aliases 数组中,如下所示

'aliases' => [
   //...

   'Sword' => CSUNMetaLab\SwordUploader\Facades\Sword::class,

   // You can also use the following depending on Laravel convention:
   // 'Sword' => 'CSUNMetaLab\SwordUploader\Facades\Sword',
],

最后,运行以下 Artisan 命令以发布配置文件

php artisan vendor:publish

配置文件将在 config/sword.php 中,您可以在存储之前使用 config() 辅助函数进一步修改这些值。

打包和存储功能使用这些配置值来确定服务文档、凭据、存储库标识符和文件系统上的相关目录。

🌎 全局环境变量

您添加到 .env 文件中的环境变量如下

SWORD_SERVICE_DOC

这是存储库用于 SWORD 上传/存储的服务文档标识符。

SWORD_DEPOSIT

这是将执行 SWORD 上传/存储的存储库标识符。

SWORD_USERNAME

这是在 SWORD 操作期间用于认证的用户名。

SWORD_PASSWORD

这是在 SWORD 操作期间用于认证的密码。

💺 全局存储行为变量

如果您想在存储操作期间覆盖默认行为,则需要添加这些环境变量。

SWORD_CONTENT_TYPE

允许您更改存储的内容类型。默认是 application/zip

SWORD_PACKAGING

允许您更改存储的打包格式。默认是 http://purl.org/net/sword-types/METSDSpaceSIP(DSpace 存储库的 METS 格式)。

SWORD_ON_BEHALF_OF

允许您在存储期间设置 X-On-Behalf-Of 标头。默认是空字符串。

SWORD_NO_OP

允许您在存储期间设置 X-No-Op 标头。默认是 false

SWORD_VERBOSE

允许您在存储期间设置 X-Verbose 标头。默认是 false

🎓 论文文件路径环境变量

如果您正在执行论文或学术论文的存储,则需要添加这些环境变量。

将以下值添加到您的 .env 文件中,然后根据其描述适当配置它们

# Root directories where final thesis drafts and supplemental files are located
# These directories will be used when packaging files to send to the repository
SWORD_THESIS_DOCUMENT_ROOT_IN=
SWORD_THESIS_SUPPLEMENTAL_ROOT_IN=

# Root directories where the packaged archive and the METS file will be written
# out to on the filesystem after being packaged (before sending to the repo)
SWORD_THESIS_PACKAGE_ROOT_OUT=
SWORD_THESIS_METS_ROOT_OUT=

SWORD_THESIS_DOCUMENT_ROOT_IN

这是文件系统上包含要打包的单个论文文档文件(PDF、DOCX 等)的目录。

SWORD_THESIS_SUPPLEMENTAL_ROOT_IN

这是文件系统中包含与论文相关的任何补充文件的目录。

SWORD_THESIS_PACKAGE_ROOT_OUT

这是文件系统中将要写入包含论文及其补充文件的包(ZIP文件)的目录。

SWORD_THESIS_METS_ROOT_OUT

这是文件系统中将要写入描述与论文相关属性的元数据(mets.xml)文件的目录。

📄 常规文件路径环境变量

如果您正在为常规文件(如课程大纲)执行非论文存档,则需要添加这些环境变量。

将以下值添加到您的 .env 文件中,然后根据其描述适当配置它们

# Root directory and subdirectory where the files to deposit are located. The
# subdirectory must be within the root directory.
SWORD_FILE_ROOT_IN=
SWORD_FILE_SUBDIR_IN=

# Root directory where the packaged archive will be written out on the filesystem
# before depositing in the repository
SWORD_PACKAGE_ROOT_OUT=

SWORD_FILE_ROOT_IN

这是文件系统中子目录所在的目录。

SWORD_FILE_SUBDIR_IN

这是包含将要存档的文件的文件系统目录。

SWORD_PACKAGE_ROOT_OUT

这是文件系统中将要写入包含要存档文件的包(ZIP文件)的目录。

💻 使用方法

即将推出!

🔌 SWORD API 功能

打包和存档文档的底层 SWORD API 功能最初来自由 Stuart Lewis 创建的 swordapp-php-library

您可以在以下位置找到特定于库的代码: https://github.com/swordapp/swordapp-php-library