Metadata-Version: 1.0
Name: xmldirector.plonecore
Version: 0.3.6
Summary: XML-Director 
Home-page: http://pypi.python.org/pypi/xmldirector.plonecore
Author: Andreas Jung
Author-email: info@zopyx.com
License: GPL
Description: xmldirector.plonecore
        =====================
        
        .. note:: This module  
        
          - *is* a solution for mounting XML databases like eXist-db or
            BaseX into Plone through their WebDAV port
          - *is* a solution for construction Dexterity content-types programmatically
            or through-the-web with XML related fields where the content is stored
            in BaseX or eXist-db
          - *is* an _experimental_ solution for mounting general WebDAV 
            services into Plone
          - *is not* a replacement for the ZODB 
        
        ``xmldirector.plonecore`` is the technical foundation of the XML-Director
        project (www.xml-director.info). The goal of the XML-Director project is
        building an enterprise-level XML content management system on top of the CMS
        Plone (www.plone.org) with support for XML databases like eXis-db or Base-X.
        However the underlaying implementation can also be used to mount arbitrary
        backend through WebDAV into Plone.
        
        
        ``xmldirector.plonecore`` integrates  Plone 4.3 (later Plone 5.0) with 
        eXist-db or Base-X or providing the following features:
        
        - mounts an arbitary eXist-db or Base-X collection into Plone
        - ACE editor integration
        - ZIP export from eXist-db or Base-X
        - ZIP import into eXist-db or Base-X
        - 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 
        
          - ``XMLText`` - a field for storing XML content in BaseX or eXist-db
        
          - ``XPathField`` - for retrieving parts of XML content stored within a 
            ``XMLText`` field through an XPath expression (e.g. for extracting
            and displaying metadata from XML content)
        
          - ``XMLBinary`` and ``XMLImage`` fields for storing binary data and images
            in BaseX or eXist-db. The functionality is identical with the standard
            Dexterity file and image fields (except for the different storage layer)
         
        
        The primary usecase for ``xmldirector.plonecore`` is the integration of XML document
        collections into Plone using eXist-db or Base-X as storage layer. ``xmldirector.plonecore`` 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 or Base-X. 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
        ``xmldirector.plonecore``. The design goal of ``xmldirector.plonecore`` is to provide the basic
        functionality for integrating Plone with eXist-db or Base-X without implementing any
        further specific application requirements.  Additional functionality can be
        added through Dexterity behaviors, supplementary browser views, event lifecycle
        subscribers and related technology.
        
        
        Requirements
        ------------
        
        - Plone 4.3 (Plone 5.0 support in progres)
        
        - Supported XML backends:
        
            - eXist-db 2.2 or higher
        
            - or Base-X 8.0 beta (no support for V 7.X due to WebDAV bugs)  
        
        - (un)supported/experimental WebDAV backends:
        
            - OwnCloud
            
            - Alfresco
        
        Installation
        ------------
        
        Add ``xmldirector.plonecore`` to the ``eggs`` and ``zcml`` options of your buildout
        configuration, re-run buildout and install the connector through the add-ons
        management of Plone.
        
        Configuration
        -------------
        
        Goto the Plone control panel and click on the ``XML-Director Core`` configlet and
        configure the 
        
        - WebDAV URL of the XML database. 
        
          For eXist-db you need something like::
          
            http://localhost:6080/existdb/webdav/db
        
          For Base-X 8 you need::
        
            http://localhost:8984/webdav
          
        
        - WebDAV username
        
        - WebDAV password
        
        
        Using xmldirector.plonecore
        ---------------------------
        
        The package provides a new content-types ``Connector`` that will include
        eXist-db or Base-X into Plone - either from the top-level collection of your eXist-db/Base-X
        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).
        
        .. note:: 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 ``xmldirector.plonecore``. 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
        
        Dexterity fields
        ----------------
        
        ``xmldirector.plonecore`` comes with the following Dexterity fields that
        can be either used programmatically in your own field schema or through-the-web.
        
        XMLText
        +++++++
        The ``XMLText`` can be used to store *valid* XML content. The field is rendered
        without Plone using the ACE editor. You can perform a client-side XML validation
        within the edit mode of a document by clicking on the ``Validate XML`` button.
        A document with invalid XML content can not be submitted or saved. Invalid XML
        will be rejected with an error message through the edit form.
        
        XMLXPath
        ++++++++
        
        The ``XMLXPath`` field can be used to reference an ``XMLText`` field in order
        to display a part of the XML content using an XPath expression.
        
        Example
        
        An ``XMLPath`` field with field name ``myxml`` might contain the following XML
        content::
        
            <?xml version="1.0"?>
            <doc>
                <metadata>
                    <title>This is a text</title>
                </metdata>
                <body>....</body>
            </doc>
        
        In order to extract and display the <title> text within a dedicated Dexterity field
        you can use the following extended expression:
        
            field=<fieldname>,xpath=<xpath expression>
        
        In this case you would use:
        
            field=myxml,xpath=/doc/metadata/title/text()
        
        Note that the current syntax is very rigid and does not allow any whitespace
        characters expect within the <xpath expression>.
        
        
        XMLBinary, XMLImage
        +++++++++++++++++++
        Same as file and image field in Plone but with BaseX or eXist-db as
        storage layer.
        
        
        License
        -------
        This package is published under the GNU Public License V2 (GPL 2)
        
        Source code
        -----------
        See https://bitbucket.org/onkopedia/xmldirector.plonecore
        
        Bugtracker
        ----------
        See https://bitbucket.org/onkopedia/xmldirector.plonecore
        
        Travis-CI
        ---------
        
        See https://travis-ci.org/xml-director/xmldirector.plonecore
        
        .. image:: https://travis-ci.org/xml-director/xmldirector.plonecore.svg?branch=master
            :target: https://travis-ci.org/xml-director/xmldirector.plonecore
        
        Credits
        -------
        The development of ``xmldirector.plonecore`` was funded as part of a customer project
        by Deutsche Gesellschaft für Hämatologie und medizinische Onkologie (DGHO).
        
        
        Author
        ------
        | Andreas Jung/ZOPYX
        | Hundskapfklinge 33
        | D-72074 Tuebingen, Germany
        | info@zopyx.com
        | www.zopyx.com
        
        
        Changelog
        =========
        
        0.3.6 (2015-02-06)
        ------------------
        - re-added Dexterity tests
        - added validator registry for XML schemas, DTDs, Schematron files
          and RelaxNG schemas
        - added @@validator-registry view
        - added unified validation API based on registered validation files
        - documented validator registry
        
        0.3.5 (2015-01-30)
        ------------------
        - rewritten persistent logger internals: now uses an OOBTree
          for holding all logging entries instead of a persistent list
          in order to support filtering of log entries by min-max 
          values
        - logger table now uses a paginated view with searchable columns
        - webdav password setting is no longer required (empty password allowed)
        - fixed Webdav authentication issue with empty passwords
        - moved demo related code into a dedicated package xmldirector.demo
        
        0.3.4 (2015-01-13)
        ------------------
        
        - default view handler accept a custom request/filename
          argument in order to override the name of downloaded file
        - fixed bug in view registry with BrowserView as view handler
        - added PersistentLoggerAdapter for adopting arbitrary
          persistent objects for persistent logging through a Zope
          annotation  
        
        0.3.3 (2015-01-05)
        ------------------
        
        - running the tests should not leave any testing directory
          traces within the XML databases 
        - almost 100% test coverage for the core functionality
        - more tests
        - added documentation on content-types
        
        0.3.2 (2014-12-30)
        ------------------
        
        - SHA256 calculation for xml content now generated in 
          a more stable way (but possibly much slower way)
        - API for service-side XML validation
        - added Docker support
        - added XSLT registry
        - added Shakespeare XML data for XMLDocument demo content-type
        - added 'test_all.sh' script for running tests against BaseX 
          and eXist-db Docker containers 
        
        0.3.1 (2014-12-12)
        ------------------
        - added ``Test connection`` button to controlpanel
        - moved test content type into a dedicated profile
          ``democontent``
        - Moved metadata handling from JSON to XML on the storage
          layer in order to let the underlaying database index
          the .metadata.xml files as well
        
        0.3.0 (2014-12-11)
        ------------------
        
        - renamed zopyx.existdb to xmldirector.plonecore
        - experimental Dexterity support with four new fields:
        
          - XMLText - for XML content
          - XMLXPath - for referencing XMLText parts through an XPath 
            expression
          - XMLImage and XMLBinary - same as image and file fields in Dexterity
            but with eXist-db as storage layer
        
        - removed ``emulation`` configuration option
        - added plone.app.dexterity as dependency
        - upgraded to ACE editor V 1.1.8
        - added progressbar for zip_upload()
        - added support for importing a single file through the 
          ZIP import form into the current subdirectory
        
        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
        
Keywords: xml-director exist-db basex owncloud alfresco existdb Plone XML Python WebDAV
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Framework :: Plone
Classifier: Framework :: Plone :: 4.3
Classifier: Framework :: Plone :: 5.0
Classifier: Framework :: Zope2
Classifier: Topic :: Software Development :: Libraries :: Python Modules
