PyCON 2024 in Pittsburgh experience
I am a regular visitior of PyCON US conference since 2001 and I visited most
This is a followup posting to "Towards a generic integration of external data sources into Plone" that I wrote last year.
The key to mounting arbitrary filesystems (local and remote) into a Plone instance is my XML Director (xmldirector.plonecore) project. Don't be confused about the "XML" in the project but the project started as an integration solution for accessing XML databases from within Plone with a tight integration and access to Plone functionality. XML Director became very mature over the last month and works since some month smooth and without problems in production as part of the Onkopedia (www.onkopedia.com) project. The current release features support for accessing XML databases like eXistDB (2.2 and 3.0) and BaseX (8.2, 8.3). The integration is build on top of pyfilesystem which abstracts lots of different filesystem types and makes them accessible through a transparent and unified API. This means (in theory) that your code will run against a local filesystem in the same way as against S3 or a WebDAV server.
XML Director will see a new major release very soon that will extend the list of supported filesystems.
XML Director has a huge testsuite of over 100 tests that are used to check the functionality of XML Director against all support filesystem types. A general problem that must be addressed in some way are encoded filenames. Many filesystem types support UTF-8 encoded filenames, others only support ASCII. The problem becomes even more complicated with different filesystem encodings on the host running Plone and of course the local filesystem (if you upload files from your local computer). XML Director is fully supported for Plone 4.3. Full support for Plone 5.0 is very close (some JS/CSS registry issues remaining).