dl / assetsync
将来自不同源文件同步到Neos资产。
3.0.5
2023-04-30 15:51 UTC
Requires
- php: ^7.2 || ^8.0
- neos/neos: ^5.0 || ^7.0 || ^8.0 || ^9.0
Suggests
- league/flysystem-dropbox: ~1.0.0
- league/flysystem-webdav: ~1.0.0
README
Neos 资产同步
此包可以将来自不同源文件的文件同步到Neos资产管理中。源可以是本地文件系统上的文件夹,也可以是NextCloud或Dropbox等云服务。可以轻松添加新的同步源。您可以为导入的资产指定标签,以便在媒体浏览器中轻松查找。
可用源
这些是目前可用的源,可以轻松实现新源 - 查看代码SourceInterface
以了解其实现方式。
这些是可用源。请查看下面的详细配置示例。
- 本地文件系统源:从本地文件夹导入文件。
- WebDav源:从WebDav服务器导入文件。也适用于从您的Owncloud或Nextcloud帐户同步文件。
- Dropbox源:从Dropbox文件夹导入文件。
安装和集成
使用composer进行安装
composer require dl/assetsync
需要额外的数据库表,该表由以下内容创建
./flow doctrine:migrate
用法
通过命令控制器运行同步
./flow assetsync:sync <sourceIdentifier>
或运行所有可用的源配置
./flow assetsync:syncall
源配置
通用源配置
sourceClass
源类的完全限定名称。
fileIdentifierPattern
可以使用此模式通过给定的模式过滤要导入的文件。目前,对于所有已实现的源,文件标识符是文件名和路径。对于新源,这可能会发生变化。
示例
fileIdentifierPattern: '.+\.(gif|jpg|jpeg|tiff|png)'
默认:.*
removeAssetsNotInSource
配置,如果之前同步的文件已存在,但现在在源中不存在,则应从资产中删除。
默认:false
本地文件系统源
从本地文件系统目录同步文件。
配置示例
DL:
AssetSync:
sourceConfiguration:
<sourceIdentifier>:
sourceClass: DL\AssetSync\Source\LocalFilesystemSource
assetTags:
- myLocalFileSource
assetCollections:
- assetCollectionWithSyncedItems
sourceOptions:
sourcePath: '<pathToLocalDirectory>'
WebDav源
从WebDav服务器同步文件。这也可以用于从OwnCloud或NextCloud同步文件。它使用League\Flysystem包以简化文件系统抽象。
为OwnCloud共享的配置示例
DL:
AssetSync:
sourceConfiguration:
<sourceIdentifier>:
sourceClass: DL\AssetSync\Source\LeagueFlysystem\WebDavSource
sourceOptions:
baseUri: '<YourOwncloudURI>/remote.php/webdav/'
pathPrefix: '/remote.php/webdav'
userName: '<userName>'
password: '<password>'
authType: 1
sourcePath: '<pathToTheFolder>'
Dropbox源
从Dropbox同步文件。您需要在https://www.dropbox.com/developers/apps上创建一个应用来获取应用密钥。
Dropbox的配置示例
dropboxSource:
sourceClass: DL\AssetSync\Source\LeagueFlysystem\DropboxSource
sourceOptions:
sourcePath: '<pathToTheFolder>'
accessToken: <accessToken>
appSecret: <appSecret>