Skip to main content

File-to-content metadata updating for Plone

Project description

https://travis-ci.org/collective/collective.filemeta.svg

Background information

When for example MS Office or PDF documents are stored in Plone as normal File content, document metadata embedded in the documents is not used. Such metadata is embedded inside the files in various type-specific formats, and might include information such as title, description and keywords, or EXIF/IPTC metadata for images. Nor does Plone provide a screenshot or cover page thumbnail of the document.

This packages aims to provide those missing features in a generic, pluggable manner.

Note that in addition to this package, you need additional packages to provide the actual file type - specific metadata extraction, such as:

  • Products.OpenXml for MS Office document support

  • collective.pdfdocument for PDF support

Features provided

  • Generic pluggable mechanism to retrieve metadata from different file types, update content with it, and even round-trip the metadata back to the file from Plone content, if needed

  • Behavior to toggle the mechanism by content type

  • An example optional ‘Document File’ Dexterity content type that gets its metadata and cover image automatically copied over from the uploaded document file

  • Optionally enhanced built-in File content type so that it gets it metadata updated from uploaded file (including cover image)

  • A nicer default view (used both for the example type & enhanced File)

Features not provided

  • viewing the document contents

  • indexing of documents (would be a good fit though)

  • asynchronous operation

Note on metadata and cover images

Usually people don’t bother with document metadata so prior to uploading, you should check the document properties.

For MS Office docs, make sure that the “store preview” option is selected, before saving the document. PDFs have no embedded cover image; for them, collective.pdfdocument converts the first page of the PDF into a PNG cover image.

Implementation notes

Metadata is processed by a subscriber that attemtps to retrieve the metadata using a ‘IFileMetaProvider’ utility whose name matches the primary file field mime type. If the metadata can be extracted from file, it is copied over by another ‘IContentMetaUpdater’ (likewise named) utility.

Installation

Install collective.filemeta by adding it to your buildout:

[buildout]

...

eggs =
    collective.filemeta

and then running bin/buildout. Remember that you will also need some additional packages that provide the file type -specific extraction of document file metadata. For MS Office OpenXML and PDF support, the buildout would have:

[buildout]

...

eggs =
    collective.filemeta
    Products.OpenXml
    collective.pdfdocument

Contribute

Support

If you are having issues, please submit them to tracker or contact the author.

License

The project is licensed under the GPLv2.

Contributors

Changelog

1.0rc3 (2016-06-08)

  • Add CSS classes for styling

1.0rc2 (2016-06-07)

  • Always overwrite metadata on ObjectAddedEvent

1.0rc1 (2016-06-03)

  • Don’t break when behavior is set on content type without image field [petri]

  • Other minor fixes [petri]

1.0a1 (unreleased)

  • Initial release. [petri]

Project details


Download files

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

Source Distribution

collective.filemeta-1.0rc3.zip (52.5 kB view details)

Uploaded Source

File details

Details for the file collective.filemeta-1.0rc3.zip.

File metadata

File hashes

Hashes for collective.filemeta-1.0rc3.zip
Algorithm Hash digest
SHA256 33ea974cfdae47cb1f922f569db3c2c18d9c8d0b076725074f7e3c7b6c83476c
MD5 addd3e03e6a3ce9b1ceebb6c8868f903
BLAKE2b-256 c667731dfbd389863cb66d09194c67a91012f76dfbc46826c232f2241bb97458

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page