csun-metalab / sword-api-uploader
允许在 Laravel 应用中将文档上传到使用 SWORD API 的存储库
Requires
- php: >=5.5.9
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