Plugin Reference 

Kitodo Plugin Reference 

Common Settings 

Fluid Template Configuration 

As of Kitodo.Presentation 4.0 the Fluid rendering engine is used. The former marker templates for plugins are not supported anymore.

Now, all HTML markup is done in Fluid. To use different templates, you have to overload the templates by the common TYPO3 way.

The following TypoScript defines additional paths inside an "example" extension:

plugin.tx_dlf {
   view {
      templateRootPaths {
         10 = EXT:example/Resources/Private/Plugins/Kitodo/Templates
      }
      partialRootPaths {
         10 = EXT:example/Resources/Private/Plugins/Kitodo/Partials
      }
   }
}
Copied!

In this example, you place the customized fluid template into this file:

EXT:example/Resources/Private/Plugins/Kitodo/Partials/Navigation/Main.html

Copied!

Audio Player 

The audioplayer plugin is only active if the selected document has valid audio file use groups (useGroupsAudio).

TypoScript Configuration 

plugin.tx_dlf_audioplayer.

Property

Data type

Default

Description

excludeOther

boolean

1

Show only documents from the selected page.

elementId

string

tx-dlf-audio

ID value of the HTML element for the audio player.

Basket 

plugin.tx_dlf_basket.

Property

Data type

Default

pregeneration

boolean

pdfgenerate

string

 

pdfdownload

string

 

pdfprint

string

 

pdfparams

string

##docId##,##startpage##,##endpage##,##startx##,##starty##,##endx##,##endy##,##rotation##

pdfparamseparator

string

*

basketGoToButton

boolean

targetBasket

t3tsref:data-type-page-id

 

Calendar 

The calendar plugin may be used with newspaper and ephemeras (periodical published media). The plugin shows itself an overview of all available years or all issues in a calendar view of a selected year.

You can't place the plugin together with the pageview plugin on one page. But you can use TypoScript conditions on this page to select the proper plugin e.g by setting some specific FLUID variables.

This is an example usage of the TypoScript condition ("getDocumentType"):

[getDocumentType({$plugin.tx_dlf.persistence.storagePid}) === 'ephemera' or getDocumentType({$plugin.tx_dlf.persistence.storagePid}) === 'newspaper']
page.10.variables {
    isNewspaper = TEXT
    isNewspaper.value = newspaper_anchor
}
[END]

[getDocumentType({$plugin.tx_dlf.persistence.storagePid}) === 'year']
page.10.variables {
    isNewspaper = TEXT
    isNewspaper.value = newspaper_year
}
[END]

[getDocumentType({$plugin.tx_dlf.persistence.storagePid}) === 'issue']
page.10.variables {
    isNewspaper = TEXT
    isNewspaper.value = newspaper_issue
}
[END]
Copied!

The {$plugin.tx_dlf.persistence.storagePid} is a TypoScript constant holding the Kitodo.Presentation storage pid.

This way, the FLUID variable "isNewspaper" is set according to the given value. Inside the FLUID template it's possible to switch to the right plugin now.

plugin.tx_dlf_calendar.settings.

Property

Data type

Default

initialDocument

integer

 

showEmptyYears

boolean

showEmptyMonths

boolean

1

Collection 

The collection plugin shows one collection, all collections or selected collections. It can be used to display the list of collections or the contents of a single collection. The plugin is configured in the TypoScript and in the FlexForm.

TypoScript Configuration 

plugin.tx_dlf_collection.settings.list.paginate

Property

Data type

Default

Description

itemsPerPage

integer

25

insertAbove

integer

1

insertBelow

integer

1

maximumNumberOfLinks

integer

10

section

string

showResults

FlexForm Configuration 

collections

t3tsref:data-type-list

solrcore

t3tsref:data-type-list

 

show_userdefined

integer

 

dont_show_single

boolean

randomize

boolean

targetPid

t3tsref:data-type-page-id

 

targetFeed

t3tsref:data-type-page-id

 

Embedded 3D Viewer 

The embedded3dviewer plugin renders an iFrame in which the configured 3D viewer displays the model.

plugin.tx_dlf_embedded3dviewer.settings.

FlexForm Configuration 

Property

Data type

Description

document

string

The URL of the XML document which contains the model.

model

string

The URL of the 3D model.

viewer

string

Override the default viewer from the extension configuration (see Configuration) with a supported viewer (from the "dlf_3d_viewers" directory).

Feeds 

