Browse Source

Switch tabs for whitespaces

pull/329/head
Sebastian Meyer 4 years ago
parent
commit
da5d8ff337
  1. 54
      Classes/Common/Document.php
  2. 14
      Classes/Common/DocumentList.php
  3. 8
      Classes/Common/DocumentTypeCheck.php
  4. 8
      Classes/Common/Helper.php
  5. 10
      Classes/Common/Indexer.php
  6. 18
      Classes/Common/Solr.php
  7. 4
      Classes/Hooks/ConfigurationForm.php
  8. 32
      Classes/Plugins/AudioPlayer.php
  9. 32
      Classes/Plugins/Basket.php
  10. 4
      Classes/Plugins/Calendar.php
  11. 2
      Classes/Plugins/Collection.php
  12. 2
      Classes/Plugins/ListView.php
  13. 4
      Classes/Plugins/Metadata.php
  14. 14
      Classes/Plugins/OaiPmh.php
  15. 39
      Classes/Plugins/PageView.php
  16. 2
      Classes/Plugins/TableOfContents.php
  17. 4
      Configuration/ApacheSolr/README.txt
  18. 298
      Configuration/ApacheSolr/configsets/dlf/conf/schema.xml
  19. 46
      Configuration/ApacheSolr/configsets/dlf/conf/solrconfig.xml
  20. 142
      Configuration/Flexforms/AudioPlayer.xml
  21. 258
      Configuration/Flexforms/Basket.xml
  22. 324
      Configuration/Flexforms/Collection.xml
  23. 276
      Configuration/Flexforms/Feeds.xml
  24. 230
      Configuration/Flexforms/ListView.xml
  25. 300
      Configuration/Flexforms/Metadata.xml
  26. 162
      Configuration/Flexforms/Navigation.xml
  27. 274
      Configuration/Flexforms/OaiPmh.xml
  28. 190
      Configuration/Flexforms/PageGrid.xml
  29. 308
      Configuration/Flexforms/PageView.xml
  30. 592
      Configuration/Flexforms/Search.xml
  31. 130
      Configuration/Flexforms/Statistics.xml
  32. 220
      Configuration/Flexforms/TableOfContents.xml
  33. 154
      Configuration/Flexforms/Toolbox.xml
  34. 88
      Configuration/Flexforms/Validator.xml
  35. 6
      Configuration/TCA/tx_dlf_actionlog.php
  36. 6
      Configuration/TCA/tx_dlf_basket.php
  37. 6
      Configuration/TCA/tx_dlf_collections.php
  38. 6
      Configuration/TCA/tx_dlf_documents.php
  39. 6
      Configuration/TCA/tx_dlf_formats.php
  40. 6
      Configuration/TCA/tx_dlf_libraries.php
  41. 6
      Configuration/TCA/tx_dlf_mail.php
  42. 6
      Configuration/TCA/tx_dlf_metadata.php
  43. 8
      Configuration/TCA/tx_dlf_metadataformat.php
  44. 6
      Configuration/TCA/tx_dlf_printer.php
  45. 6
      Configuration/TCA/tx_dlf_solrcores.php
  46. 6
      Configuration/TCA/tx_dlf_structures.php
  47. 66
      Configuration/TypoScript/Search/setup.txt
  48. 104
      Configuration/TypoScript/TableOfContents/setup.txt
  49. 20
      Documentation/Configuration/Index.rst
  50. 14
      Documentation/Developer/Index.rst
  51. 76
      Documentation/Index.rst
  52. 332
      Documentation/Plugins/Index.rst
  53. 586
      Resources/Private/ISO-639/iso-639-1.xml
  54. 1962
      Resources/Private/ISO-639/iso-639-2b.xml
  55. 36
      Resources/Private/Language/AudioPlayer.xml
  56. 116
      Resources/Private/Language/Basket.xml
  57. 90
      Resources/Private/Language/Collection.xml
  58. 72
      Resources/Private/Language/Feeds.xml
  59. 412
      Resources/Private/Language/FlashMessages.xml
  60. 32
      Resources/Private/Language/FulltextTool.xml
  61. 32
      Resources/Private/Language/ImageDownloadTool.xml
  62. 56
      Resources/Private/Language/ImageManipulationTool.xml
  63. 684
      Resources/Private/Language/Labels.xml
  64. 108
      Resources/Private/Language/ListView.xml
  65. 68
      Resources/Private/Language/Metadata.xml
  66. 104
      Resources/Private/Language/Navigation.xml
  67. 92
      Resources/Private/Language/OaiPmh.xml
  68. 60
      Resources/Private/Language/PageGrid.xml
  69. 88
      Resources/Private/Language/PageView.xml
  70. 36
      Resources/Private/Language/PdfDownloadTool.xml
  71. 172
      Resources/Private/Language/Search.xml
  72. 48
      Resources/Private/Language/Statistics.xml
  73. 48
      Resources/Private/Language/TableOfContents.xml
  74. 36
      Resources/Private/Language/Toolbox.xml
  75. 28
      Resources/Private/Language/Validator.xml
  76. 50
      Resources/Private/Templates/Basket.tmpl
  77. 20
      Resources/Private/Templates/Collection.tmpl
  78. 48
      Resources/Private/Templates/ListView.tmpl
  79. 10
      Resources/Private/Templates/Metadata.tmpl
  80. 12
      Resources/Private/Templates/PageGrid.tmpl
  81. 2
      Resources/Private/Templates/PageView.tmpl
  82. 28
      Resources/Private/Templates/Search.tmpl
  83. 6
      Resources/Private/Templates/Toolbox.tmpl
  84. 560
      Resources/Public/Stylesheets/OaiPmh.xsl
  85. 2
      class.ext_update.php

54
Classes/Common/Document.php

@ -123,7 +123,7 @@ final class Document {
/**
* Last searched logical and physical page
*
* @var array
* @var array
* @access protected
*/
protected $lastSearchedPhysicalPage = ['logicalPage' => NULL, 'physicalPage' => NULL];
@ -131,7 +131,7 @@ final class Document {
/**
* This holds the documents location
*
* @var string
* @var string
* @access protected
*/
protected $location = '';
@ -139,7 +139,7 @@ final class Document {
/**
* This holds the logical units
*
* @var array
* @var array
* @access protected
*/
protected $logicalUnits = [];
@ -147,7 +147,7 @@ final class Document {
/**
* This holds the documents' parsed metadata array with their corresponding structMap//div's ID as array key
*
* @var array
* @var array
* @access protected
*/
protected $metadataArray = [];
@ -156,7 +156,7 @@ final class Document {
* Is the metadata array loaded?
* @see $metadataArray
*
* @var boolean
* @var boolean
* @access protected
*/
protected $metadataArrayLoaded = FALSE;
@ -164,7 +164,7 @@ final class Document {
/**
* This holds the XML file's METS part as \SimpleXMLElement object
*
* @var \SimpleXMLElement
* @var \SimpleXMLElement
* @access protected
*/
protected $mets;
@ -172,7 +172,7 @@ final class Document {
/**
* The holds the total number of pages
*
* @var integer
* @var integer
* @access protected
*/
protected $numPages = 0;
@ -180,7 +180,7 @@ final class Document {
/**
* This holds the UID of the parent document or zero if not multi-volumed
*
* @var integer
* @var integer
* @access protected
*/
protected $parentId = 0;
@ -188,7 +188,7 @@ final class Document {
/**
* This holds the physical structure
*
* @var array
* @var array
* @access protected
*/
protected $physicalStructure = [];
@ -196,7 +196,7 @@ final class Document {
/**
* This holds the physical structure metadata
*
* @var array
* @var array
* @access protected
*/
protected $physicalStructureInfo = [];
@ -205,7 +205,7 @@ final class Document {
* Is the physical structure loaded?
* @see $physicalStructure
*
* @var boolean
* @var boolean
* @access protected
*/
protected $physicalStructureLoaded = FALSE;
@ -213,7 +213,7 @@ final class Document {
/**
* This holds the PID of the document or zero if not in database
*
* @var integer
* @var integer
* @access protected
*/
protected $pid = 0;
@ -221,7 +221,7 @@ final class Document {
/**
* This holds the documents' raw text pages with their corresponding structMap//div's ID as array key
*
* @var array
* @var array
* @access protected
*/
protected $rawTextArray = [];
@ -229,7 +229,7 @@ final class Document {
/**
* Is the document instantiated successfully?
*
* @var boolean
* @var boolean
* @access protected
*/
protected $ready = FALSE;
@ -237,7 +237,7 @@ final class Document {
/**
* The METS file's record identifier
*
* @var string
* @var string
* @access protected
*/
protected $recordId;
@ -245,7 +245,7 @@ final class Document {
/**
* This holds the singleton object of the document
*
* @var array (\Kitodo\Dlf\Common\Document)
* @var array (\Kitodo\Dlf\Common\Document)
* @access protected
*/
protected static $registry = [];
@ -253,7 +253,7 @@ final class Document {
/**
* This holds the UID of the root document or zero if not multi-volumed
*
* @var integer
* @var integer
* @access protected
*/
protected $rootId = 0;
@ -262,7 +262,7 @@ final class Document {
* Is the root id loaded?
* @see $rootId
*
* @var boolean
* @var boolean
* @access protected
*/
protected $rootIdLoaded = FALSE;
@ -270,7 +270,7 @@ final class Document {
/**
* This holds the smLinks between logical and physical structMap
*
* @var array
* @var array
* @access protected
*/
protected $smLinks = ['l2p' => [], 'p2l' => []];
@ -279,7 +279,7 @@ final class Document {
* Are the smLinks loaded?
* @see $smLinks
*
* @var boolean
* @var boolean
* @access protected
*/
protected $smLinksLoaded = FALSE;
@ -287,7 +287,7 @@ final class Document {
/**
* This holds the logical structure
*
* @var array
* @var array
* @access protected
*/
protected $tableOfContents = [];
@ -296,7 +296,7 @@ final class Document {
* Is the table of contents loaded?
* @see $tableOfContents
*
* @var boolean
* @var boolean
* @access protected
*/
protected $tableOfContentsLoaded = FALSE;
@ -304,7 +304,7 @@ final class Document {
/**
* This holds the document's thumbnail location.
*
* @var string
* @var string
* @access protected
*/
protected $thumbnail = '';
@ -313,7 +313,7 @@ final class Document {
* Is the document's thumbnail location loaded?
* @see $thumbnail
*
* @var boolean
* @var boolean
* @access protected
*/
protected $thumbnailLoaded = FALSE;
@ -321,7 +321,7 @@ final class Document {
/**
* This holds the toplevel structure's @ID
*
* @var string
* @var string
* @access protected
*/
protected $toplevelId = '';
@ -329,7 +329,7 @@ final class Document {
/**
* This holds the UID or the URL of the document
*
* @var mixed
* @var mixed
* @access protected
*/
protected $uid = 0;
@ -337,7 +337,7 @@ final class Document {
/**
* This holds the whole XML file as \SimpleXMLElement object
*
* @var \SimpleXMLElement
* @var \SimpleXMLElement
* @access protected
*/
protected $xml;

14
Classes/Common/DocumentList.php

@ -25,7 +25,7 @@ class DocumentList implements \ArrayAccess, \Countable, \Iterator, \TYPO3\CMS\Co
* This holds the number of documents in the list
* @see \Countable
*
* @var integer
* @var integer
* @access protected
*/
protected $count = 0;
@ -34,7 +34,7 @@ class DocumentList implements \ArrayAccess, \Countable, \Iterator, \TYPO3\CMS\Co
* This holds the list entries in sorted order
* @see \ArrayAccess
*
* @var array
* @var array
* @access protected
*/
protected $elements = [];
@ -42,7 +42,7 @@ class DocumentList implements \ArrayAccess, \Countable, \Iterator, \TYPO3\CMS\Co
/**
* This holds the list's metadata
*
* @var array
* @var array
* @access protected
*/
protected $metadata = [];
@ -51,7 +51,7 @@ class DocumentList implements \ArrayAccess, \Countable, \Iterator, \TYPO3\CMS\Co
* This holds the current list position
* @see \Iterator
*
* @var integer
* @var integer
* @access protected
*/
protected $position = 0;
@ -59,7 +59,7 @@ class DocumentList implements \ArrayAccess, \Countable, \Iterator, \TYPO3\CMS\Co
/**
* This holds the full records of already processed list elements
*
* @var array
* @var array
* @access protected
*/
protected $records = [];
@ -67,7 +67,7 @@ class DocumentList implements \ArrayAccess, \Countable, \Iterator, \TYPO3\CMS\Co
/**
* Instance of \Kitodo\Dlf\Common\Solr class
*
* @var \Kitodo\Dlf\Common\Solr
* @var \Kitodo\Dlf\Common\Solr
* @access protected
*/
protected $solr;
@ -75,7 +75,7 @@ class DocumentList implements \ArrayAccess, \Countable, \Iterator, \TYPO3\CMS\Co
/**
* This holds the Solr metadata configuration
*
* @var array
* @var array
* @access protected
*/
protected $solrConfig = [];

8
Classes/Common/DocumentTypeCheck.php

@ -24,7 +24,7 @@ class DocumentTypeCheck {
/**
* This holds the current document
*
* @var \Kitodo\Dlf\Common\Document
* @var \Kitodo\Dlf\Common\Document
* @access protected
*/
protected $doc;
@ -32,7 +32,7 @@ class DocumentTypeCheck {
/**
* This holds the extension key
*
* @var string
* @var string
* @access protected
*/
protected $extKey = 'dlf';
@ -41,7 +41,7 @@ class DocumentTypeCheck {
* This holds the current DLF plugin parameters
* @see __contruct()
*
* @var array
* @var array
* @access protected
*/
protected $piVars = [];
@ -49,7 +49,7 @@ class DocumentTypeCheck {
/**
* This holds the DLF parameter prefix
*
* @var string
* @var string
* @access protected
*/
protected $prefixId = 'tx_dlf';

8
Classes/Common/Helper.php

@ -24,7 +24,7 @@ class Helper {
/**
* The extension key
*
* @var string
* @var string
* @access public
*/
public static $extKey = 'dlf';
@ -32,7 +32,7 @@ class Helper {
/**
* The locallang array for flash messages
*
* @var array
* @var array
* @access protected
*/
protected static $messages = [];
@ -53,7 +53,7 @@ class Helper {
/**
* Check if given identifier is a valid identifier of the German National Library
* @see http://support.d-nb.de/iltis/onlineRoutinen/Pruefziffernberechnung.htm
* @see http://support.d-nb.de/iltis/onlineRoutinen/Pruefziffernberechnung.htm
*
* @access public
*
@ -479,7 +479,7 @@ class Helper {
/**
* Get the URN of an object
* @see http://www.persistent-identifier.de/?link=316
* @see http://www.persistent-identifier.de/?link=316
*
* @access public
*

10
Classes/Common/Indexer.php

@ -23,7 +23,7 @@ class Indexer {
/**
* The extension key
*
* @var string
* @var string
* @access public
*/
public static $extKey = 'dlf';
@ -32,7 +32,7 @@ class Indexer {
* Array of metadata fields' configuration
* @see loadIndexConf()
*
* @var array
* @var array
* @access protected
*/
protected static $fields = [
@ -49,7 +49,7 @@ class Indexer {
* Is the index configuration loaded?
* @see $fields
*
* @var boolean
* @var boolean
* @access protected
*/
protected static $fieldsLoaded = FALSE;
@ -57,7 +57,7 @@ class Indexer {
/**
* List of already processed documents
*
* @var array
* @var array
* @access protected
*/
protected static $processedDocs = [];
@ -65,7 +65,7 @@ class Indexer {
/**
* Instance of \Kitodo\Dlf\Common\Solr class
*
* @var \Kitodo\Dlf\Common\Solr
* @var \Kitodo\Dlf\Common\Solr
* @access protected
*/
protected static $solr;

18
Classes/Common/Solr.php

@ -24,7 +24,7 @@ class Solr {
/**
* This holds the core name
*
* @var string
* @var string
* @access protected
*/
protected $core = '';
@ -32,7 +32,7 @@ class Solr {
/**
* This holds the PID for the configuration
*
* @var integer
* @var integer
* @access protected
*/
protected $cPid = 0;
@ -40,7 +40,7 @@ class Solr {
/**
* The extension key
*
* @var string
* @var string
* @access public
*/
public static $extKey = 'dlf';
@ -48,7 +48,7 @@ class Solr {
/**
* This holds the max results
*
* @var integer
* @var integer
* @access protected
*/
protected $limit = 50000;
@ -56,7 +56,7 @@ class Solr {
/**
* This holds the number of hits for last search
*
* @var integer
* @var integer
* @access protected
*/
protected $numberOfHits = 0;
@ -64,7 +64,7 @@ class Solr {
/**
* This holds the additional query parameters
*
* @var array
* @var array
* @access protected
*/
protected $params = [];
@ -72,7 +72,7 @@ class Solr {
/**
* Is the search instantiated successfully?
*
* @var boolean
* @var boolean
* @access protected
*/
protected $ready = FALSE;
@ -80,7 +80,7 @@ class Solr {
/**
* This holds the singleton search objects with their core as array key
*
* @var array (\Kitodo\Dlf\Common\Solr)
* @var array (\Kitodo\Dlf\Common\Solr)
* @access protected
*/
protected static $registry = [];
@ -88,7 +88,7 @@ class Solr {
/**
* This holds the Solr service object
*
* @var \Solarium\Client
* @var \Solarium\Client
* @access protected
*/
protected $service;

4
Classes/Hooks/ConfigurationForm.php

@ -26,7 +26,7 @@ class ConfigurationForm {
/**
* This holds the current configuration
*
* @var array
* @var array
* @access protected
*/
protected $conf = [];
@ -34,7 +34,7 @@ class ConfigurationForm {
/**
* This holds the output ready to return
*
* @var string
* @var string
* @access protected
*/
protected $content = '';

32
Classes/Plugins/AudioPlayer.php

@ -25,7 +25,7 @@ class AudioPlayer extends \Kitodo\Dlf\Common\AbstractPlugin {
/**
* Holds the current audio file's URL, MIME type and optional label
*
* @var array
* @var array
* @access protected
*/
protected $audio = [];
@ -44,22 +44,20 @@ class AudioPlayer extends \Kitodo\Dlf\Common\AbstractPlugin {
$output[] = '<script type="text/javascript" src="'.\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::siteRelPath($this->extKey).'Resources/Public/Javascript/AudioPlayer/AudioPlayer.js"></script>';
// Add player configuration.
$output[] = '
<style>
#tx-dlf-audio { width: 100px; height: 100px };
</style>
<script id="tx-dlf-audioplayer-initViewer" type="text/javascript">
$(document).ready(function() {
AudioPlayer = new dlfAudioPlayer({
audio: {
mimeType: "' . $this->audio['mimetype'].'",
title: "' . $this->audio['label'].'",
url: "' . $this->audio['url'].'"
},
parentElId: "tx-dlf-audio",
swfPath: "'.\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::siteRelPath($this->extKey).'Resources/Public/Javascript/jPlayer/jquery.jplayer.swf"
});
});
</script>';
<style>#tx-dlf-audio { width: 100px; height: 100px; }</style>
<script id="tx-dlf-audioplayer-initViewer" type="text/javascript">
$(document).ready(function() {
AudioPlayer = new dlfAudioPlayer({
audio: {
mimeType: "'.$this->audio['mimetype'].'",
title: "'.$this->audio['label'].'",
url: "'.$this->audio['url'].'"
},
parentElId: "tx-dlf-audio",
swfPath: "'.\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::siteRelPath($this->extKey).'Resources/Public/Javascript/jPlayer/jquery.jplayer.swf"
});
});
</script>';
return implode("\n", $output);
}

32
Classes/Plugins/Basket.php

@ -155,13 +155,13 @@ class Basket extends \Kitodo\Dlf\Common\AbstractPlugin {
$markerArray['###MAILACTION###'] = $mailForm;
// remove action form
$markerArray['###REMOVEACTION###'] = '
<select name="tx_dlf[basket_action]">
<option value="">'.$this->pi_getLL('chooseAction', '', TRUE).'</option>
<option value="open">'.$this->pi_getLL('download', '', TRUE).'</option>
<option value="remove">'.$this->pi_getLL('remove', '', TRUE).'</option>
</select>
<input type="submit">
';
<select name="tx_dlf[basket_action]">
<option value="">'.$this->pi_getLL('chooseAction', '', TRUE).'</option>
<option value="open">'.$this->pi_getLL('download', '', TRUE).'</option>
<option value="remove">'.$this->pi_getLL('remove', '', TRUE).'</option>
</select>
<input type="submit">
';
// get mail addresses
$resultPrinter = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
'*',
@ -330,14 +330,14 @@ class Basket extends \Kitodo\Dlf\Common\AbstractPlugin {
if ($this->conf['pregeneration']) {
// send ajax request to webapp
$output .= '
<script>
$(document).ready(function(){
$.ajax({
url: "'.$pdfGenerateUrl.'",
}).done(function() {
});
});
</script>';
<script>
$(document).ready(function(){
$.ajax({
url: "'.$pdfGenerateUrl.'",
}).done(function() {
});
});
</script>';
}
}
$update = ['doc_ids' => json_encode($items)];
@ -463,7 +463,7 @@ class Basket extends \Kitodo\Dlf\Common\AbstractPlugin {
return [
'downloadUrl' => $downloadUrl,
'downloadLink' => $downloadLink,
'pageNums' => $pageNums,
'pageNums' => $pageNums,
'urlParams' => $urlParams,
'record_id' => $document->recordId,
];

4
Classes/Plugins/Calendar.php

@ -78,7 +78,7 @@ class Calendar extends \Kitodo\Dlf\Common\AbstractPlugin {
'year' => $resArray['year']
];
}
// We need an array of issues with month number as key.
// We need an array of issues with month number as key.
$calendarIssues = [];
foreach ($issues as $issue) {
$calendarIssues[date('n', strtotime($issue['year']))][date('j', strtotime($issue['year']))][] = $issue;
@ -101,7 +101,7 @@ class Calendar extends \Kitodo\Dlf\Common\AbstractPlugin {
'###DAYFRI_NAME###' => strftime('%a', strtotime('last Friday')),
'###DAYSAT_NAME###' => strftime('%a', strtotime('last Saturday')),
'###DAYSUN_NAME###' => strftime('%a', strtotime('last Sunday')),
'###MONTHNAME###' => strftime('%B', strtotime($year.'-'.($i + 1).'-1'))
'###MONTHNAME###' => strftime('%B', strtotime($year.'-'.($i + 1).'-1'))
];
// Reset week content of new month.
$subWeekPartContent = '';

2
Classes/Plugins/Collection.php

@ -29,7 +29,7 @@ class Collection extends \Kitodo\Dlf\Common\AbstractPlugin {
/**
* This holds the hook objects
*
* @var array
* @var array
* @access protected
*/
protected $hookObjects = [];

2
Classes/Plugins/ListView.php

@ -66,7 +66,7 @@ class ListView extends \Kitodo\Dlf\Common\AbstractPlugin {
*
* @access protected
*
* @return string The rendered page browser ready for output
* @return string The rendered page browser ready for output
*/
protected function getPageBrowser() {
// Get overall number of pages.

4
Classes/Plugins/Metadata.php

@ -29,7 +29,7 @@ class Metadata extends \Kitodo\Dlf\Common\AbstractPlugin {
/**
* This holds the hook objects
*
* @var array
* @var array
* @access protected
*/
protected $hookObjects = [];
@ -151,7 +151,7 @@ class Metadata extends \Kitodo\Dlf\Common\AbstractPlugin {
if ($resArray) {
// get correct language uid for translated realurl link
$link_uid = ($resArray['_LOCALIZED_UID']) ? $resArray['_LOCALIZED_UID'] : $resArray['uid'];
// do stuff with the row entry data like built HTML or prepare further usage
// do stuff with the row entry data like built HTML or prepare further usage
if ($this->conf['showFull'] || $resArray['is_listed']) {
$metaList[$resArray['index_name']] = [
'wrap' => $resArray['wrap'],

14
Classes/Plugins/OaiPmh.php

@ -18,10 +18,10 @@ use Kitodo\Dlf\Common\Solr;
/**
* Plugin 'OAI-PMH Interface' for the 'dlf' extension
*
* @author Sebastian Meyer <sebastian.meyer@slub-dresden.de>
* @package TYPO3
* @subpackage dlf
* @access public
* @author Sebastian Meyer <sebastian.meyer@slub-dresden.de>
* @package TYPO3
* @subpackage dlf
* @access public
*/
class OaiPmh extends \Kitodo\Dlf\Common\AbstractPlugin {
public $scriptRelPath = 'Classes/Plugins/OaiPmh.php';
@ -29,7 +29,7 @@ class OaiPmh extends \Kitodo\Dlf\Common\AbstractPlugin {
/**
* Did an error occur?
*
* @var boolean
* @var boolean
* @access protected
*/
protected $error = FALSE;
@ -37,7 +37,7 @@ class OaiPmh extends \Kitodo\Dlf\Common\AbstractPlugin {
/**
* This holds the OAI DOM object
*
* @var \DOMDocument
* @var \DOMDocument
* @access protected
*/
protected $oai;
@ -45,7 +45,7 @@ class OaiPmh extends \Kitodo\Dlf\Common\AbstractPlugin {
/**
* This holds the configuration for all supported metadata prefixes
*
* @var array
* @var array
* @access protected
*/
protected $formats = [

39
Classes/Plugins/PageView.php

@ -25,7 +25,7 @@ class PageView extends \Kitodo\Dlf\Common\AbstractPlugin {
/**
* Holds the controls to add to the map
*
* @var array
* @var array
* @access protected
*/
protected $controls = [];
@ -33,7 +33,7 @@ class PageView extends \Kitodo\Dlf\Common\AbstractPlugin {
/**
* Holds the current images' URLs and MIME types
*
* @var array
* @var array
* @access protected
*/
protected $images = [];
@ -41,7 +41,7 @@ class PageView extends \Kitodo\Dlf\Common\AbstractPlugin {
/**
* Holds the current fulltexts' URLs
*
* @var array
* @var array
* @access protected
*/
protected $fulltexts = [];
@ -70,19 +70,19 @@ class PageView extends \Kitodo\Dlf\Common\AbstractPlugin {
$output[] = '<script type="text/javascript" src="'.\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::siteRelPath($this->extKey).'Resources/Public/Javascript/PageView/PageView.js"></script>';
// Add viewer configuration.
$output[] = '
<script id="tx-dlf-pageview-initViewer" type="text/javascript">
window.onload = function() {
if (dlfUtils.exists(dlfViewer)) {
tx_dlf_viewer = new dlfViewer({
controls: ["'.implode('", "', $this->controls).'"],
div: "'.$this->conf['elementId'].'",
images: '.json_encode($this->images).',
fulltexts: '.json_encode($this->fulltexts).',
useInternalProxy: '.($this->conf['useInternalProxy'] ? 1 : 0).'
})
}
}
</script>';
<script id="tx-dlf-pageview-initViewer" type="text/javascript">
$(document).ready(function() {
if (dlfUtils.exists(dlfViewer)) {
tx_dlf_viewer = new dlfViewer({
controls: ["'.implode('", "', $this->controls).'"],
div: "'.$this->conf['elementId'].'",
images: '.json_encode($this->images).',
fulltexts: '.json_encode($this->fulltexts).',
useInternalProxy: '.($this->conf['useInternalProxy'] ? 1 : 0).'
});
}
});
</script>';
return implode("\n", $output);
}
@ -150,12 +150,7 @@ class PageView extends \Kitodo\Dlf\Common\AbstractPlugin {
$output .= '<button id="submitBasketForm" onclick="this.form.submit()">'.$label.'</button>';
$output .= '</form>';
$output .= '<script>';
$output .= '
$(document).ready(function() {
$("#submitBasketForm").click(function() {
$("#addToBasketForm").submit();
});
});';
$output .= '$(document).ready(function() { $("#submitBasketForm").click(function() { $("#addToBasketForm").submit(); }); });';
$output .= '</script>';
$markerArray['###BASKETBUTTON###'] = $output;
} else {

2
Classes/Plugins/TableOfContents.php

@ -27,7 +27,7 @@ class TableOfContents extends \Kitodo\Dlf\Common\AbstractPlugin {
/**
* This holds the active entries according to the currently selected page
*
* @var array
* @var array
* @access protected
*/
protected $activeEntries = [];

4
Configuration/ApacheSolr/README.txt

@ -9,12 +9,12 @@ Installation instructions
See also: https://wiki.apache.org/solr/SolrTomcat
1. Make sure you have Apache Solr 7.4 up and running. Download Solr
from http://lucene.apache.org/solr/. Other versions since 5.0 should be possible but are not tested.
from http://lucene.apache.org/solr/. Other versions since 5.0 should be possible but are not tested.
2. Copy the Configuration/ApacheSolr/configsets/dlf to $SOLR_HOME/configsets/dlf.
3. Using basic authentication is optional but recommended. The documentation is available here:
https://lucene.apache.org/solr/guide/7_4/basic-authentication-plugin.html
https://lucene.apache.org/solr/guide/7_4/basic-authentication-plugin.html
Update instructions
-------------------

298
Configuration/ApacheSolr/configsets/dlf/conf/schema.xml

@ -7,7 +7,7 @@ The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
@ -16,157 +16,157 @@ See the License for the specific language governing permissions and
limitations under the License.
-->
<schema name="dlf" version="3.0">
<types>
<fieldType name="string" class="solr.StrField" sortMissingLast="true" />
<fieldType name="boolean" class="solr.BoolField" sortMissingLast="true" />
<fieldType name="int" class="solr.IntPointField" positionIncrementGap="0"/>
<!-- Use dates of the form 1995-12-31Z23:59:49Z for this field. -->
<fieldType name="date" class="solr.DatePointField" positionIncrementGap="0"/>
<fieldType name="standard" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory" />
<filter class="solr.StandardFilterFactory" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
<fieldType name="autocomplete" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
<fieldType name="fulltext" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.FlattenGraphFilterFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<!-- For more precise, but less flexible matching, set generateWordParts="0" and generateNumberParts="0". -->
<filter class="solr.WordDelimiterGraphFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1" />
<filter class="solr.ReversedWildcardFilterFactory" withOriginal="true" maxPosAsterisk="3" maxPosQuestion="2" maxFractionAsterisk="0.33" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.TrimFilterFactory" />
<filter class="solr.SnowballPorterFilterFactory" language="German" protected="protwords.txt" />
<!-- <filter class="solr.GermanStemFilterFactory" /> -->
<filter class="solr.RemoveDuplicatesTokenFilterFactory" />
<!-- <filter class="solr.PatternReplaceFilterFactory" pattern="([^a-z])" replacement="" replace="all" /> -->
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<!-- For more precise, but less flexible matching, set generateWordParts="0" and generateNumberParts="0". -->
<filter class="solr.WordDelimiterGraphFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.TrimFilterFactory" />
<filter class="solr.SnowballPorterFilterFactory" language="German" protected="protwords.txt" />
<!-- <filter class="solr.GermanStemFilterFactory" /> -->
<filter class="solr.RemoveDuplicatesTokenFilterFactory" />
<!-- <filter class="solr.PatternReplaceFilterFactory" pattern="([^a-z])" replacement="" replace="all" /> -->
</analyzer>
</fieldType>
</types>
<types>
<fieldType name="string" class="solr.StrField" sortMissingLast="true" />
<fieldType name="boolean" class="solr.BoolField" sortMissingLast="true" />
<fieldType name="int" class="solr.IntPointField" positionIncrementGap="0"/>
<!-- Use dates of the form 1995-12-31Z23:59:49Z for this field. -->
<fieldType name="date" class="solr.DatePointField" positionIncrementGap="0"/>
<fieldType name="standard" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory" />
<filter class="solr.StandardFilterFactory" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
<fieldType name="autocomplete" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
<fieldType name="fulltext" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.FlattenGraphFilterFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<!-- For more precise, but less flexible matching, set generateWordParts="0" and generateNumberParts="0". -->
<filter class="solr.WordDelimiterGraphFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1" />
<filter class="solr.ReversedWildcardFilterFactory" withOriginal="true" maxPosAsterisk="3" maxPosQuestion="2" maxFractionAsterisk="0.33" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.TrimFilterFactory" />
<filter class="solr.SnowballPorterFilterFactory" language="German" protected="protwords.txt" />
<!-- <filter class="solr.GermanStemFilterFactory" /> -->
<filter class="solr.RemoveDuplicatesTokenFilterFactory" />
<!-- <filter class="solr.PatternReplaceFilterFactory" pattern="([^a-z])" replacement="" replace="all" /> -->
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<!-- For more precise, but less flexible matching, set generateWordParts="0" and generateNumberParts="0". -->
<filter class="solr.WordDelimiterGraphFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.TrimFilterFactory" />
<filter class="solr.SnowballPorterFilterFactory" language="German" protected="protwords.txt" />
<!-- <filter class="solr.GermanStemFilterFactory" /> -->
<filter class="solr.RemoveDuplicatesTokenFilterFactory" />
<!-- <filter class="solr.PatternReplaceFilterFactory" pattern="([^a-z])" replacement="" replace="all" /> -->
</analyzer>
</fieldType>
</types>
<fields>
<!--
Valid attributes for fields:
name: mandatory - the name for the field
type: mandatory - the name of a previously defined type from the
<types> section
indexed: true if this field should be indexed (searchable or sortable)
stored: true if this field should be retrievable
multiValued: true if this field may contain multiple values per document
omitNorms: (expert) set to true to omit the norms associated with
this field (this disables length normalization and index-time
boosting for the field, and saves some memory). Only full-text
fields or fields that need an index-time boost need norms.
omitNorms defaults to true for primitive field types since Solr 1.2.
termVectors: [false] set to true to store the term vector for a given field.
When using MoreLikeThis, fields used for similarity should be
stored for best performance.
termPositions: Store position information with the term vector.
This will increase storage costs.
termOffsets: Store offset information with the term vector. This
will increase storage costs.
default: a value that should be used if no value is specified
when adding a document.
required: true if this field is mandatory
-->
<fields>
<!--
Valid attributes for fields:
name: mandatory - the name for the field
type: mandatory - the name of a previously defined type from the
<types> section
indexed: true if this field should be indexed (searchable or sortable)
stored: true if this field should be retrievable
multiValued: true if this field may contain multiple values per document
omitNorms: (expert) set to true to omit the norms associated with
this field (this disables length normalization and index-time
boosting for the field, and saves some memory). Only full-text
fields or fields that need an index-time boost need norms.
omitNorms defaults to true for primitive field types since Solr 1.2.
termVectors: [false] set to true to store the term vector for a given field.
When using MoreLikeThis, fields used for similarity should be
stored for best performance.
termPositions: Store position information with the term vector.
This will increase storage costs.
termOffsets: Store offset information with the term vector. This
will increase storage costs.
default: a value that should be used if no value is specified
when adding a document.
required: true if this field is mandatory
-->
<!-- The mandatory and special fields are defined here, all other fields are dynamic fields. -->
<!-- Unique identifier for the document in the index. -->
<field name="id" type="string" indexed="true" stored="true" required="true" />
<!-- Unique identifier for the document (or its top-level parent) in the TYPO3 database. -->
<field name="uid" type="int" indexed="true" stored="true" required="true" default="0" docValues="true"/>
<!-- PageID for the document (or its top-level parent) in the TYPO3 database. -->
<field name="pid" type="int" indexed="true" stored="false" required="true" default="0" />
<!-- Image number where this document starts. -->
<field name="page" type="int" indexed="false" stored="true" required="true" default="0" />
<!-- Unique identifier for the parent document in the TYPO3 database. Only if this is a multi-volume work! -->
<field name="partof" type="int" indexed="true" stored="true" required="true" default="0" />
<!-- Unique identifier for the root document in the TYPO3 database. Only if this is a multi-volume work! -->
<field name="root" type="int" indexed="true" stored="true" required="true" default="0" />
<!-- XML ID of this document in the METS file. This is only unique within the METS file! -->
<field name="sid" type="string" indexed="false" stored="true" required="true" default="" />
<!-- If it is a top-level document, leave this as default "true". -->
<field name="toplevel" type="boolean" indexed="true" stored="true" required="true" default="true" />
<!-- Type of document (eg. monograph, chapter, etc.) -->
<field name="type" type="string" indexed="true" stored="true" required="true" default="" />
<!-- Next two fields are mandatory for identifying documents. -->
<field name="title" type="standard" indexed="true" stored="true" multiValued="false" default="" />
<field name="volume" type="standard" indexed="true" stored="true" multiValued="false" default="" />
<!-- URL of thumbnail image for the document. -->
<field name="thumbnail" type="string" indexed="false" stored="true" multiValued="false" default="" />
<!-- CatchAll field. See <copyField> below. -->
<field name="default" type="standard" indexed="true" stored="false" required="true" multiValued="true" default="" />
<field name="timestamp" type="date" indexed="true" stored="true" required="true" multiValued="false" default="NOW" />
<!-- Autocomplete field for search form. -->
<field name="autocomplete" type="autocomplete" indexed="true" stored="false" multiValued="true" />
<!-- Fulltext field for OCR results. -->
<field name="fulltext" type="fulltext" indexed="true" stored="true" multiValued="false" default="" termVectors="true" termPositions="true" termOffsets="true" />
<!-- Record ID of the document (required for OAI_DC output). -->
<field name="record_id" type="string" indexed="true" stored="true" required="true" multiValued="false" default="" />
<!-- Permanent URL of the document (required for EPICUR output). -->
<field name="purl" type="string" indexed="true" stored="true" required="true" multiValued="false" default="" />
<!-- URN of the Document (required for EPICUR output). -->
<field name="urn" type="string" indexed="true" stored="true" required="true" multiValued="false" default="" />
<!-- Location of METS XML (required for METS output). -->
<field name="location" type="string" indexed="true" stored="true" required="true" multiValued="false" default="" />
<!-- Associated collection(s) of the document. -->
<field name="collection" type="string" indexed="true" stored="true" required="true" multiValued="true" default="" />
<!-- The mandatory and special fields are defined here, all other fields are dynamic fields. -->
<!-- Unique identifier for the document in the index. -->
<field name="id" type="string" indexed="true" stored="true" required="true" />
<!-- Unique identifier for the document (or its top-level parent) in the TYPO3 database. -->
<field name="uid" type="int" indexed="true" stored="true" required="true" default="0" docValues="true"/>
<!-- PageID for the document (or its top-level parent) in the TYPO3 database. -->
<field name="pid" type="int" indexed="true" stored="false" required="true" default="0" />
<!-- Image number where this document starts. -->
<field name="page" type="int" indexed="false" stored="true" required="true" default="0" />
<!-- Unique identifier for the parent document in the TYPO3 database. Only if this is a multi-volume work! -->
<field name="partof" type="int" indexed="true" stored="true" required="true" default="0" />
<!-- Unique identifier for the root document in the TYPO3 database. Only if this is a multi-volume work! -->
<field name="root" type="int" indexed="true" stored="true" required="true" default="0" />
<!-- XML ID of this document in the METS file. This is only unique within the METS file! -->
<field name="sid" type="string" indexed="false" stored="true" required="true" default="" />
<!-- If it is a top-level document, leave this as default "true". -->
<field name="toplevel" type="boolean" indexed="true" stored="true" required="true" default="true" />
<!-- Type of document (eg. monograph, chapter, etc.) -->
<field name="type" type="string" indexed="true" stored="true" required="true" default="" />
<!-- Next two fields are mandatory for identifying documents. -->
<field name="title" type="standard" indexed="true" stored="true" multiValued="false" default="" />
<field name="volume" type="standard" indexed="true" stored="true" multiValued="false" default="" />
<!-- URL of thumbnail image for the document. -->
<field name="thumbnail" type="string" indexed="false" stored="true" multiValued="false" default="" />
<!-- CatchAll field. See <copyField> below. -->
<field name="default" type="standard" indexed="true" stored="false" required="true" multiValued="true" default="" />
<field name="timestamp" type="date" indexed="true" stored="true" required="true" multiValued="false" default="NOW" />
<!-- Autocomplete field for search form. -->
<field name="autocomplete" type="autocomplete" indexed="true" stored="false" multiValued="true" />
<!-- Fulltext field for OCR results. -->
<field name="fulltext" type="fulltext" indexed="true" stored="true" multiValued="false" default="" termVectors="true" termPositions="true" termOffsets="true" />
<!-- Record ID of the document (required for OAI_DC output). -->
<field name="record_id" type="string" indexed="true" stored="true" required="true" multiValued="false" default="" />
<!-- Permanent URL of the document (required for EPICUR output). -->
<field name="purl" type="string" indexed="true" stored="true" required="true" multiValued="false" default="" />
<!-- URN of the Document (required for EPICUR output). -->
<field name="urn" type="string" indexed="true" stored="true" required="true" multiValued="false" default="" />
<!-- Location of METS XML (required for METS output). -->
<field name="location" type="string" indexed="true" stored="true" required="true" multiValued="false" default="" />
<!-- Associated collection(s) of the document. -->
<field name="collection" type="string" indexed="true" stored="true" required="true" multiValued="true" default="" />
<!--
The following dynamic fields define all possible field variants.
The mapping between metadata fields and index fields is defined in TYPO3.
-->
<!-- tokenized, stored, indexed -->
<dynamicField name="*_tsi" type="standard" stored="true" indexed="true" multiValued="true" />
<!-- tokenized, stored, unindexed -->
<dynamicField name="*_tsu" type="standard" stored="true" indexed="false" multiValued="true" />
<!-- tokenized, unstored, indexed -->
<dynamicField name="*_tui" type="standard" stored="false" indexed="true" multiValued="true" />
<!-- tokenized, unstored, unindexed (this is ignored by Lucene) -->
<dynamicField name="*_tuu" type="standard" stored="false" indexed="false" multiValued="true" />
<!-- untokenized, stored, indexed -->
<dynamicField name="*_usi" type="string" stored="true" indexed="true" multiValued="true" />
<!-- untokenized, stored, unindexed -->
<dynamicField name="*_usu" type="string" stored="true" indexed="false" multiValued="true" />
<!-- untokenized, unstored, indexed -->
<dynamicField name="*_uui" type="string" stored="false" indexed="true" multiValued="true" />
<!-- untokenized, unstored, unindexed (this is ignored by Lucene) -->
<dynamicField name="*_uuu" type="string" stored="false" indexed="false" multiValued="true" />
<!-- "*_faceting" and "*_sorting" should always be used in addition to one of the other fields. -->
<dynamicField name="*_faceting" type="string" stored="false" indexed="true" multiValued="true" />
<dynamicField name="*_sorting" type="standard" stored="true" indexed="true" multiValued="false" />
</fields>
<!--
The following dynamic fields define all possible field variants.
The mapping between metadata fields and index fields is defined in TYPO3.
-->
<!-- tokenized, stored, indexed -->
<dynamicField name="*_tsi" type="standard" stored="true" indexed="true" multiValued="true" />
<!-- tokenized, stored, unindexed -->
<dynamicField name="*_tsu" type="standard" stored="true" indexed="false" multiValued="true" />
<!-- tokenized, unstored, indexed -->
<dynamicField name="*_tui" type="standard" stored="false" indexed="true" multiValued="true" />
<!-- tokenized, unstored, unindexed (this is ignored by Lucene) -->
<dynamicField name="*_tuu" type="standard" stored="false" indexed="false" multiValued="true" />
<!-- untokenized, stored, indexed -->
<dynamicField name="*_usi" type="string" stored="true" indexed="true" multiValued="true" />
<!-- untokenized, stored, unindexed -->
<dynamicField name="*_usu" type="string" stored="true" indexed="false" multiValued="true" />
<!-- untokenized, unstored, indexed -->
<dynamicField name="*_uui" type="string" stored="false" indexed="true" multiValued="true" />
<!-- untokenized, unstored, unindexed (this is ignored by Lucene) -->
<dynamicField name="*_uuu" type="string" stored="false" indexed="false" multiValued="true" />
<!-- "*_faceting" and "*_sorting" should always be used in addition to one of the other fields. -->
<dynamicField name="*_faceting" type="string" stored="false" indexed="true" multiValued="true" />
<dynamicField name="*_sorting" type="standard" stored="true" indexed="true" multiValued="false" />
</fields>
<uniqueKey>id</uniqueKey>
<uniqueKey>id</uniqueKey>
<copyField source="*_tsi" dest="default" />
<copyField source="*_tui" dest="default" />
<copyField source="*_usi" dest="default" />
<copyField source="*_uui" dest="default" />
<copyField source="*_tsi" dest="default" />
<copyField source="*_tui" dest="default" />
<copyField source="*_usi" dest="default" />
<copyField source="*_uui" dest="default" />
</schema>

46
Configuration/ApacheSolr/configsets/dlf/conf/solrconfig.xml

@ -800,18 +800,18 @@
</lst>
</requestHandler>
-->
<!-- Autocomplete Handler -->
<requestHandler name="/suggest" class="org.apache.solr.handler.component.SearchHandler">
<lst name="defaults">
<str name="spellcheck">true</str>
<str name="spellcheck.dictionary">suggest</str>
<str name="spellcheck.count">10</str>
<str name="spellcheck.onlyMorePopular">true</str>
</lst>
<arr name="components">
<str>suggest</str>
</arr>
</requestHandler>
<!-- Autocomplete Handler -->
<requestHandler name="/suggest" class="org.apache.solr.handler.component.SearchHandler">
<lst name="defaults">
<str name="spellcheck">true</str>
<str name="spellcheck.dictionary">suggest</str>
<str name="spellcheck.count">10</str>
<str name="spellcheck.onlyMorePopular">true</str>
</lst>
<arr name="components">
<str>suggest</str>
</arr>
</requestHandler>
<!-- Search Components
@ -856,17 +856,17 @@
-->
<!-- Autocomplete Component -->
<searchComponent name="suggest" class="solr.SpellCheckComponent">
<lst name="spellchecker">
<str name="name">suggest</str>
<str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
<str name="lookupImpl">org.apache.solr.spelling.suggest.tst.TSTLookup</str>
<str name="buildOnCommit">true</str>
<str name="field">autocomplete</str>
<str name="queryAnalyzerFieldType">autocomplete</str>
</lst>
</searchComponent>
<!-- Autocomplete Component -->
<searchComponent name="suggest" class="solr.SpellCheckComponent">
<lst name="spellchecker">
<str name="name">suggest</str>
<str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
<str name="lookupImpl">org.apache.solr.spelling.suggest.tst.TSTLookup</str>
<str name="buildOnCommit">true</str>
<str name="field">autocomplete</str>
<str name="queryAnalyzerFieldType">autocomplete</str>
</lst>
</searchComponent>
<schemaFactory class="ClassicIndexSchemaFactory"/>

142
Configuration/Flexforms/AudioPlayer.xml

@ -9,75 +9,75 @@
* LICENSE.txt file that was distributed with this source code.
-->
<T3DataStructure>
<meta>
<langDisable>1</langDisable>
</meta>
<sheets>
<sDEF>
<ROOT>
<TCEforms>
<sheetTitle>LLL:EXT:dlf/Resources/Private/Language/AudioPlayer.xml:tt_content.pi_flexform.sheet_general</sheetTitle>
</TCEforms>
<type>array</type>
<el>
<pages>
<TCEforms>
<exclude>1</exclude>
<label>LLL:EXT:lang/locallang_general.xml:LGL.startingpoint</label>
<config>
<type>group</type>
<internal_type>db</internal_type>