Main features
- Mounts a file-system directory within ZODB
EEA Downloads Media Storage
EEA Downloads (Media Storage) mounts a file-system directory within ZODB
Within your buildout define environment-vars per instance:
[instance] environment-vars += EEADOWNLOADS_NAME downloads EEADOWNLOADS_PATH ${buildout:directory}/var/downloads
Make sure that registered file-system directory exists and the zope effective-user has read access there:
$ mkdir -p var/downloads
Add eea.downloads to your eggs section in your buildout and re-run buildout:
[instance] eggs += eea.downloads zcml += eea.downloads
You can download a sample buildout from https://github.com/eea/eea.downloads/tree/master/buildouts/plone4
Install eea.downloads within Site Setup > Add-ons
This package defines a storage interface IStorage that you can use to get generated files system paths and Plone related URLs. Default strategy of storing files is:
EEADOWNLOADS_PATH / UID / MODIFIED / ID.EXTENSION
Here is an example:
>>> from eea.downloads.interfaces import IStorage >>> store = IStorage(context).of('pdf') >>> store.filepath() '/opt/downloads/uid-21323e2321312/3213213/context-id.pdf' >>> store.absolute_url() 'http://localhost:8080/Plone/downloads/uid-21323e2321312/3213213/context-id.pdf'
You can always provide a custom IStorage adapter for your Zope objects if you need other file-system storage layout.
The Initial Owner of the Original Code is European Environment Agency (EEA). All Rights Reserved.
The EEA Downloads (the Original Code) is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
More details under docs/License.txt