{
"info": {
"author": "Andreas Jung",
"author_email": "info@zopyx.com",
"bugtrack_url": null,
"classifiers": [
"Framework :: Plone",
"Framework :: Plone :: 4.3",
"Framework :: Plone :: 5.0",
"Framework :: Plone :: 5.1",
"Framework :: Zope2",
"Programming Language :: Python",
"Topic :: Software Development :: Libraries :: Python Modules"
],
"description": "xmldirector.plonecore\n=====================\n\n.. note:: This module \n\n - *is* a solution for mounting XML databases like eXist-db or\n BaseX into Plone through their WebDAV port\n - *is* a solution for construction Dexterity content-types programmatically\n or through-the-web with XML related fields where the content is stored\n in BaseX or eXist-db\n - *is* an _experimental_ solution for mounting general WebDAV \n services into Plone\n - *is not* a replacement for the ZODB \n\n``xmldirector.plonecore`` is the technical foundation of the XML-Director\nproject (www.xml-director.info). The goal of the XML-Director project is\nbuilding an enterprise-level XML content management system on top of the CMS\nPlone (www.plone.org) with support for XML databases like eXis-db or Base-X.\nHowever the underlaying implementation can also be used to mount arbitrary\nbackend through WebDAV into Plone.\n\n\n``xmldirector.plonecore`` integrates Plone 4.3 or 5.1 with \neXist-db or Base-X or providing the following features:\n\n- mounts an arbitary eXist-db or Base-X collection into Plone\n- ACE editor integration\n- ZIP export from eXist-db or Base-X\n- ZIP import into eXist-db or Base-X\n- pluggable view mechanism for configuring custom views for XML database \n content by filename and view name\n- create, rename or delete collections through the web\n- extensible architecture through Plone Dexterity behaviors\n- support for XQuery scripts called through the RESTXQ layer of eXist-db\n (allows you to call XQuery scripts and return the output format (JSON,\n HTML, XML) depending on your application requirements)\n- dedicated per-connector logging facility\n- small and extensible\n- experimental support for mounting arbitrary WebDAV service into Plone \n\n - ``XMLText`` - a field for storing XML content in BaseX or eXist-db\n\n - ``XPathField`` - for retrieving parts of XML content stored within a \n ``XMLText`` field through an XPath expression (e.g. for extracting\n and displaying metadata from XML content)\n\n - ``XMLBinary`` and ``XMLImage`` fields for storing binary data and images\n in BaseX or eXist-db. The functionality is identical with the standard\n Dexterity file and image fields (except for the different storage layer)\n \n\nThe primary usecase for ``xmldirector.plonecore`` is the integration of XML document\ncollections into Plone using eXist-db or Base-X as storage layer. ``xmldirector.plonecore`` is\nnot storage layer for Plone content in the first place although it could be\nused in some way for storing primary Plone content (or parts of the content)\ninside eXist-db or Base-X. There is no build-in support for mapping metadata as stored in\nXML documents to Plone metadata or vice versa. However this could be\nimplemented easily in application specific code build on top of\n``xmldirector.plonecore``. The design goal of ``xmldirector.plonecore`` is to provide the basic\nfunctionality for integrating Plone with eXist-db or Base-X without implementing any\nfurther specific application requirements. Additional functionality can be\nadded through Dexterity behaviors, supplementary browser views, event lifecycle\nsubscribers and related technology.\n\n\nRequirements\n------------\n\n- Plone 4.3 (tested)\n \n- Plone 5.0 (tested)\n\n- Plone 5.1 (tested)\n\n- Supported backends:\n\n - eXist-db 2.2 and 3.0\n\n - Base-X >= 8.2\n\n - OwnCloud\n \n - Alfresco\n\n - Marklogic Server\n\n - Dropbox (via dropdav.com (Dropbox to WebDAV bridge, paid SaaS) or via xmldirector.dropbox)\n\n - AWS S3\n\n - Cloud federation services\n\n - Otixo.com\n - Storagemadeeasy.com\n\n- experimental support for the following backends/protocols (don't\n use XML Director with these protocols/backends in production):\n\n - FTP (working in general, open issues with the connection pool)\n \n - SFTP (working in general, open issues with the connection pool)\n\n.. note:: \n\n You need to pin `fs=0.5.4` in your buildout configuration\n\nConfiguration\n-------------\n\nGoto the Plone control panel and click on the ``XML-Director Core`` configlet and\nconfigure the your service\n\nExistDB\n+++++++\n \n- http://localhost:6080/existdb/webdav/db\n- username and password required to access your XML database over WebDAV\n\nBaseX\n+++++\n\n- http://localhost:8984/webdav \n- username and password required to access your XML database over WebDAV\n\nOwncloud\n++++++++\n\n- http://hostname:port/remote.php/webdav\n- username and password required to access your Owncloud instance over WebDAV\n\nAlfresco\n++++++++\n\n- http://hostname:port/webdav\n- username and password required to access your Alfresco instance over WebDAV\n\nDropbox (via dropdav.com SaaS)\n++++++++++++++++++++++++++++++\n\n- https://dav.dropdav.com\n- username and password required of your dropdav.com account\n\nDropbox (via xmldirector.dropbox)\n+++++++++++++++++++++++++++++++++\n\n- dropbox://dropbox.com\n- access to Dropbox must be authenticated using OAuth \n (see xmldirector.dropbox documentation)\n\nSME (storagemadeeasy.com)\n+++++++++++++++++++++++++\n\n- https://webdaveu.storagemadeeasy.com (EU)\n- https://webdav.storagemadeeasy.com (US)\n- username and password required of your storagemadeeasy.com account\n\nOtixo.com\n+++++++++\n\n- https://otixo.com\n- username and password required of your otixo.com account\n\nLocal filesystem\n++++++++++++++++\n\n- file:///path/to/some/directory\n- no support for credentials, the referenced filesystem must be readable (and writable)\n\nAWS S3\n++++++\n \n- s3://bucketname\n- enter your AWS access key as username and the AWS secret key as password\n- you need to install the ``boto`` module (either using ``pip`` or using zc.buildout)\n\nFTP\n+++\n\n- ftp://hostname/path/to/directory\n- username and password that are necessary to access the configured directory path\n through FTP\n\nSFTP\n++++\n\n- sftp://hostname/path/to/directory\n- username and password that are necessary to access the configured directory path\n through SFTP. Username and password can be omitted in case the XML Director server (your\n Plone instance) has access using SSH keys (without passphrase) to the remote SFTP\n service. The handling of username + password vs. SSH authentication using SSH keys is\n currently under investigation and might change in a further release.\n\n\n\n================ ============== ======================\nProtocol/Service Native support 3rd-party SaaS support (e.g. Otixo.com, storagemadeeasy.com)\n================ ============== ======================\nLocal filesystem Yes No\nWebDAV Yes Yes\nExistDB 2.2/3.0 Yes Yes\nBaseX 8.3 Yes Yes\nAmazon AWS S3 Yes Yes\nAlfresco Yes Yes\nOwncloud Yes Yes\nDropbox (experimental) Yes\nSFTP (experimental) Yes\nFTP (experimental) Yes\n================ ============== ======================\n\nUsing xmldirector.plonecore\n---------------------------\n\nThe package provides a new content-types ``Connector`` that will include\neXist-db or Base-X into Plone - either from the top-level collection of your eXist-db/Base-X\ndatabase or from a subcollection. You can browse and traverse into\nsubcollections, view single documents or edit text-ish content through the web\n(using the build-in ACE editor integration).\n\nAll connection settings (URL, username and password can be overriden on \nthe connector level) in order to ignore the Plone site-wide eXist-db\nsettings).\n\n.. note:: This module provides a generic integration of arbitrary \n WebDAV services like OwnCloud, BaseX (over WebDAV) or even other Plone\n serves (exposed through the Plone WebDAV source port) with Plone.\n This integration is highly experimental and not the primary purpose\n of ``xmldirector.plonecore``. Use the functionality at your own risk.\n In order to use this module together with WebDAV services other than the\n XML database eXist-db: you have to set the emulation mode to ``webdav``\n inside the eXist-db control panel of Plone\n\nDexterity fields\n----------------\n\n``xmldirector.plonecore`` comes with the following Dexterity fields that\ncan be either used programmatically in your own field schema or through-the-web.\n\nXMLText\n+++++++\nThe ``XMLText`` can be used to store *valid* XML content. The field is rendered\nwithout Plone using the ACE editor. You can perform a client-side XML validation\nwithin the edit mode of a document by clicking on the ``Validate XML`` button.\nA document with invalid XML content can not be submitted or saved. Invalid XML\nwill be rejected with an error message through the edit form.\n\nXMLXPath\n++++++++\n\nThe ``XMLXPath`` field can be used to reference an ``XMLText`` field in order\nto display a part of the XML content using an XPath expression.\n\nExample\n\nAn ``XMLPath`` field with field name ``myxml`` might contain the following XML\ncontent::\n\n \n