Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Plone-ExistDB integration

Project Description



This module

  • is not a replacement for the ZODB or any other Plone storage (never was, never will)
  • is not a storage layer for Archetypes or Dexterity content (never was, never will)
  • is a solution for mounting XML databases like eXist-db or BaseX into Plone through their WebDAV port
  • is an _experimental_ solution for mounting general WebDAV services into Plone

zopyx.existdb integrates Plone 4.3 and higher with eXist-db providing the following features:

  • mounts an arbitary eXist-db collection into Plone
  • ACE editor integration
  • ZIP export from eXist-db
  • ZIP import into eXist-db
  • pluggable view mechanism for configuring custom views for XML database content by filename and view name
  • create, rename or delete collections through the web
  • extensible architecture through Plone Dexterity behaviors
  • support for XQuery scripts called through the RESTXQ layer of eXist-db (allows you to call XQuery scripts and return the output format (JSON, HTML, XML) depending on your application requirements)
  • dedicated per-connector logging facility
  • small and extensible
  • experimental support for mounting arbitrary WebDAV service into Plone (set the emulation mode to webdav in the eXist-db control panel of Plone)

The primary usecase for zopyx.existdb is the integration of XML document collections into Plone using eXist-db as storage layer. zopyx.existdb is not storage layer for Plone content in the first place although it could be used in some way for storing primary Plone content (or parts of the content) inside eXist-db. There is no build-in support for mapping metadata as stored in XML documents to Plone metadata or vice versa. However this could be implemented easily in application specific code build on top of zopyx.existdb. The design goal of zopyx.existdb is to provide the basic functionality for integrating Plone with eXist-db without implementing any further specific application requirements. Additional functionality can be added through Dexterity behaviors, supplementary browser views, event lifecycle subscribers and related technology.


Add zopyx.existdb to the eggs and zcml options of your buildout configuration, re-run buildout and install the connector through the add-ons management of Plone.


Goto the Plone control panel and click on the Exist-DB configlet and configure the

  • eXist-db server url e.g. http://localhost:6080

    The eXist-db subpath /exist/webdav/db will be added internally.

  • eXist-db username

  • eXist-db password

  • eXist-db emulation mode. Set the emulation mode to webdav for the integration of arbitrary WebDAV services.

Using zopyx.existdb

The package provides a new content-types Connector that will include eXist-db into Plone - either from the top-level collection of your eXist-db database or from a subcollection. You can browse and traverse into subcollections, view single documents or edit text-ish content through the web (using the build-in ACE editor integration).

All connection settings (URL, username and password can be overriden on the connector level) in order to ignore the Plone site-wide eXist-db settings).


This module provides a generic integration of arbitrary WebDAV services like OwnCloud, BaseX (over WebDAV) or even other Plone serves (exposed through the Plone WebDAV source port) with Plone. This integration is highly experimental and not the primary purpose of zopyx.existdb. Use the functionality at your own risk. In order to use this module together with WebDAV services other than the XML database eXist-db: you have to set the emulation mode to webdav inside the eXist-db control panel of Plone


This package is published under the GNU Public License V2 (GPL 2)


The development of zopyx.existdb was funded as part of a customer project by Deutsche Gesellschaft für Hämatologie und medizinische Onkologie (DGHO).


Andreas Jung/ZOPYX
Hundskapfklinge 33
D-72074 Tuebingen, Germany


0.2.11 (2014-11-08)

  • updated documentation

0.2.10 (2014-11-08)

  • bugfix release

0.2.9 (2014-11-01)

  • support for overriding credentials locally

0.2.8 (2014-11-01)

  • minor fix for mounting Plone sites over WebDAV into another Plone site

0.2.7 (2014-11-01)

  • experimental support for BaseX XML database through the WebDAV API. Limitations: REMOVE operations over WebDAV do not seem to work against BaseX 7.9

0.2.6 (2014-11-01)

  • more tests

0.2.5 (2014-10-30)

  • experimental traversal support for accessing WebDAV resources by path using (un)restrictedTraverse()
  • minor URL fixes
  • more tests

0.2.4 (2014-10-22)

  • configuration option for default view for authenticated site visitors

0.2.3 (2014-10-13)

  • fix in saving ACE editor content

0.2.2 (2014-10-12)

  • typo in page template

0.2.1 (2014-10-12)

  • added support for renaming a collection through the web

0.2.0 (2014-10-02)

  • various minor bug fixes
  • added basic tests

0.1.17 (2014-09-25)

  • fixed action links

0.1.16 (2014-09-25)

  • Connector is no longer a folderish object

0.1.15 (2014-09-22)

  • removed indexing support completely (leaving a specific indexing functionality to policy packages using zopyx.existdb)

0.1.14 (2014-09-15)

  • fixed subpath handling in create/remove collections

0.1.13 (2014-09-07)

  • support for removing collections TTW

0.1.12 (2014-09-05)

  • support for creating new collections TTW

0.1.11 (2014-08-21)

  • action “Clear log” added

0.1.10 (2014-08-05)

  • log() got a new ‘details’ parameter for adding extensive logging information

0.1.9 (2014-08-01)

  • human readable timestamps

0.1.8 (2014-07-31)

  • minor visual changes

0.1.7 (2014-07-29)

  • rewritten code exist-db browser code (dealing the correct way with paths, filenames etc.)

0.1.6 (2014-07-29)

  • fixed improper view prefix in directory browser

0.1.5 (2014-07-13)

  • minor fixes and cleanup

0.1.4 (2014-07-12)

  • made webservice query API aware of all output formats (xml, html, json)
  • timezone handling: using environment variable TZ for converting eXist-db UTC timestamps to the TZ timezone (or UTC as default) for display purposes with Plone

0.1.3 (2014-07-07)

  • added webservice API interface
  • various bug fixes

0.1.2 (2014-06-30)

  • various bug fixes

0.1.0 (2014-06-20)

  • initial release
Release History

Release History

This version
History Node

History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node

History Node


History Node


History Node


History Node


History Node


History Node

History Node

History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date (10.6 MB) Copy SHA256 Checksum SHA256 Source Nov 8, 2014

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting