flownative / resource-tools
资源导入和导出以及更多Flow工具
v2.1.0
2022-05-30 17:22 UTC
Requires
- neos/flow: ^7.0 || ^8.0 || dev-master
README
Flow框架和Neos CMS的资源导入和导出
Flownative Resource Tools是一个提供以下功能的包:
- 一个简单的命令行工具,允许独立于使用的资源存储进行资源导出和导入
- 针对特殊目的的多个资源目标和存储
安装
Flownative Resource Tools包通过Composer以常规Flow包的形式安装。对于现有项目,只需将`flownative/resource-tools`添加到您的Flow或Neos分布的依赖项中即可
$ composer require flownative/resource-tools
使用方法
查看./flow help
资源目标和存储
NonPublishingProxyStorage
为另一个存储提供特殊包装,防止将导入到此存储的任何资源自动发布。请注意,您需要负责在应用程序中发布资源,如果您请求公开URI,它们将不会自动发布。因此,请勿将其用作默认存储,例如NeosCMS,因为它将无法处理未发布资源。请注意,运行./flow resource:publish
将发布添加到此存储的集合中的资源,因此您应避免这样做。
配置选项
-
storageClass
- 设置实际存储资源所用的类名。 -
storageOptions
- 配置实际存储资源类的选项。
示例配置
Neos: Flow: resource: storages: specialNonPublishedStorage: storage: 'Flownative\ResourceTools\ResourceManagement\NonPublishingProxyStorage' storageOptions: storageClass: 'Neos\Flow\ResourceManagement\Storage\WritableFileSystemStorage' storageOptions: path: '%FLOW_PATH_DATA%Persistent/Resources/'
SaltedFileSystemSymlinkTarget
此目标与Flow \Neos\Flow\ResourceManagement\Target\FileSystemSymlinkTarget
一样工作,但它生成一个盐化的散列,该散列无法通过知道文件来猜测。如果您允许匿名用户上传资源到您的系统,但又不想出于安全原因让他们猜测公开URI,这很有用。
配置选项
Flow FileSystemSymlinkTarget的所有选项
salt
- 可选(将回退到Flow系统加密密钥) - 用于散列URI的盐。如果您运行多个服务器,请确保在每台服务器上设置此字符串相同,而不是依赖于加密密钥。理想情况下,将其设置为长随机生成的字符串。
示例配置
Neos: Flow: resource: targets: localWebDirectoryPersistentResourcesTarget: target: 'Flownative\ResourceTools\ResourceManagement\SaltedFileSystemSymlinkTarget' targetOptions: subdivideHashPathSegment: true # Optional salt salt: 'foobar'
DummyTarget
此目标通过简单地什么也不做来防止任何发布。从所有目的来看,它看起来像Flow中的常规目标,但它实际上不会使资源公开,请求一个URI将始终返回空字符串。没有配置选项
示例配置
Neos: Flow: resource: targets: dummyTarget: target: '\Flownative\ResourceTools\ResourceManagement\DummyTarget' targetOptions: []