Metadata

Distro Index Owner:
eea
Home Page:
eea.downloads
License
GPL version 2
Version:
1.8
Last updated:
2017-09-11
Keywords:
EEA Add-ons Plone Zope

eea.downloads

Files

Indexes

EEA Downloads Media Storage

EEA Downloads

http://ci.eionet.europa.eu/job/eea.downloads-www/badge/icon http://ci.eionet.europa.eu/job/eea.downloads-plone4/badge/icon

EEA Downloads (Media Storage) mounts a file-system directory within ZODB

Main features

  1. Mounts a file-system directory within ZODB

Install

  • 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

Getting started

  1. Login to ZMI
  2. Navigate to Plone > downloads

Storage adapter

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.

Source code

Funding

EEA - European Environment Agency (EU)

Changelog

1.8 - (2017-09-11)

  • Change: Possibility to register FS dirs from other projects [avoinea]

1.7 - (2017-04-24)

  • Change: updated package information [eduard-fironda]

1.6 - (2016-12-05)

  • Feature: added translations [irina-botez]

1.5 - (2016-05-19)

  • Bug fix: Fix pylint warnings [chiridra refs #71940]

1.4 - (2016-03-31)

  • Bug fix: Fix Plone 4 buildout install.sh permissions [avoinea]

1.3 - (2016-03-31)

  • Bug fix: Warn if EEADOWNLOADS_PATH is not set and fallback to CLIENT_HOME/tmp instead of crashing entire application [avoinea]
  • Bug fix: Warn if EEADOWNLOADS_NAME is not set and fallback to CLIENT_HOME/tmp instead of crashing entire application [avoinea]

1.2 - (2015-03-17)

  • Change: Switched to curl in the jenkins build install script [olimpiurob refs #22402]
  • Change: Changed fetch url for jenkins build install script to the install script from the main EEA CPB repository [olimpiurob refs #22402]

1.1 - (2014-10-01)

  • Feature: registered .lock files for the "Filesystem Directory View" [ghicaale refs #20972]

1.0 - (2014-09-15)

  • Upgrade step: Within "Plone > Site setup > Add-ons" install EEA Downloads [voineali refs #20677]
  • Pre-upgrade step: Make sure that the folder defined within EEADOWNLOADS_PATH exists on disk and Zope effective-user has read and write access within it. If you use ZEO and have more that one Zope instance, this folder should be shared for all Zope instances. [voineali refs #20677]
  • Pre-upgrade step: Within your buildout define environment-vars per instance: EEADOWNLOADS_NAME and EEADOWNLOADS_PATH [voineali refs #20677]