Add support for linking URIs

This commit is contained in:
Sebastian Meyer 2019-10-14 14:58:57 +02:00
parent 5614099538
commit 77b9d7a313
5 changed files with 18 additions and 2 deletions

View File

@ -974,6 +974,12 @@ abstract class Document {
}
$metadata['type'][0] = $structure;
// Remove appended "valueURI" from authors' names for storing in database.
foreach ($metadata['author'] as $i => $author) {
$splitName = explode(chr(31), $author);
$metadata['author'][$i] = $splitName[0];
}
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)
->getQueryBuilderForTable('tx_dlf_collections');

View File

@ -371,6 +371,11 @@ class Indexer {
$errors = 0;
// Get metadata for logical unit.
$metadata = $doc->metadataArray[$logicalUnit['id']];
// Remove appended "valueURI" from authors' names for indexing.
foreach ($metadata['author'] as $i => $author) {
$splitName = explode(chr(31), $author);
$metadata['author'][$i] = $splitName[0];
}
if (!empty($metadata)) {
// Create new Solr document.
$updateQuery = self::$solr->service->createUpdate();

View File

@ -69,6 +69,10 @@ class Mods implements \Kitodo\Dlf\Common\MetadataInterface {
ksort($name);
$metadata['author'][$i] = trim(implode(', ', $name));
}
// Append "valueURI" to name using Unicode unit separator.
if (isset($authors[$i]['valueURI'])) {
$metadata['author'][$i] .= chr(31).(string) $authors[$i]['valueURI'];
}
}
}
// Get "place" and "place_sorting".

View File

@ -150,10 +150,11 @@ class Metadata extends \Kitodo\Dlf\Common\AbstractPlugin {
* @access protected
*
* @param array $metadataArray: The metadata array
* @param boolean $useOriginalIiifManifestMetadata: Output IIIF metadata as simple key/value pairs?
*
* @return string The metadata array ready for output
*/
protected function printMetadata(array $metadataArray, $useOriginalIiifManifestMetadata = false) {
protected function printMetadata(array $metadataArray, $useOriginalIiifManifestMetadata = FALSE) {
// Load template file.
$this->getTemplate();
$output = '';

View File

@ -93,7 +93,7 @@ $metadataDefaults = [
],
],
'default_value' => '',
'wrap' => '',
'wrap' => "key.wrap = <dt class=\"tx-dlf-metadata-author\">|</dt>\nvalue.required = 1\nvalue.split.token.char = 31\nvalue.split.cObjNum = 1,2\nvalue.split.1 = LOAD_REGISTER\nvalue.split.1.tx_dlf_metadata_author_name.current = 1\nvalue.split.2 = COA\nvalue.split.2.1 = LOAD_REGISTER\nvalue.split.2.1.tx_dlf_metadata_author_uri.current = 1\nvalue.split.2.2 = TEXT\nvalue.split.2.2.value = {register:tx_dlf_metadata_author_name}\nvalue.split.2.2.value.stdWrap.insertData = 1\nvalue.split.2.2.value.stdWrap.typolink.parameter = {register:tx_dlf_metadata_author_uri}\nvalue.split.2.2.value.stdWrap.typolink.parameter.insertData = 1\nvalue.split.2.2.value.stdWrap.typolink.ifNotEmpty = 1\nvalue.wrap = <dd class=\"tx-dlf-metadata-author\">|</dd>",
'index_tokenized' => 1,
'index_stored' => 1,
'index_indexed' => 1,