SUNScholar/Media Filters/4.X

From Libopedia
Jump to navigation Jump to search
Back to Thumbnails

PLEASE NOTE:

After a while we noticed our server load increasing radically when doing the nightly media-filter jobs. We isolated the problem to the "Branded Preview JPEG" filter. This filter has been disabled as these branded previews are not important to us.

Step 1 - Install the Ubuntu software packages

Type the following:

sudo apt-get install xpdf poppler-utils curl

Step 2 - Install the java packages

Step 2A - Install "jai_imageio.jar"

mkdir $HOME/temp 
cd $HOME/temp
wget --no-check-certificate http://download.java.net/media/jai-imageio/builds/release/1.1/jai_imageio-1_1-lib-linux-i586.tar.gz
tar -xzvf jai_imageio-1_1-lib-linux-i586.tar.gz
 mvn install:install-file \
                    -Dfile=jai_imageio-1_1/lib/jai_imageio.jar  \
                    -DgroupId=com.sun.media                     \
                    -DartifactId=jai_imageio                    \
                    -Dversion=1.0_01                            \
                    -Dpackaging=jar                             \
                    -DgeneratePom=true

Step 2B - Install "jai_core.jar"

mkdir $HOME/temp 
cd $HOME/temp 
wget --no-check-certificate https://m2.duraspace.org/content/repositories/thirdparty/org/fcrepo/jai_core/1.1.2_01/jai_core-1.1.2_01.jar
mvn install:install-file \
                    -Dfile=jai_core-1.1.2_01.jar  \
                    -DgroupId=javax.media                      \
                    -DartifactId=jai_core                      \
                    -Dversion=1.1.2_01                         \
                    -Dpackaging=jar                            \
                    -DgeneratePom=true

Step 3 - Configuration

Step 3A

Edit the "dspace.cfg" file.

nano $HOME/source/dspace/config/dspace.cfg

First enable thumbnails, search for following and change to true:

webui.browse.thumbnail.show = true
webui.item.thumbnail.show = true
webui.preview.enabled = true

Then, search for the following and change as needed:

webui.preview.brand = My Institution Name
webui.preview.brand.abbrev = MyOrg

Lastly, be sure there is a value for thumbnail.maxwidth and that it corresponds to the size you want for preview images for the UI.

Search for the following and modify.

# maximum width and height of generated thumbnails
thumbnail.maxwidth  = 160
thumbnail.maxheight = 160

Step 3B

Search for "filter.plugins" and replace with the following.

filter.plugins = \
        PDF Text Extractor, \
        PDF Thumbnail, \
        HTML Text Extractor, \
        Word Text Extractor, \
        PowerPoint Text Extractor, \
        JPEG Thumbnail, \
        Branded Preview JPEG

Step 3C

Change the MediaFilter plugin configuration to remove the old "org.dspace.app.mediafilter.PDFFilter" and add the new filters "org.dspace.app.mediafilter.XPDF2Text = PDF Text Extractor" and "org.dspace.app.mediafilter.XPDF2Thumbnail = PDF Thumbnail". Replace with the following.

plugin.named.org.dspace.app.mediafilter.FormatFilter = \
  org.dspace.app.mediafilter.XPDF2Text = PDF Text Extractor, \
  org.dspace.app.mediafilter.HTMLFilter = HTML Text Extractor, \
  org.dspace.app.mediafilter.WordFilter = Word Text Extractor, \
  org.dspace.app.mediafilter.PowerPointFilter = PowerPoint Text Extractor, \
  org.dspace.app.mediafilter.XPDF2Thumbnail = PDF Thumbnail, \
  org.dspace.app.mediafilter.JPEGFilter = JPEG Thumbnail, \
  org.dspace.app.mediafilter.BrandedPreviewJPEGFilter = Branded Preview JPEG

Step 3D

Then replace "filter.org.dspace.app.mediafilter.PDFFilter.inputFormats = Adobe PDF" with the following:

filter.org.dspace.app.mediafilter.XPDF2Thumbnail.inputFormats = Adobe PDF
filter.org.dspace.app.mediafilter.XPDF2Text.inputFormats = Adobe PDF

Step 3E

Above the comment, "#Custom settings for PDFFilter", add the following:

#The paths to the XPDF utilities
xpdf.path.pdftotext = /usr/bin/pdftotext
xpdf.path.pdftoppm  = /usr/bin/pdftoppm
xpdf.path.pdfinfo   = /usr/bin/pdfinfo

Step 4 - Build and Install

To build, type the following:

cd $HOME/source
mvn -U clean package -Pxpdf-mediafilter-support

To install, type the following: (Replace XXX with your DSpace version number)

cd $HOME/source/dspace/target/dspace-XXX-build
ant update
ant clean_backups

Step 5 - Update dspace rebuild script

If the test build works then add the switch"-Pxpdf-mediafilter-support" to the dspace rebuild script, so that:

mvn -U clean package

becomes

mvn -U clean package -Pxpdf-mediafilter-support

See: http://wiki.lib.sun.ac.za/index.php/SUNScholar/Rebuild_DSpace

Step 6 - Test the media filers

Restart DSpace and then type the following to test. Select an item that has pdf files attached and use it as replacement for "123456789/29097".

$HOME/bin/dspace filter-media -n -v -i 123456789/29097

Step 7 - Create new thumbnails

The scripts are configured to do 1000 items at a time only. This saves on memory and CPU time. Therefore on a large system you may need to run the script several times. Also make sure that the dspace user has full read/write access to all items in the assetstore folders (sudo chmod 0777 -R $HOME/assetstore/).

$HOME/bin/dspace filter-media -n -v -m 1000 -p "PDF Thumbnail"
$HOME/bin/dspace filter-media -n -v -m 1000 -p "JPEG Thumbnail"

Step 8 - Add a daily admin task

See: http://wiki.lib.sun.ac.za/index.php/SUNScholar/Daily_Admin. Check the "filter-media" options!

Step 9 - Item list preview settings

Edit the following file:

nano $HOME/source/dspace/config/dspace.cfg

Search for xmlui.theme.mirage.item-list.emphasis. There are two options available namely "metadata" or "file", select "file" and save the "dspace.cfg" file, then rebuild DSpace. See example below.

### Settings for Item lists in Mirage theme ###
# What should the emphasis be in the display of item lists?
# Possible values : 'file', 'metadata'. If your repository is
# used mainly for scientific papers 'metadata' is probably the
# best way. If you have a lot of images and other files 'file'
# will be the best starting point
# (metdata is the default value if this option is not specified)
xmlui.theme.mirage.item-list.emphasis = file

References