Extension:PagedTiffHandler

From MediaWiki.org
Jump to: navigation, search
MediaWiki extensions manual
Crystal Clear action run.png
PagedTiffHandler

Release status: stable

Implementation Media
Description Allows to display tiff-files
Author(s) Hallo Welt! Medienwerkstatt GmbH for Wikimedia Deutschland e.V.
Latest version continuous updates
MediaWiki 1.19+
PHP 5.3+
Database changes No
License GPL
Download
Hooks used
UploadVerifyFile

LanguageGetMagic

Translate the PagedTiffHandler extension if it is available at translatewiki.net

Check usage and version matrix; code metrics

The PagedTiffHandler extension allows to upload and display tiff-files into your wiki. It can handle multi-paged images and render them into thumbnails on per page basis.

Usage[edit | edit source]

You can embed images using standard image syntax. Additionally, there are two new parameters:

Parameter Example Function
page [[Image:Test.tiff|page=2]] Renders a thumbnail of the second page of test.tiff. Page numbers start with 1. Default value is 1.
lossy [[Image:Test.tiff|lossy=false]] If set to false, thumbnails are being rendered as png, otherwise as jpg. If no value is set, PagedTiffHandler determines the value based on the presence of an alpha channel. If alpha is there, thumbnail is rendered as png. Possible values for jpg: '1', 'true' and 'lossy'. Possible values for png: '0', 'false' and 'lossless'.

Installation[edit | edit source]

  • Download and extract the tarball in your extensions/ folder. It should generate a new folder called PagedTiffHandler directly inside your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php:
require_once "$IP/extensions/PagedTiffHandler/PagedTiffHandler.php";
  • Configure as required
  • Done! Navigate to "Special:Version" on your wiki to verify that the extension is successfully installed.

Configuration[edit | edit source]

PagedTiffHandler rejects images based on error messages of ImageMagick. There are three options:

  • Images are rejected if the error message matches $wgTiffIdentifyRejectMessages
  • Images are accepted without moaning if the error message matches $wgTiffIdentifyBypassMessages
  • In other cases, images are accepted but the error message is recorded in the image metadata.

Example configuration (all of the parameters show the default configuration):

$wgTiffIdentifyRejectMessages = array(
	'/^identify: Compression algorithm does not support random access/',
	'/^identify: Old-style LZW codes, convert file/',
	'/^identify: Sorry, requested compression method is not configured/',
	'/^identify: ThunderDecode: Not enough data at scanline/',
	'/^identify: .+?: Read error on strip/',
	'/^identify: .+?: Can not read TIFF directory/',
	'/^identify: Not a TIFF/',
);
$wgTiffIdentifyBypassMessages = array(
	'/^identify: .*TIFFReadDirectory/',
	'/^identify: .+?: unknown field with tag .+? encountered/'
);

PagedTiffHandler depends on various external programs in order to process Tiff images.

  • ImageMagick is used to check the image and render thumbail images. This is mandatory, PagedTiffHandler will not work without ImageMagick.
  • Exiv2 is used to extract image metadata (optional).
  • Vips is an addition to ImageMagick for fast processing of large image files (optional).

For each software in use, a path to the binary file must be provided.

Example configuration:

// Path to identify
$wgImageMagickIdentifyCommand = '/usr/bin/identify';
// Use exiv2?
$wgTiffUseExiv = false;
// Path to exiv2
$wgTiffExivCommand = '/usr/bin/exiv2';
// Use vips
$wgTiffUseVips = false;
// Path to vips
$wgTiffVipsCommand = '/usr/bin/vips';

PagedTiffHandler also checks a few parameters of the image in order to be able to control the necessary processing time.

Example configuration:

// Maximum number of embedded files in tiff image
$wgTiffMaxEmbedFiles = 10000;
// Maximum size of meta data
$wgTiffMaxMetaSize = 64*1024; // 64kB

When thumbnailing fails for an image, PagedTiffHandler will not try again to render this image for some time. The setting below controls after how many seconds thumbnailing may be tried again.

Example configuration:

// TTL of Cacheentries for Errors
$wgTiffErrorCacheTTL = 84600;
Defaults

All of the above shown parameters are set as default in the configuration of the extension. In order to override them, just put the override value after you include the extension in LocalSetting.php:

Example:

require_once("$IP/extensions/PagedTiffHandler/PagedTiffHandler.php");
$wgTiffMaxEmbedFiles = 150;

See also[edit | edit source]

PdfHandler extension