The feeds plugin renders a RSS 2.0 feed of last updated documents of all or a specific collection.

The following steps are necessary to activate the plugin:

  1. Create a new page "Feed" with slug "feed".
  2. Create an extension template on this page and include the TypoScript template of the feeds plugin.
  3. Place the "Kitodo Feeds" plugin on it and configure it for your needs.

The TypoScript part is necessary to switch the page rendering to a different page object.

plugin.tx_dlf_feeds.settings.

Property

Data type

Default

collections

t3tsref:data-type-list

 

excludeOtherCollections

boolean

library

integer

 

limit

integer

50

prependSuperiorTitle

boolean

targetPid

t3tsref:data-type-page-id

 

title

string

 

description

string

 

List View 

TypoScript Configuration 

plugin.tx_dlf_listview.settings.list.paginate

Property

Data type

Default

itemsPerPage

integer

25

insertAbove

integer

1

insertBelow

integer

1

maximumNumberOfLinks

integer

10

section

string

showResults

FlexForm Configuration 

Property

Data type

Default

limit

integer

25

targetPid

t3tsref:data-type-page-id

 

getTitle

boolean

getStructurePath

boolean

basketButton

boolean

targetBasket

t3tsref:data-type-page-id

 

Media Player 

The MediaPlayer plugin is only active if the selected document has valid video file use groups (useGroupsVideo).

plugin.tx_dlf_mediaplayer.settings.

Property

Data type

Default

Description

excludeOther

boolean

1

Show only documents from the selected page.

elementId

string

tx-dlf-video

ID value of the HTML element for the media player.

Metadata 

plugin.tx_dlf_metadata.settings.

Property

Data type

Default

Description

excludeOther

boolean

1

Show only documents from the selected page.

linkTitle

boolean

1

 

targetPid

t3tsref:data-type-page-id

   

getTitle

boolean

1

 

showFull

boolean

1

 

rootline

integer

 

separator

string

#

 

OAI-PMH 

TypoScript Configuration 

plugin.tx_dlf_oaipmh.settings.

Property

Data type

Default

library

integer

 

limit

integer

5

expired

integer

1800

show_userdefined

boolean

stylesheet

resource

Page Grid 

TypoScript Configuration 

plugin.tx_dlf_pagegrid.settings.

Property

Data type

Default

paginate.itemsPerPage

integer

24

placeholder

resource

Navigation.tmpl

targetPid

t3tsref:data-type-page-id

 

Page View 

TypoScript Configuration 

plugin.tx_dlf_pageview.settings.

Property

Data type

Default

Description

excludeOther

boolean

1

Show only documents from the selected page.

features

t3tsref:data-type-list

   

elementId

string

tx-dlf-map

ID value of the HTML element for the document images.

progressElementId

string

tx-dlf-page-progress

ID value of the HTML element for the page progress bar.

crop

boolean

 

useInternalProxy

boolean

 

magnifier

boolean

 

basketButton

boolean

 

targetBasket

t3tsref:data-type-page-id

   

Statistics 

TypoScript Configuration 

plugin.tx_dlf_statistics.settings.

Property

Data type

Default

collections

t3tsref:data-type-list

 

description

string

 

Table Of Contents 

Table of Contents plugin renders a table of contents for the current document. The table of contents is generated based on the structure of the document.

TypoScript Configuration 

plugin.tx_dlf_tableofcontents.settings.

Property

Data type

Default

Description

excludeOther

boolean

1

Show only documents from the selected page.

basketButton

boolean

showFull

boolean

targetBasket

t3tsref:data-type-page-id

 

targetPid

t3tsref:data-type-page-id

 

titleReplacement

t3tsref:data-type-list

0 {
type = issue fields = type,year

} 1 { type = volume fields = type,volume }

List containing types for which title should be replaced when the label is empty. The defined fields are used for replacement.

Toolbox 

Toolbox Plugin is a plugin which can be used to display a selection of tools for the current page. The available tools are configured in the TypoScript.

'tools' is a required property which must contain at least one of the supported tools. The plugin will only be rendered if at least one tool is configured and supported for the current page.

TypoScript Configuration 

plugin.tx_dlf_toolbox.settings.

Property

Data type

Default

Values

tools

t3tsref:data-type-string

 
  • annotationtool
  • audiovideotool
  • fulltextdownloadtool
  • fulltexttool
  • imagedownloadtool
  • imagemanipulationtool
  • modeldownloadtool
  • multiviewaddsourcetool
  • pdfdownloadtool
  • searchindocumenttool
  • scoretool

