xmldirector.connector supports mounting storages like S3, Webdav backend or local filesystem into Plone
Project description
xmldirector.connector
xmldirector.connector integrates Plone 5 with
local filesystem
WebDAV-backed backend
AWS S3
remote servers over SFTP/SSH
xmldirector.connector provides a Connector content-type that mounts a particular storage into Plone.
No support for indexing and search mounted content.
Requirements
Plone 5.2 with Python 3.6 or higher (tested)
Supported backends:
eXist-db
Base-X
OwnCloud
Alfresco
Marklogic Server
AWS S3
Cloud federation services
Otixo.com
Storagemadeeasy.com
Configuration
Goto the Plone control panel and click on the XML-Director Connector configlet and configure the your service
ExistDB
webdav://localhost:6080/existdb/webdav/db
username and password required to access your XML database over WebDAV
BaseX
webdav://localhost:8984/webdav
username and password required to access your XML database over WebDAV
Owncloud
webdav://hostname:port/remote.php/webdav
username and password required to access your Owncloud instance over WebDAV
Alfresco
webdav://hostname:port/webdav
username and password required to access your Alfresco instance over WebDAV
Local filesystem
file:///path/to/some/directory
no support for credentials, the referenced filesystem must be readable (and writable)
AWS S3
s3://bucketname
enter your AWS access key as username and the AWS secret key as password (You need to install the Python package fs-s3fs through buildout).
SSH/SFTP
ssh://hostname.com or sftp://hostname.com (You need to install the Python package fs.sshfs through buildout).
API notes
The implementation of xmldirector.connector is heavily backed by the PyFilesystem 2 API. Every Connector instance in Plone gives you access to the mounted storage through the handle = connector.get_handle() call which is instance of fs.base.FS. Check https://docs.pyfilesystem.org for details.
Compatiblity with rclone
An alternative to using native drivers under the hood, using rclone (https://rclone.org/) is meanwhile perhaps the better solution. rclone is an application (a commandline utility) to interact with up to 40 different storage systems out of the box. rclone also allows you to mount different storages directly into your filesystem (tested on Linux but supposed to work on Mac and Windows too). So for example, you can mount your Dropbox and Google Drive storages into your local filesystem under /mnt/dropbox and /mnt/drive and point your connector instances to file:///mnt/dropbox and file:///mnt/drive. So any interaction would happen through the filesystem driver of Pyfilesystem. The underlying communication with the Dropbox or Google Drive API would be handled by rclone under the hood.
Security
The mounted storage gives you access to all contents inside the mounted subtree. The mounted filesystem is sandboxed (https://docs.pyfilesystem.org/en/latest/concepts.html#sandboxing). So you can not escape and access content outside the mounted storage.
Available drivers
Connectivity with other backend is accomplished through dedicated driverse that implementation the API layer between PyFilesystem 2 and the related backend. See https://www.pyfilesystem.org/page/index-of-filesystems/ for all available drivers.
License
This package is published under the GNU Public License V2 (GPL 2)
Source code
Bugtracker
Changelog
0.5.0 (2021-02-09)
added support for referencing another connector instance for using their connector configuration
0.4.0 (2021-01-26)
updates JS resources
minor tweaks
0.3.1 (2020-11-24)
uninstall profile added
fix for mod_dav issue when sorting entries (issue #64)
0.3.0 (2020-11-04)
minor cleanup
removed Python 2 support
removed defusedxml dependency
0.2.9 (2020-05-04)
added @@connector-zip-export functionality
0.2.8 (2020-03-01)
fix for content-disposition header
0.2.5 (2020-02-05)
removed Python 3 support
0.2.4 (2019-07-24)
Python 3 fix
0.2.3 (2019-07-20)
fixed redirection upon remove
0.2.2 (2019-07-20)
import fix for nested zip files
updated to fs 2.4.8
0.2.1 (2019-03-04)
restored Python 2.7 compatibility
Travis tests for Python 2.7
0.2 (2019-02-20)
various fixes
various XML related backports
0.1 (2018-12-14)
initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for xmldirector.connector-0.5.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb54eb1da980fabbada5b7dc451641a40ac3e180410d896afab5218b833dba00 |
|
MD5 | f0140ffd0b8518851340e4bd7d5dd48f |
|
BLAKE2b-256 | 4a5d45a4120054ce83e23f72198e07b045de2258f670dcdd7d397682583c0418 |