Unsupported Release

This documentation relates to DSpace 1.8.x, an old, unsupported version. Looking for another version? See all documentation.

As of January 2015, DSpace 1.8.x is no longer supported. We recommend upgrading to a more recent version of DSpace. See DSpace Software Support Policy.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Transforming DSpace Content

MediaFilters: Transforming DSpace Content

Overview

DSpace can apply filters or transformations to files/bitstreams, creating new content. Filters are included that extract text for full-text searching, and create thumbnails for items that contain images. The media filters are controlled by the dspace filter-media script which traverses the asset store, invoking all configured MediaFilter or FormatFilter classes on files/bitstreams (see Configuring Media Filters for more information on how they are configured).

Available Media Filters

Below is a listing of all currently available Media Filters, and what they actually do:

Name

Java Class

Function

Enabled by Default?

HTML Text Extractor

org.dspace.app.mediafilter.HTMLFilter

extracts the full text of HTML documents for full text indexing

true

JPEG Thumbnail

org.dspace.app.mediafilter.JPEGFilter

creates thumbnail images of GIF, JPEG and PNG files

true

Branded Preview JPEG

org.dspace.app.mediafilter.BrandedPreviewJPEGFilter

creates a branded preview image for GIF, JPEG and PNG files (disabled by default)

false

PDF Text Extractor

org.dspace.app.mediafilter.PDFFilter

extracts the full text of Adobe PDF documents (only if text-based or OCRed) for full text indexing

true

Word Text Extractor

org.dspace.app.mediafilter.WordFilter

extracts the full text of Microsoft Word or Plain Text documents for full text indexing

true

PowerPoint Text Extractor

org.dspace.app.mediafilter.PowerPointFilter

extracts the full text of slides and notes in Microsoft PowerPoint and PowerPoint XML documents for full text indexing

true

Please note that the filter-media script will automatically update the DSpace search index by default (see ReIndexing Content (for Browse or Search)) This is the recommended way to run these scripts. But, should you wish to disable it, you can pass the -n flag to either script to do so (see Executing (via Command Line)) below).

Enabling/Disabling MediaFilters

The media filter plugin configuration filter.plugins in dspace.cfg contains a list of all enabled media/format filter plugins (see Configuring Media Filters for more information). By modifying the value of filter.plugins you can disable or enable MediaFilter plugins.

Executing (via Command Line)

The media filter system is intended to be run from the command line (or regularly as a cron task):

[dspace]/bin/dspace filter-media

With no options, this traverses the asset store, applying media filters to bitstreams, and skipping bitstreams that have already been filtered.

Available Command-Line Options:

  • Help : [dspace]/bin/dspace filter-media -h

    • Display help message describing all command-line options.
  • Force mode : [dspace]/bin/dspace filter-media -f

    • Apply filters to ALL bitstreams, even if they've already been filtered. If they've already been filtered, the previously filtered content is overwritten.
  • Identifier mode : [dspace]/bin/dspace filter-media -i 123456789/2

    • Restrict processing to the community, collection, or item named by the identifier - by default, all bitstreams of all items in the repository are processed. The identifier must be a Handle, not a DB key. This option may be combined with any other option.
  • Maximum mode : [dspace]/bin/dspace filter-media -m 1000

    • Suspend operation after the specified maximum number of items have been processed - by default, no limit exists. This option may be combined with any other option.
  • No-Index mode : [dspace]/bin/dspace filter-media -n

    • Suppress index creation - by default, a new search index is created for full-text searching. This option suppresses index creation if you intend to run index-update elsewhere.
  • Plugin mode : [dspace]/bin/dspace filter-media -p "PDF Text Extractor","Word Text Extractor"

    • Apply ONLY the filter plugin(s) listed (separated by commas). By default all named filters listed in the filter.plugins field of dspace.cfg are applied. This option may be combined with any other option. WARNING: multiple plugin names must be separated by a comma (i.e. ',') and NOT a comma followed by a space (i.e. ', ').
  • Skip mode : [dspace]/bin/dspace filter-media -s 123456789/9,123456789/100

    • SKIP the listed identifiers (separated by commas) during processing. The identifiers must be Handles (not DB Keys). They may refer to items, collections or communities which should be skipped. This option may be combined with any other option. WARNING: multiple identifiers must be separated by a comma (i.e. ',') and NOT a comma followed by a space (i.e. ', ').
    • NOTE: If you have a large number of identifiers to skip, you may maintain this comma-separated list within a separate file (e.g. filter-skiplist.txt). Use the following format to call the program. Please note the use of the "grave" or "tick" (`) symbol and do not use the single quotation.
      • [dspace]/bin/dspace filter-media -s `less filter-skiplist.txt`

  • Verbose mode : [dspace]/bin/dspace filter-media -v

    • Verbose mode - print all extracted text and other filter details to STDOUT.
      Adding your own filters is done by creating a class which implements the org.dspace.app.mediafilter.FormatFilter interface. See the Creating a new Media/Format Filter topic and comments in the source file FormatFilter.java for more information. In theory filters could be implemented in any programming language (C, Perl, etc.) However, they need to be invoked by the Java code in the Media Filter class that you create.
  • No labels