solrCoreUid

integer

 

Tools 

Audio Video Tool 

This tool loads the Buttons for the Audiolabel-Image, Equalizer and Marker Table

plugin.tx_dlf_audiovideotool.settings.

Example configuration for Audio Video Tool
plugin.tx_dlf_audiovideotool {
   settings {
      tools = audiovideotool
   }
}
Copied!
Fulltext Tool 

This plugin adds an activation link for fulltext to the toolbox. If no fulltext is available for the current page, a span-tag is rendered instead.

The default behavior is to show the fulltext after click on the toggle link. There is a TypoScript configuration to show the fulltext initially.

plugin.tx_dlf_fulltexttool.settings.

Property

Data type

Default

Values

activateFullTextInitially

boolean

0: show fulltext after click on toggle link 1: show fulltext on document load

fullTextScrollElement

string

html, body

The fulltext is fetched and rendered by JavaScript into the <div id="tx-dlf-fulltextselection"> of the pageview plugin.

Please note: To allow JavaScript fetching the fulltext, the CORS headers must be configured appropriate on the providing webserver.

Example configuration for Fulltext Tool
plugin.tx_dlf_fulltexttool {
    settings {
        tools = fulltexttool
        activateFullTextInitially = 0
        fullTextScrollElement = html, body
    }
}
Copied!
Model Download Tool 

This tool makes it possible to extract the model URL from the METS file or use the provided model parameter to provide a download URL.

plugin.tx_dlf_modeldownloadtool.settings.

Example configuration for Model Download Tool
plugin.tx_dlf_modeldownloadtool {
    settings {
        tools = modeldownloadtool
    }
}
Copied!
Score Tool 

This tool extracts the score from the SCORE file group and visualizes the MEI score of current page using Verovio.

The provided MIDI output of Verovio is played using the html-midi-player

plugin.tx_dlf_scoretool.settings.

Property

Data type

Values

midiPlayerSoundFont

string

  • default or if the property is not set, the MIDI player will use a simple oscillator synth
  • built-in or if the property is empty, the built-in sound font (https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus) of MIDI player is used
  • Custom URL to sound font e.g. https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus
Example configuration for Score Tool
plugin.tx_dlf_scoretool {
    settings {
        tools = scoretool
        midiPlayerSoundFont = default
    }
}
Copied!
Search in Document Tool 

This plugin adds a possibility to search all appearances of the phrase in currently displayed document.

plugin.tx_dlf_searchindocumenttool.settings.

Property

Data type

Default

Values

searchUrl

string

 

documentIdUrlSchema

string

empty

https://host.de/items/id/record - example value

idInputName

string

tx_dlf[id]

queryInputName

string

tx_dlf[query]

startInputName

string

tx_dlf[start]

pageInputName

string

tx_dlf[page]

highlightWordInputName

string

tx_dlf[highlight_word]

encryptedInputName

string

tx_dlf[encrypted]

Example configuration for Search In Document Tool
plugin.tx_dlf_searchindocumenttool {
    settings {
        tools = searchindocumenttool
        idInputName = tx_dlf[id]
        pidInputName = tx_dlf[pid]
        queryInputName = tx_dlf[query]
        startInputName = tx_dlf[start]
        pageInputName = tx_dlf[page]
        highlightWordInputName = tx_dlf[highlight_word]
        encryptedInputName = tx_dlf[encrypted]
    }
}
Copied!
Viewer Selection Tool 

This tool can display a selection list of configured 3D viewers (from the "dlf_3d_viewers" directory see Setup) that support the current model.

The model URL is extracted from the METS file or taken from the provided model parameter. The extension of the model is extracted from this URL and compared with the supported model formats specified in the respective viewer configuration.

plugin.tx_dlf_viewerselectiontool.settings.

Example configuration for Viewer Selection Tool
plugin.tx_dlf_viewerselectiontool {
    settings {
        tools = viewerselectiontool
    }
}
Copied!

Validation Form 

The plugin renders an input field where a METS URL can be entered. After submission, the document is loaded and validated against the DOMDocumentValidation Middleware. For the validation to work, a corresponding configuration (see Configuration) must be present in TypoScript, and the type of this configuration must be provided to the plugin as a required parameter.

plugin.tx_dlf_validationform.

Property

Data type

Description

type

string

Validation configuration type for DOMDocument validation