dl/assetsync

将来自不同源文件同步到Neos资产。

安装次数: 17 314

依赖项: 1

建议者: 0

安全: 0

星标: 10

关注者: 3

分支: 2

开放问题: 1

类型:neos-package

3.0.5 2023-04-30 15:51 UTC

README

Travis Build Status Latest Stable Version Total Downloads License My wishlist on amazon

Neos 资产同步

此包可以将来自不同源文件的文件同步到Neos资产管理中。源可以是本地文件系统上的文件夹,也可以是NextCloud或Dropbox等云服务。可以轻松添加新的同步源。您可以为导入的资产指定标签,以便在媒体浏览器中轻松查找。

可用源

这些是目前可用的源,可以轻松实现新源 - 查看代码SourceInterface以了解其实现方式。

这些是可用源。请查看下面的详细配置示例。

  • 本地文件系统源:从本地文件夹导入文件。
  • WebDav源:从WebDav服务器导入文件。也适用于从您的OwncloudNextcloud帐户同步文件。
  • 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>