Class Configuration

java.lang.Object
io.goobi.viewer.controller.AbstractConfiguration
io.goobi.viewer.controller.Configuration

public class Configuration extends AbstractConfiguration
Central configuration holder that reads and provides access to all viewer configuration settings from the config XML file.
  • Field Details

  • Constructor Details

    • Configuration

      public Configuration(String configFilePath)
      Creates a new Configuration instance.
      Parameters:
      configFilePath - path to the default configuration XML file
  • Method Details

    • loadStopwords

      protected static Set<String> loadStopwords(String stopwordsFilePath) throws IOException
      loadStopwords.
      Parameters:
      stopwordsFilePath - path to the stopwords file to read
      Returns:
      the set of stopwords loaded from the file
      Throws:
      IOException - if any.
    • getStopwords

      public Set<String> getStopwords()
      Returns the stopwords loading during initialization.
      Returns:
      the set of stopwords loaded during initialization
    • getConfigLocalPath

      public String getConfigLocalPath()
      getConfigLocalPath.
      Returns:
      the path to the local config_viewer.xml file.
    • getLocalRessourceBundleFile

      public String getLocalRessourceBundleFile()
      getLocalRessourceBundleFile.
      Returns:
      the absolute path to the local German message properties file
    • getViewerThumbnailsPerPage

      public int getViewerThumbnailsPerPage()
      getViewerThumbnailsPerPage.
      Returns:
      a int.
    • getViewerMaxImageWidth

      public int getViewerMaxImageWidth()
      getViewerMaxImageWidth.
      Returns:
      a int.
    • getViewerMaxImageHeight

      public int getViewerMaxImageHeight()
      getViewerMaxImageHeight.
      Returns:
      a int.
    • getViewerMaxImageScale

      public int getViewerMaxImageScale()
      getViewerMaxImageScale.
      Returns:
      a int.
    • isRememberImageZoom

      public boolean isRememberImageZoom()
      isRememberImageZoom.
      Returns:
      true if the image zoom level is remembered between page navigation, false otherwise
    • isRememberImageRotation

      public boolean isRememberImageRotation()
      isRememberImageRotation.
      Returns:
      true if the image rotation is remembered between page navigation, false otherwise
    • getDfgViewerUrl

      public String getDfgViewerUrl()
      getDfgViewerUrl.
      Returns:
      the configured DFG Viewer base URL
    • getDfgViewerSourcefileField

      public String getDfgViewerSourcefileField()
      Returns:
      the configured Solr field used as the DFG Viewer source file field
    • getMetadataListTypes

      public List<String> getMetadataListTypes(String prefix)
      Parameters:
      prefix - Optional prefix for filtering
      Returns:
      List of type attribute values of matching lists
    • getMetadataConfigurationForTemplate

      public List<Metadata> getMetadataConfigurationForTemplate(String type, String template, boolean fallbackToDefaultTemplate, boolean topstructValueFallbackDefaultValue)
      Parameters:
      type - metadata list type attribute value
      template - template name to look up
      fallbackToDefaultTemplate - if true, fall back to the default template when not found
      topstructValueFallbackDefaultValue - default value for topstructValueFallback attribute
      Returns:
      List of metadata configurations
    • getMetadataListItemsForTemplate

      public List<MetadataListElement> getMetadataListItemsForTemplate(String type, String template, boolean fallbackToDefaultTemplate, boolean topstructValueFallbackDefaultValue)
      Parameters:
      type - metadata list type attribute value
      template - template name to look up
      fallbackToDefaultTemplate - if true, fall back to the default template when not found
      topstructValueFallbackDefaultValue - default value for topstructValueFallback attribute
      Returns:
      List of metadata configurations
    • getMetadataTemplates

      public Map<String,List<Metadata>> getMetadataTemplates(String type)
      Parameters:
      type - metadata list type attribute value
      Returns:
      Map<String, List<Metadata>>
    • getMetadataTemplates

      public Map<String,List<Metadata>> getMetadataTemplates(String type, boolean fallbackToDefaultTemplate, boolean topstructValueFallbackDefaultValue)
      Parameters:
      type - metadata list type attribute value
      fallbackToDefaultTemplate - if true, fall back to the default template when not found
      topstructValueFallbackDefaultValue - default value for topstructValueFallback attribute
      Returns:
      Map<String, List<Metadata>>
    • getSearchHitMetadataForTemplate

      public List<Metadata> getSearchHitMetadataForTemplate(String template)
      Returns the list of configured metadata for search hit elements.
      Parameters:
      template - template name to look up
      Returns:
      a list of configured Metadata definitions for search hit elements of the given template
    • getPageMetadataForTemplate

      public List<Metadata> getPageMetadataForTemplate(String template)
      Returns the list of configured metadata for pages.
      Parameters:
      template - template name to look up
      Returns:
      a list of configured Metadata definitions for page elements of the given template
    • getHighlightMetadataForTemplate

      public List<Metadata> getHighlightMetadataForTemplate(String template)
      Returns the list of configured metadata for Highlights which reference a record.
      Parameters:
      template - template name to look up
      Returns:
      a list of configured Metadata definitions for highlighted record references of the given template
    • getMetadataViews

      public List<MetadataView> getMetadataViews()
      Returns:
      the list of configured metadata view configurations
    • getMainMetadataForTemplate

      public List<Metadata> getMainMetadataForTemplate(int index, String template)
      Parameters:
      index - zero-based index of the metadataView element to use
      template - template name to look up
      Returns:
      List of configured Metadata fields for the given template
    • getMainMetadataListItemsForTemplate

      public List<MetadataListElement> getMainMetadataListItemsForTemplate(int index, String template)
      Parameters:
      index - zero-based index of the metadataView element to use
      template - template name to look up
      Returns:
      List of configured Metadata fields for the given template
    • getSidebarMetadataForTemplate

      public List<Metadata> getSidebarMetadataForTemplate(String template)
      Returns the list of configured metadata for the sidebar.
      Parameters:
      template - Template name
      Returns:
      List of configured metadata for configured fields
    • getArchiveMetadata

      public List<Metadata> getArchiveMetadata()
      Returns the list of configured metadata for the archives.
      Returns:
      List of configured metadata for configured fields
    • getNormdataFieldsForTemplate

      public List<String> getNormdataFieldsForTemplate(String template)
      getNormdataFieldsForTemplate.
      Parameters:
      template - Template name
      Returns:
      List of normdata fields configured for the given template name
    • getTocLabelConfiguration

      public List<Metadata> getTocLabelConfiguration(String template)
      getTocLabelConfiguration.
      Parameters:
      template - template name to look up
      Returns:
      a list of Metadata definitions used for generating TOC entry labels for the given template
    • getGeomapClusterDistanceMultiplier

      public float getGeomapClusterDistanceMultiplier()
    • getGeomapClusterRadius

      public int getGeomapClusterRadius()
    • getGeomapDisableClusteringAtZoom

      public Integer getGeomapDisableClusteringAtZoom()
    • getGeoMapFeatureConfiguration

      public MetadataListElement getGeoMapFeatureConfiguration(String option, String template)
    • getMetadataListForGeomapMarkerConfig

      public String getMetadataListForGeomapMarkerConfig(String option)
    • getMetadataListForGeomapItemConfig

      public String getMetadataListForGeomapItemConfig(String option)
    • getGeomapFeatureConfigurations

      public Map<String,Metadata> getGeomapFeatureConfigurations(String option)
    • getGeomapItemConfigurations

      public Map<String,Metadata> getGeomapItemConfigurations(String option)
    • getGeomapFeatureTitleOptions

      public List<SelectItem> getGeomapFeatureTitleOptions()
      Returns:
      the list of configured geo map feature title options as select items
    • getGeomapDefaultView

      public View getGeomapDefaultView()
    • getGeomapFilter

      public GeomapItemFilter getGeomapFilter(String name)
    • getGeomapFilters

      public List<GeomapItemFilter> getGeomapFilters()
    • getRecordGeomapFeatureSetConfigs

      public List<FeatureSetConfiguration> getRecordGeomapFeatureSetConfigs(String templateName)
    • getTocAnchorGroupElementsPerPage

      public int getTocAnchorGroupElementsPerPage()
      Returns number of elements displayed per paginator page in a table of contents for anchors and groups. Values below 1 disable pagination (all elements are displayed on the single page).
      Returns:
      a int.
    • getTocAnchorLayout

      public String getTocAnchorLayout()
      Return the layout type for TOCs of anchor records. Defaults to 'list'
      Returns:
      the configured TOC anchor layout type; defaults to "list"
    • getAdditionalFilesDisplayFilters

      public List<IFilterConfiguration> getAdditionalFilesDisplayFilters()
      Returns a regex such that all download files which filenames fit this regex should not be visible in the downloads widget. If an empty string is returned, all downloads should remain visible
      Returns:
      a regex or an empty string if no downloads should be hidden
    • isDisplaySidebarWidgetCitationCitationRecommendation

      public boolean isDisplaySidebarWidgetCitationCitationRecommendation()
      Returns:
      Boolean value
    • getSidebarWidgetCitationCitationRecommendationStyles

      public List<String> getSidebarWidgetCitationCitationRecommendationStyles()
      Returns:
      List of available citation style names
    • getSidebarWidgetCitationCitationRecommendationSource

      public Metadata getSidebarWidgetCitationCitationRecommendationSource()
      Returns:
      the configured citation recommendation source metadata
    • getSidebarWidgetCitationCitationRecommendationDocstructMapping

      public Map<String,String> getSidebarWidgetCitationCitationRecommendationDocstructMapping()
      Returns:
      Map containing mappings DOCSTRCT -> citeproc type
    • isDisplaySidebarWidgetCitationCitationLinks

      public boolean isDisplaySidebarWidgetCitationCitationLinks()
      Returns:
      Boolean value
    • getSidebarWidgetCitationCitationLinks

      public List<CitationLink> getSidebarWidgetCitationCitationLinks()
      Returns:
      the list of configured citation links for the citation widget
    • getSidebarWidgetDownloadsPageDownloadOptions

      public List<DownloadOption> getSidebarWidgetDownloadsPageDownloadOptions()
      Returns a list of configured page download options.
      Returns:
      List of configured DownloadOption items
    • isDisplayWidgetDownloadsDownloadOptions

      public boolean isDisplayWidgetDownloadsDownloadOptions()
      Returns:
      true if the page download options are enabled in the downloads widget, false otherwise
    • isDisplaySidebarWidgetDownloadsPdfPageRange

      public boolean isDisplaySidebarWidgetDownloadsPdfPageRange()
      Returns:
      true if the PDF page range selector is enabled in the downloads widget, false otherwise
    • getSidebarWidgetsForView

      public List<String> getSidebarWidgetsForView(String view)
      Parameters:
      view - Record view name
      Returns:
      List of sidebar widget names to display in the given view (in the intended order)
    • isSidebarWidgetForViewCollapsible

      public boolean isSidebarWidgetForViewCollapsible(String view, String widget)
      Parameters:
      view - Record view name
      widget - Widget name
      Returns:
      true if widget configured as collapsible; false otherwise; default is false
    • isSidebarWidgetForViewCollapsedByDefault

      public boolean isSidebarWidgetForViewCollapsedByDefault(String view, String widget)
      Parameters:
      view - Record view name
      widget - Widget name
      Returns:
      true if widget configured as collapsed by default; false otherwise; default is false
    • isBrowsingMenuEnabled

      public boolean isBrowsingMenuEnabled()
      isBrowsingMenuEnabled.
      Returns:
      true if the browsing menu is enabled, false otherwise
    • getBrowsingMenuIndexSizeThreshold

      public int getBrowsingMenuIndexSizeThreshold()
      getBrowsingMenuIndexSizeThreshold.
      Returns:
      Solr doc count threshold for browsing term calculation
    • getBrowsingMenuHitsPerPage

      public int getBrowsingMenuHitsPerPage()
      getBrowsingMenuHitsPerPage.
      Returns:
      a int.
    • getBrowsingMenuFields

      public List<BrowsingMenuFieldConfig> getBrowsingMenuFields()
      Returns the list of index fields to be used for term browsing.
      Returns:
      a list of configured index fields to be used for term browsing in the browsing menu
    • getBrowsingMenuSortingIgnoreLeadingChars

      public String getBrowsingMenuSortingIgnoreLeadingChars()
      Returns:
      the configured leading characters to ignore when sorting the browsing menu
    • getDocstrctWhitelistFilterQuery

      public String getDocstrctWhitelistFilterQuery()
      getDocstrctWhitelistFilterQuery.
      Returns:
      the configured Solr filter query restricting indexed document structure types
    • getCollectionSplittingChar

      public String getCollectionSplittingChar(String field)
      getCollectionSplittingChar.
      Parameters:
      field - collection Solr field name to look up
      Returns:
      the configured hierarchy splitting character for the given collection field
    • getConfiguredCollectionFields

      public List<String> getConfiguredCollectionFields()
      Returns:
      the list of configured collection Solr field names
    • getCollectionSortOrders

      public Map<String,String> getCollectionSortOrders(String field)
      Gets all configured sortOrders for collections in the given field, mapped against a regex matching the collection(s).

      Whether subcollections should be sorted according to the sortOrder.

      Parameters:
      field - the solr fild on which the collection is based
      Returns:
      a map of regular expressions matching collection names and associated sortOrders
    • getCollectionSorting

      public List<DcSortingList> getCollectionSorting(String field)
      getCollectionSorting.
      Parameters:
      field - collection Solr field name to look up
      Returns:
      a list of DcSortingList objects defining the configured collection sort order for the given field
    • getCollectionBlacklist

      public List<String> getCollectionBlacklist(String field)
      Returns collection names to be omitted from search results, listings etc.
      Parameters:
      field - collection Solr field name to look up
      Returns:
      a list of collection names to be omitted from search results and listings for the given field
    • getCollectionDefaultSortFields

      public Map<String,String> getCollectionDefaultSortFields(String field)
      Returns the index field by which records in the collection with the given name are to be sorted in a listing.
      Parameters:
      field - collection Solr field name to look up
      Returns:
      a map of collection name patterns to their configured default sort fields for the given collection field
    • getCollectionDisplayNumberOfVolumesLevel

      public int getCollectionDisplayNumberOfVolumesLevel(String field)
      getCollectionDisplayNumberOfVolumesLevel.
      Parameters:
      field - collection Solr field name to look up
      Returns:
      a int.
    • getCollectionDisplayDepthForSearch

      public int getCollectionDisplayDepthForSearch(String field)
      getCollectionDisplayDepthForSearch.
      Parameters:
      field - collection Solr field name to look up
      Returns:
      a int.
    • getCollectionHierarchyField

      public String getCollectionHierarchyField()
      getCollectionHierarchyField.
      Returns:
      the first configured collection Solr field for which hierarchy breadcrumbs are enabled, or null if none
    • isAddCollectionHierarchyToBreadcrumbs

      public boolean isAddCollectionHierarchyToBreadcrumbs(String field)
      isAddCollectionHierarchyToBreadcrumbs.
      Parameters:
      field - collection Solr field name to look up
      Returns:
      true if the collection hierarchy is added to the breadcrumb trail for the given field, false otherwise
    • getSolrUrl

      public String getSolrUrl()
      getSolrUrl.
      Returns:
      the configured Solr base URL without a trailing slash
    • getDownloadUrl

      @Deprecated(since="25.11") public String getDownloadUrl()
      Deprecated.
      because download uri is now built from request in DownloadBean
      getDownloadUrl.
      Returns:
      the configured download base URL with a trailing slash
    • getViewerBaseUrl

      public String getViewerBaseUrl()
      Get the base url of the viewer. This is the url up to the context path. The returned url always ends with a '/'
      Returns:
      The base viewer url
    • getRestApiUrl

      public String getRestApiUrl()
      getRestApiUrl.
      Returns:
      The url to the viewer REST API as configured in the config_viewer. The url always ends with "/"
    • getIIIFApiUrl

      public String getIIIFApiUrl()
      url to rest api url for record media files. Always ends with a slash
      Returns:
      the configured IIIF API base URL, always ending with a slash
    • isUseIIIFApiUrlForCmsMediaUrls

      public boolean isUseIIIFApiUrlForCmsMediaUrls()
      Returns:
      true if the IIIF API URL is used for CMS media file URLs instead of the default URL, false otherwise
    • getSourceFileUrl

      public String getSourceFileUrl()
      getSourceFileUrl.
      Returns:
      the configured URL for accessing source (METS/LIDO) metadata files
    • getMarcUrl

      public String getMarcUrl()
      getMarcUrl.
      Returns:
      the configured URL for accessing MARC metadata records
    • getDcUrl

      public String getDcUrl()
      getDcUrl.
      Returns:
      the configured URL for accessing Dublin Core metadata records
    • getEseUrl

      public String getEseUrl()
      getEseUrl.
      Returns:
      the configured URL for accessing ESE metadata records
    • getSearchHitsPerPageValues

      public List<Integer> getSearchHitsPerPageValues()
      getSearchHitsPerPageValues.
      Returns:
      List of configured values
    • isDisplaySearchHitNumbers

      public boolean isDisplaySearchHitNumbers()
      Returns:
      true if search hit numbers are displayed next to each result, false otherwise
    • getSearchChildHitsInitialLoadLimit

      public int getSearchChildHitsInitialLoadLimit()
    • getSearchChildHitsToLoadOnExpand

      public int getSearchChildHitsToLoadOnExpand()
    • getSearchHitsPerPageDefaultValue

      public int getSearchHitsPerPageDefaultValue()
      getSearchHitsPerPageDefaultValue.
      Returns:
      value element that is marked as default value; 10 if none found
    • getFulltextFragmentLength

      public int getFulltextFragmentLength()
      getFulltextFragmentLength.
      Returns:
      a int.
    • isAdvancedSearchEnabled

      public boolean isAdvancedSearchEnabled()
      isAdvancedSearchEnabled.
      Returns:
      true if the advanced search is enabled, false otherwise
    • getAdvancedSearchTemplateNames

      public List<String> getAdvancedSearchTemplateNames()
      Returns:
      List of configured template names
    • getAdvancedSearchDefaultTemplateName

      public String getAdvancedSearchDefaultTemplateName()
      Returns:
      _DEFAULT or the name of the first template in the list
    • getAdvancedSearchTemplateQuery

      public String getAdvancedSearchTemplateQuery(String template)
      Parameters:
      template - advanced search template name to look up
      Returns:
      Value of the query attribute; empty string if none found
    • getAdvancedSearchFields

      public List<AdvancedSearchFieldConfiguration> getAdvancedSearchFields(String template, boolean fallbackToDefaultTemplate, String language)
      getAdvancedSearchFields.
      Parameters:
      template - advanced search template name to look up
      fallbackToDefaultTemplate - if true, fall back to the default template when not found
      language - language code used to filter language-specific fields
      Returns:
      a list of configured advanced search field configurations for the given template and language
    • isDisplayAdditionalMetadataEnabled

      public boolean isDisplayAdditionalMetadataEnabled()
      isDisplayAdditionalMetadataEnabled.
      Returns:
      true if displaying additional metadata in search hits is enabled, false otherwise
    • getDisplayAdditionalMetadataIgnoreFields

      public List<String> getDisplayAdditionalMetadataIgnoreFields()
      getDisplayAdditionalMetadataIgnoreFields.
      Returns:
      List of configured fields; empty list if none found.
    • getDisplayAdditionalMetadataTranslateFields

      public List<String> getDisplayAdditionalMetadataTranslateFields()
      Returns a list of additional metadata fields thats are configured to have their values translated. Field names are normalized (i.e. things like _UNTOKENIZED are removed).
      Returns:
      List of configured fields; empty list if none found.
    • getDisplayAdditionalMetadataOnelineFields

      public List<String> getDisplayAdditionalMetadataOnelineFields()
      getDisplayAdditionalMetadataIgnoreFields.
      Returns:
      List of configured fields; empty list if none found.
    • getDisplayAdditionalMetadataSnippetFields

      public List<String> getDisplayAdditionalMetadataSnippetFields()
      getDisplayAdditionalMetadataSnippetFields.
      Returns:
      List of configured fields; empty list if none found.
    • getDisplayAdditionalMetadataNoHighlightFields

      public List<String> getDisplayAdditionalMetadataNoHighlightFields()
      getDisplayAdditionalMetadataNoHighlightFields.
      Returns:
      List of configured fields; empty list if none found.
    • isAdvancedSearchFieldHierarchical

      public boolean isAdvancedSearchFieldHierarchical(String field, String template, boolean fallbackToDefaultTemplate)
      isAdvancedSearchFieldHierarchical.
      Parameters:
      field - advanced search field name to check
      template - advanced search template name to look up
      fallbackToDefaultTemplate - if true, fall back to the default template when not found
      Returns:
      true if the given advanced search field is configured as hierarchical, false otherwise
    • isAdvancedSearchFieldRange

      public boolean isAdvancedSearchFieldRange(String field, String template, boolean fallbackToDefaultTemplate)
      isAdvancedSearchFieldRange.
      Parameters:
      field - advanced search field name to check
      template - advanced search template name to look up
      fallbackToDefaultTemplate - if true, fall back to the default template when not found
      Returns:
      true if the given advanced search field is configured as a range field, false otherwise
    • isAdvancedSearchFieldDatepicker

      public boolean isAdvancedSearchFieldDatepicker(String field, String template, boolean fallbackToDefaultTemplate)
      Parameters:
      field - advanced search field name to check
      template - advanced search template name to look up
      fallbackToDefaultTemplate - if true, fall back to the default template when not found
      Returns:
      true if the given advanced search field is configured to use a date picker, false otherwise
    • isAdvancedSearchFieldAllowMultipleItems

      public boolean isAdvancedSearchFieldAllowMultipleItems(String field, String template, boolean fallbackToDefaultTemplate)
      isAdvancedSearchFieldAllowMultipleItems.
      Parameters:
      field - advanced search field name to check
      template - advanced search template name to look up
      fallbackToDefaultTemplate - if true, fall back to the default template when not found
      Returns:
      true if the advanced search field is configured to allow multiple items, false otherwise
    • isAdvancedSearchFieldUntokenizeForPhraseSearch

      public boolean isAdvancedSearchFieldUntokenizeForPhraseSearch(String field, String template, boolean fallbackToDefaultTemplate)
      isAdvancedSearchFieldUntokenizeForPhraseSearch.
      Parameters:
      field - advanced search field name to check
      template - advanced search template name to look up
      fallbackToDefaultTemplate - if true, fall back to the default template when not found
      Returns:
      true if the advanced search field is configured to untokenize values for phrase search, false otherwise
    • getAdvancedSearchFieldDisplaySelectItemsThreshold

      public int getAdvancedSearchFieldDisplaySelectItemsThreshold(String field, String template, boolean fallbackToDefaultTemplate)
      Parameters:
      field - advanced search field name
      template - advanced search template name to look up
      fallbackToDefaultTemplate - if true, fall back to the default template when not found
      Returns:
      the configured threshold for displaying select items in the advanced search field for the given field and template
    • getAdvancedSearchFieldSelectType

      public String getAdvancedSearchFieldSelectType(String field, String template, boolean fallbackToDefaultTemplate)
      Parameters:
      field - advanced search field name
      template - advanced search template name to look up
      fallbackToDefaultTemplate - if true, fall back to the default template when not found
      Returns:
      the configured select type for the advanced search field, defaulting to dropdown if not set
    • getAdvancedSearchFieldSeparatorLabel

      public String getAdvancedSearchFieldSeparatorLabel(String field, String template, boolean fallbackToDefaultTemplate)
      isAdvancedSearchFieldHierarchical.
      Parameters:
      field - advanced search field name to check
      template - advanced search template name to look up
      fallbackToDefaultTemplate - if true, fall back to the default template when not found
      Returns:
      Label attribute value for the given field name
    • getAdvancedSearchFieldReplaceRegex

      public String getAdvancedSearchFieldReplaceRegex(String field, String template, boolean fallbackToDefaultTemplate)
      Parameters:
      field - advanced search field name
      template - advanced search template name to look up
      fallbackToDefaultTemplate - if true, fall back to the default template when not found
      Returns:
      the configured regex pattern to replace in the advanced search field value for the given field and template, or null if not configured
    • getAdvancedSearchFieldReplaceWith

      public String getAdvancedSearchFieldReplaceWith(String field, String template, boolean fallbackToDefaultTemplate)
      Parameters:
      field - advanced search field name
      template - advanced search template name to look up
      fallbackToDefaultTemplate - if true, fall back to the default template when not found
      Returns:
      the configured replacement string for the advanced search field value for the given field and template, or null if not configured
    • getAdvancedSearchFieldDefaultOperator

      public String getAdvancedSearchFieldDefaultOperator(String field, String template, boolean fallbackToDefaultTemplate)
      Parameters:
      field - advanced search field name
      template - advanced search template name to look up
      fallbackToDefaultTemplate - if true, fall back to the default template when not found
      Returns:
      the configured default boolean operator for the given advanced search field and template, or null if not configured
    • getAdvancedSearchTemplateFirstLineDefaultOperator

      public String getAdvancedSearchTemplateFirstLineDefaultOperator(String template)
      Parameters:
      template - advanced search template name to look up
      Returns:
      the configured default operator for the first line of the given advanced search template, or null if not configured
    • isTimelineSearchEnabled

      public boolean isTimelineSearchEnabled()
      isTimelineSearchEnabled.
      Returns:
      true if the timeline search is enabled, false otherwise
    • isCalendarSearchEnabled

      public boolean isCalendarSearchEnabled()
      isCalendarSearchEnabled.
      Returns:
      true if the calendar search is enabled, false otherwise
    • getStaticQuerySuffix

      public String getStaticQuerySuffix()
      getStaticQuerySuffix.
      Returns:
      the configured static Solr query suffix appended to all search queries
    • getPreviousVersionIdentifierField

      public String getPreviousVersionIdentifierField()
      getPreviousVersionIdentifierField.
      Returns:
      the configured Solr field name holding the previous version identifier
    • getNextVersionIdentifierField

      public String getNextVersionIdentifierField()
      getNextVersionIdentifierField.
      Returns:
      the configured Solr field name holding the next version identifier
    • getVersionLabelField

      public String getVersionLabelField()
      getVersionLabelField.
      Returns:
      the configured Solr field name holding the version label
    • getIndexedMetsFolder

      public String getIndexedMetsFolder()
      getIndexedMetsFolder.
      Returns:
      the configured folder name for indexed METS files
    • getIndexedLidoFolder

      public String getIndexedLidoFolder()
      getIndexedLidoFolder.
      Returns:
      the configured folder name for indexed LIDO files
    • getIndexedEadFolder

      public String getIndexedEadFolder()
      getIndexedEadFolder.
      Returns:
      the configured folder name for indexed EAD files
    • getIndexedDenkxwebFolder

      public String getIndexedDenkxwebFolder()
      getIndexedDenkxwebFolder.
      Returns:
      the configured folder name for indexed DenkXweb files
    • getIndexedDublinCoreFolder

      public String getIndexedDublinCoreFolder()
      getIndexedDublinCoreFolder.
      Returns:
      the configured folder name for indexed Dublin Core files
    • getPageSelectionFormat

      public String getPageSelectionFormat()
      getPageSelectionFormat.
      Returns:
      the configured format string for page selection display
    • getMediaFolder

      public String getMediaFolder()
      getMediaFolder.
      Returns:
      the configured path to the media folder
    • getPdfFolder

      public String getPdfFolder()
      getPdfFolder.
      Returns:
      the configured folder name for generated PDF files
    • getVocabulariesFolder

      public String getVocabulariesFolder()
      getVocabulariesFolder.
      Returns:
      the configured folder name for vocabulary files
    • getOrigContentFolder

      public String getOrigContentFolder()
      getOrigContentFolder.
      Returns:
      the configured folder name for original source content files
    • getCmsMediaFolder

      public String getCmsMediaFolder()
      getCmsMediaFolder.
      Returns:
      the configured folder name for CMS media files
    • getCmsTextFolder

      public String getCmsTextFolder()
      getCmsTextFolder.
      Returns:
      the configured folder name for CMS text content files
    • getAltoFolder

      public String getAltoFolder()
      getAltoFolder.
      Returns:
      the configured folder name for ALTO OCR files
    • getAltoCrowdsourcingFolder

      public String getAltoCrowdsourcingFolder()
      getAltoCrowdsourcingFolder.
      Returns:
      the configured folder name for crowdsourced ALTO OCR files
    • getAbbyyFolder

      public String getAbbyyFolder()
      getAbbyyFolder.
      Returns:
      the configured folder name for ABBYY recognition result files
    • getFulltextFolder

      public String getFulltextFolder()
      getFulltextFolder.
      Returns:
      the configured folder name for plain full-text files
    • getFulltextCrowdsourcingFolder

      public String getFulltextCrowdsourcingFolder()
      getFulltextCrowdsourcingFolder.
      Returns:
      the configured folder name for crowdsourced plain full-text files
    • getTeiFolder

      public String getTeiFolder()
      getTeiFolder.
      Returns:
      the configured folder name for TEI document files
    • getCmdiFolder

      public String getCmdiFolder()
      getCmdiFolder.
      Returns:
      the configured folder name for CMDI metadata files
    • getAnnotationFolder

      public String getAnnotationFolder()
      getAnnotationFolder.
      Returns:
      the configured folder name for annotation files
    • getHotfolder

      public String getHotfolder()
      getHotfolder.
      Returns:
      the configured path to the Goobi indexer hotfolder
    • getTempFolder

      public String getTempFolder()
      getTempFolder.
      Returns:
      the path to the temporary viewer working directory within the system temp directory
    • getUrnResolverFields

      public List<String> getUrnResolverFields()
      Returns:
      the list of configured Solr field names used for URN resolver lookups
    • isUrnDoRedirect

      public boolean isUrnDoRedirect()
      isUrnDoRedirect.
      Returns:
      true if URN resolver should redirect instead of forward, false otherwise
    • isUserRegistrationEnabled

      public boolean isUserRegistrationEnabled()
      isUserRegistrationEnabled.
      Returns:
      true if user self-registration is enabled, false otherwise
    • getSecurityQuestions

      public List<SecurityQuestion> getSecurityQuestions()
      Returns:
      the list of configured security questions for user registration
    • isShowOpenIdConnect

      public boolean isShowOpenIdConnect()
      isShowOpenIdConnect.
      Returns:
      true if at least one OpenID Connect authentication provider is configured and enabled, false otherwise
    • getAuthenticationProviders

      public List<IAuthenticationProvider> getAuthenticationProviders()
      getAuthenticationProviders.
      Returns:
      a list of all configured authentication providers
    • getSmtpServer

      public String getSmtpServer()
      getSmtpServer.
      Returns:
      the configured SMTP server hostname or IP address
    • getSmtpUser

      public String getSmtpUser()
      getSmtpUser.
      Returns:
      the configured SMTP authentication username
    • getSmtpPassword

      public String getSmtpPassword()
      getSmtpPassword.
      Returns:
      the configured SMTP authentication password
    • getSmtpSenderAddress

      public String getSmtpSenderAddress()
      getSmtpSenderAddress.
      Returns:
      the configured SMTP sender email address
    • getSmtpSenderName

      public String getSmtpSenderName()
      getSmtpSenderName.
      Returns:
      the configured SMTP sender display name
    • getSmtpSecurity

      public String getSmtpSecurity()
      getSmtpSecurity.
      Returns:
      the configured SMTP connection security mode (e.g. none, ssl, tls)
    • getSmtpPort

      public int getSmtpPort()
      Returns:
      Configured SMTP port number; -1 if not configured
    • isDisplayCollectionBrowsing

      public boolean isDisplayCollectionBrowsing()
      isDisplayCollectionBrowsing.
      Returns:
      true if the collection browsing navigation is enabled, false otherwise
    • isDisplayUserNavigation

      public boolean isDisplayUserNavigation()
      isDisplayUserNavigation.
      Returns:
      true if the user account navigation is enabled, false otherwise
    • isDisplayTagCloudNavigation

      public boolean isDisplayTagCloudNavigation()
      isDisplayTagCloudNavigation.
      Returns:
      true if the tag cloud navigation is enabled, false otherwise
    • isDisplayStatistics

      public boolean isDisplayStatistics()
      isDisplayStatistics.
      Returns:
      true if the statistics display is enabled, false otherwise
    • isDisplayTimeMatrix

      public boolean isDisplayTimeMatrix()
      isDisplayTimeMatrix.
      Returns:
      true if the time matrix display is enabled, false otherwise
    • isDisplayCrowdsourcingModuleLinks

      public boolean isDisplayCrowdsourcingModuleLinks()
      isDisplayCrowdsourcingModuleLinks.
      Returns:
      true if links to the crowdsourcing module are displayed, false otherwise
    • getTheme

      public String getTheme()
      getTheme.
      Returns:
      the configured main theme name
    • getThemeRootPath

      public String getThemeRootPath()
      getThemeRootPath.
      Returns:
      the configured root path for theme resources
    • getName

      public String getName()
      getName.
      Returns:
      the configured viewer application name
    • getDescription

      public String getDescription()
      getDescription.
      Returns:
      the configured viewer application description
    • isDisplayTagCloudStartpage

      public boolean isDisplayTagCloudStartpage()
      Returns:
      true if the tag cloud is displayed on the start page, false otherwise
    • isDisplaySearchResultNavigation

      public boolean isDisplaySearchResultNavigation()
      isDisplaySearchResultNavigation.
      Returns:
      true if the search result navigation is displayed, false otherwise
    • isFoldout

      public boolean isFoldout(String sidebarElement)
      isFoldout.
      Parameters:
      sidebarElement - sidebar widget name to check
      Returns:
      true if the given sidebar element is configured as foldout, false otherwise
    • isSidebarViewsWidgetObjectViewLinkVisible

      public boolean isSidebarViewsWidgetObjectViewLinkVisible()
      isSidebarViewsWidgetObjectViewLinkVisible.
      Returns:
      true if the object view link in the sidebar views widget is visible, false otherwise
    • isSidebarViewsWidgetTocViewLinkVisible

      public boolean isSidebarViewsWidgetTocViewLinkVisible()
      Checks whether the TOC link in the sidebar views widget is enabled. To check whether the sidebar TOC widget is enabled, use isSidebarTocVisible().
      Returns:
      true if the TOC view link in the sidebar views widget is visible, false otherwise
    • isSidebarViewsWidgetThumbsViewLinkVisible

      public boolean isSidebarViewsWidgetThumbsViewLinkVisible()
      isSidebarViewsWidgetThumbsViewLinkVisible.
      Returns:
      true if the thumbnails view link in the sidebar views widget is visible, false otherwise
    • isSidebarViewsWidgetMetadataViewLinkVisible

      public boolean isSidebarViewsWidgetMetadataViewLinkVisible()
      isSidebarViewsWidgetMetadataViewLinkVisible.
      Returns:
      true if the metadata view link in the sidebar views widget is visible, false otherwise
    • isSidebarViewsWidgetFulltextLinkVisible

      public boolean isSidebarViewsWidgetFulltextLinkVisible()
      isSidebarViewsWidgetFulltextLinkVisible.
      Returns:
      true if the fulltext view link in the sidebar views widget is visible, false otherwise
    • isSidebarViewsWidgetOpacLinkVisible

      public boolean isSidebarViewsWidgetOpacLinkVisible()
      isSidebarViewsWidgetOpacLinkVisible.
      Returns:
      true if the OPAC view link in the sidebar views widget is visible, false otherwise
    • isSearchInItemOnlyIfFullTextAvailable

      public boolean isSearchInItemOnlyIfFullTextAvailable()
      isSearchInItemOnlyIfFullTextAvailable.
      Returns:
      true if search-in-item is only active when full text is available, false otherwise
    • isSidebarTocWidgetVisibleInFullscreen

      public boolean isSidebarTocWidgetVisibleInFullscreen()
      Checks whether the TOC widget is enabled. To check whether the sidebar TOC link in the views widget is enabled, use isSidebarTocVisible().
      Returns:
      true if the sidebar TOC widget is visible in fullscreen mode, false otherwise
    • getSidebarTocPageNumbersVisible

      public boolean getSidebarTocPageNumbersVisible()
      getSidebarTocPageNumbersVisible.
      Returns:
      true if page numbers are visible in the sidebar TOC, false otherwise
    • getSidebarTocLengthBeforeCut

      public int getSidebarTocLengthBeforeCut()
      getSidebarTocLengthBeforeCut.
      Returns:
      a int.
    • getSidebarTocInitialCollapseLevel

      public int getSidebarTocInitialCollapseLevel()
      getSidebarTocInitialCollapseLevel.
      Returns:
      a int.
    • getSidebarTocCollapseLengthThreshold

      public int getSidebarTocCollapseLengthThreshold()
      getSidebarTocCollapseLengthThreshold.
      Returns:
      a int.
    • getSidebarTocLowestLevelToCollapseForLength

      public int getSidebarTocLowestLevelToCollapseForLength()
      getSidebarTocLowestLevelToCollapseForLength.
      Returns:
      a int.
    • isSidebarTocTreeView

      public boolean isSidebarTocTreeView()
      isSidebarTocTreeView.
      Returns:
      true if the sidebar TOC uses tree view, false otherwise
    • isTocTreeView

      public boolean isTocTreeView(String docStructType)
      isTocTreeView.
      Parameters:
      docStructType - document structure type to check against configured allowlist
      Returns:
      true if tree view is enabled for the given document structure type, false otherwise
    • isDisplaySidebarBrowsingTerms

      public boolean isDisplaySidebarBrowsingTerms()
      isDisplaySidebarBrowsingTerms.
      Returns:
      true if the browsing terms sidebar widget is enabled, false otherwise
    • isSidebarRssFeedWidgetEnabled

      public boolean isSidebarRssFeedWidgetEnabled()
      isSidebarRssFeedWidgetEnabled.
      Returns:
      true if the RSS feed sidebar widget is enabled, false otherwise
    • getAllFacetFields

      public List<String> getAllFacetFields()
      Returns a list containing all simple facet fields.
      Returns:
      a list of all configured facet field names
    • getRegularFacetFields

      public List<String> getRegularFacetFields()
      Returns:
      the list of configured regular (non-range, non-hierarchical) facet field names
    • getBooleanFacetFields

      public List<String> getBooleanFacetFields()
      getBooleanFacetFields.
      Returns:
      a list of configured boolean-type facet field names
    • getHierarchicalFacetFields

      public List<String> getHierarchicalFacetFields()
      getHierarchicalFacetFields.
      Returns:
      a list of configured hierarchical-type facet field names
    • getRangeFacetFields

      public List<String> getRangeFacetFields()
      getRangeFacetFields.
      Returns:
      List of facet fields to be used as range values
    • getRangeFacetFieldMinValue

      public int getRangeFacetFieldMinValue(String facetField)
      Parameters:
      facetField - facet field name
      Returns:
      the configured minimum value for the range facet field, or Integer.MIN_VALUE if not configured
    • getRangeFacetFieldMaxValue

      public int getRangeFacetFieldMaxValue(String facetField)
      Parameters:
      facetField - facet field name
      Returns:
      the configured maximum value for the range facet field, or Integer.MAX_VALUE if not configured
    • getFacetFieldStyle

      public String getFacetFieldStyle(String facetField)
      Parameters:
      facetField - facet field name
      Returns:
      the configured display style for the facet field, or an empty string if not configured
    • getGeoFacetFields

      public List<String> getGeoFacetFields()
      getGeoFacetFields.
      Returns:
      a list of configured geo-type facet field names
    • getGeoFacetFieldPredicate

      public String getGeoFacetFieldPredicate(String facetField)
      Parameters:
      facetField - facet field name
      Returns:
      the configured spatial predicate for the geo facet field, defaulting to ISWITHIN
    • isShowSearchHitsInGeoFacetMap

      public boolean isShowSearchHitsInGeoFacetMap(String facetField)
      Parameters:
      facetField - facet field name
      Returns:
      the configured value indicating whether search hits should be shown in the geo facet map
    • getInitialFacetElementNumber

      public int getInitialFacetElementNumber(String facetField)
      getInitialFacetElementNumber.
      Parameters:
      facetField - facet field name to look up
      Returns:
      Number of initial facet values
    • getFacetFieldDescriptionKey

      public String getFacetFieldDescriptionKey(String facetField)
      getFacetFieldDescriptionKey.
      Parameters:
      facetField - facet field name to look up
      Returns:
      Optional description message key
    • getSortOrder

      public String getSortOrder(String facetField)
      getSortOrder.
      Parameters:
      facetField - facet field name to look up
      Returns:
      the configured sort order for the given facet field (e.g. "default", "asc", "desc")
    • getPriorityValuesForFacetField

      public List<String> getPriorityValuesForFacetField(String field)
      Returns a list of values to prioritize for the given facet field.
      Parameters:
      field - facet field name to look up
      Returns:
      List of priority values; empty list if none found for the given field
    • getLabelFieldForFacetField

      public String getLabelFieldForFacetField(String facetField)
      Parameters:
      facetField - facet field name
      Returns:
      the configured label field name for the facet field, or null if not configured
    • isTranslateFacetFieldLabels

      public boolean isTranslateFacetFieldLabels(String facetField)
      Parameters:
      facetField - facet field name
      Returns:
      the configured value indicating whether facet field labels should be translated
    • getGroupToLengthForFacetField

      public int getGroupToLengthForFacetField(String facetField)
      Parameters:
      facetField - facet field name
      Returns:
      the configured grouping length for the facet field, or -1 if not configured
    • isAlwaysApplyFacetFieldToUnfilteredHits

      public boolean isAlwaysApplyFacetFieldToUnfilteredHits(String facetField)
      Parameters:
      facetField - facet field name
      Returns:
      the configured value indicating whether the facet field should always be applied to unfiltered hits
    • isFacetFieldSkipInWidget

      public boolean isFacetFieldSkipInWidget(String facetField)
      Parameters:
      facetField - facet field name
      Returns:
      the configured value indicating whether the facet field should be skipped in the widget
    • isFacetFieldDisplayValueFilter

      public boolean isFacetFieldDisplayValueFilter(String facetField)
      Parameters:
      facetField - facet field name
      Returns:
      the configured value indicating whether a value filter should be displayed for the facet field
    • getFacetFieldType

      public String getFacetFieldType(String facetField)
      Parameters:
      facetField - facet field name
      Returns:
      the configured type of the facet field, or an empty string if not configured
    • getMultiValueOperatorForField

      public String getMultiValueOperatorForField(String facetField)
      Parameters:
      facetField - facet field name
      Returns:
      the configured multi-value operator for the facet field, defaulting to AND
    • isSortingEnabled

      public boolean isSortingEnabled()
      isSortingEnabled.
      Returns:
      true if search result sorting is enabled, false otherwise
    • getDefaultSortField

      public String getDefaultSortField(String language)
      getDefaultSortField.
      Parameters:
      language - language code for selecting language-specific sort fields
      Returns:
      the configured default sort field for the given language, or the relevance sort constant if not configured
    • getSortFields

      public List<String> getSortFields()
      getSortFields.
      Returns:
      a list of configured sort field names for search results
    • getSearchSortingOptions

      public List<SearchSortingOption> getSearchSortingOptions(String language)
      Parameters:
      language - language code for filtering language-specific sort fields
      Returns:
      List of SearchSortingOptions from configured sorting fields
    • getStaticSortFields

      public List<String> getStaticSortFields()
      getStaticSortFields.
      Returns:
      a list of configured static sort field names that are always applied to search results
    • getSearchSortingKeyAscending

      public Optional<String> getSearchSortingKeyAscending(String field)
      Parameters:
      field - sort field name
      Returns:
      an Optional containing the configured message key for ascending sort label, or empty if not configured
    • getSearchSortingKeyDescending

      public Optional<String> getSearchSortingKeyDescending(String field)
      Parameters:
      field - sort field name
      Returns:
      an Optional containing the configured message key for descending sort label, or empty if not configured
    • getUrnResolverUrl

      public String getUrnResolverUrl()
      getUrnResolverUrl.
      Returns:
      the configured URN resolver base URL
    • getThumbnailImageAccessMaxWidth

      public int getThumbnailImageAccessMaxWidth()
      The maximal image size retrievable with only the permission to view thumbnails.
      Returns:
      the maximal image width
    • getUnzoomedImageAccessMaxWidth

      public int getUnzoomedImageAccessMaxWidth()
      The maximal image size retrievable with the permission to view images but without the permission to zoom images.
      Returns:
      the maximal image width, default ist 600
    • isFullAccessForLocalhost

      public boolean isFullAccessForLocalhost()
      isFullAccessForLocalhost.
      Returns:
      true if full access is granted to requests from localhost, false otherwise
    • isGeneratePdfInMessageQueue

      public boolean isGeneratePdfInMessageQueue()
      isGeneratePdfInMessageQueue.
      Returns:
      true if PDF generation is handled via the message queue, false otherwise
    • isPdfApiDisabled

      public boolean isPdfApiDisabled()
      isPdfApiDisabled.
      Returns:
      true if the PDF API is disabled, false otherwise
    • isTitlePdfEnabled

      public boolean isTitlePdfEnabled()
      isTitlePdfEnabled.
      Returns:
      true if PDF download for the title page is enabled, false otherwise
    • isTocPdfEnabled

      public boolean isTocPdfEnabled()
      isTocPdfEnabled.
      Returns:
      true if PDF download for the table of contents is enabled, false otherwise
    • isMetadataPdfEnabled

      public boolean isMetadataPdfEnabled()
      isMetadataPdfEnabled.
      Returns:
      true if PDF download including metadata is enabled, false otherwise
    • isPagePdfEnabled

      public boolean isPagePdfEnabled()
      isPagePdfEnabled.
      Returns:
      true if PDF download for individual pages is enabled, false otherwise
    • isDocHierarchyPdfEnabled

      public boolean isDocHierarchyPdfEnabled()
      isDocHierarchyPdfEnabled.
      Returns:
      true if PDF download for the full document hierarchy is enabled, false otherwise
    • isTitleEpubEnabled

      public boolean isTitleEpubEnabled()
      isTitleEpubEnabled.
      Returns:
      true if EPUB download for the title is enabled, false otherwise
    • isTocEpubEnabled

      public boolean isTocEpubEnabled()
      isTocEpubEnabled.
      Returns:
      true if EPUB download for the table of contents is enabled, false otherwise
    • isMetadataEpubEnabled

      public boolean isMetadataEpubEnabled()
      isMetadataEpubEnabled.
      Returns:
      true if EPUB download including metadata is enabled, false otherwise
    • getDownloadFolder

      public String getDownloadFolder(String type)
      getDownloadFolder.
      Parameters:
      type - download type (pdf, epub, or resource)
      Returns:
      the configured download folder path for the given type, or an empty string for unknown types
    • getDownloadHeader

      public Map<String,String> getDownloadHeader(String externalResourceUrl)
    • getExternalResourceUrlTemplates

      public List<String> getExternalResourceUrlTemplates()
    • getExternalResourceTimeBeforeDeletion

      public Duration getExternalResourceTimeBeforeDeletion()
    • getRssFeedItems

      public int getRssFeedItems()
      getRssFeedItems.
      Returns:
      a int.
    • getRssTitle

      public String getRssTitle()
      getRssTitle.
      Returns:
      the configured RSS feed title
    • getRssDescription

      public String getRssDescription()
      getRssDescription.
      Returns:
      the configured RSS feed description
    • getRssCopyrightText

      public String getRssCopyrightText()
      getRssCopyrightText.
      Returns:
      the configured RSS feed copyright text
    • getThumbnailsWidth

      public int getThumbnailsWidth()
      getThumbnailsWidth.
      Returns:
      a int.
    • getThumbnailsHeight

      public int getThumbnailsHeight()
      getThumbnailsHeight.
      Returns:
      a int.
    • getAnchorThumbnailMode

      public String getAnchorThumbnailMode()
      getAnchorThumbnailMode.
      Returns:
      the configured thumbnail display mode for anchor records
    • getDisplayBreadcrumbs

      public boolean getDisplayBreadcrumbs()
      getDisplayBreadcrumbs.
      Returns:
      true if breadcrumb navigation is displayed, false otherwise
    • getDisplayMetadataPageLinkBlock

      public boolean getDisplayMetadataPageLinkBlock()
      getDisplayMetadataPageLinkBlock.
      Returns:
      true if the metadata page link block is displayed, false otherwise
    • useTiles

      public boolean useTiles() throws ViewerConfigurationException
      useTiles.
      Returns:
      true if tiled image loading is used in the standard image view, false otherwise
      Throws:
      ViewerConfigurationException - if any.
    • useTilesFullscreen

      public boolean useTilesFullscreen() throws ViewerConfigurationException
      useTilesFullscreen.
      Returns:
      true if tiled image loading is used in fullscreen view, false otherwise
      Throws:
      ViewerConfigurationException - if any.
    • useTiles

      public boolean useTiles(ViewAttributes viewAttributes) throws ViewerConfigurationException
      useTiles.
      Parameters:
      viewAttributes - view context attributes selecting the zoom config
      Returns:
      true if tiled image loading is used in the standard image view, false otherwise
      Throws:
      ViewerConfigurationException - if any.
    • showImageNavigator

      public boolean showImageNavigator(ViewAttributes viewAttributes) throws ViewerConfigurationException
      Returns whether a navigator element should be shown in the OpenSeadragon viewer.
      Parameters:
      viewAttributes - view context attributes selecting the zoom config
      Returns:
      true if navigator should be shown
      Throws:
      ViewerConfigurationException
    • showImageThumbnailGallery

      public boolean showImageThumbnailGallery(ViewAttributes viewAttributes) throws ViewerConfigurationException
      Returns whether the thumbnail gallery should be shown in image view.
      Parameters:
      viewAttributes - view context attributes selecting the zoom config
      Returns:
      true if thumbnail gallery should be visible
      Throws:
      ViewerConfigurationException
    • getFooterHeight

      public int getFooterHeight() throws ViewerConfigurationException
      getFooterHeight.
      Returns:
      a int.
      Throws:
      ViewerConfigurationException - if any.
    • getFullscreenFooterHeight

      public int getFullscreenFooterHeight() throws ViewerConfigurationException
      getFullscreenFooterHeight.
      Returns:
      a int.
      Throws:
      ViewerConfigurationException - if any.
    • getFooterHeight

      public int getFooterHeight(ViewAttributes viewAttributes) throws ViewerConfigurationException
      getFooterHeight.
      Parameters:
      viewAttributes - view context attributes selecting the zoom config
      Returns:
      a int.
      Throws:
      ViewerConfigurationException - if any.
    • getImageViewZoomScales

      public List<String> getImageViewZoomScales() throws ViewerConfigurationException
      getImageViewZoomScales.
      Returns:
      a list of configured zoom scale values for the default image view
      Throws:
      ViewerConfigurationException - if any.
    • getImageViewZoomScales

      public List<String> getImageViewZoomScales(String view) throws ViewerConfigurationException
      getImageViewZoomScales.
      Parameters:
      view - page type name used to construct the ViewAttributes
      Returns:
      a list of configured zoom scale values for the given view
      Throws:
      ViewerConfigurationException - if any.
    • getImageViewZoomScales

      public List<String> getImageViewZoomScales(ViewAttributes viewAttributes) throws ViewerConfigurationException
      getImageViewZoomScales.
      Parameters:
      viewAttributes - view context attributes selecting the zoom config
      Returns:
      a list of configured zoom scale values for the given view context
      Throws:
      ViewerConfigurationException - if any.
    • getTileSizes

      public Map<Integer,List<Integer>> getTileSizes() throws ViewerConfigurationException
      getTileSizes.
      Returns:
      the configured tile sizes for imageView as a hashmap linking each tile size to the list of resolutions to use with that size
      Throws:
      ViewerConfigurationException - if any.
    • getTileSizes

      public Map<Integer,List<Integer>> getTileSizes(ViewAttributes viewAttributes) throws ViewerConfigurationException
      getTileSizes.
      Parameters:
      viewAttributes - view context attributes selecting the zoom config
      Returns:
      a map of tile sizes (resolution) to lists of scale factors for the given view context
      Throws:
      ViewerConfigurationException - if any.
    • getZoomImageViewConfig

      public org.apache.commons.configuration2.BaseHierarchicalConfiguration getZoomImageViewConfig(ViewAttributes viewAttributes) throws ViewerConfigurationException
      getZoomImageViewConfig.
      Parameters:
      viewAttributes - view context attributes selecting the matching zoom config block
      Returns:
      the zoom image view configuration block matching the given view context
      Throws:
      ViewerConfigurationException - if any.
    • getBreadcrumbsClipping

      public int getBreadcrumbsClipping()
      getBreadcrumbsClipping.
      Returns:
      a int.
    • getDisplayStructType

      public boolean getDisplayStructType()
      getDisplayStructType.
      Returns:
      true if the structure type should be displayed in search hit metadata, false otherwise
    • getSearchHitMetadataValueNumber

      public int getSearchHitMetadataValueNumber()
      getSearchHitMetadataValueNumber.
      Returns:
      a int.
    • getSearchHitMetadataValueLength

      public int getSearchHitMetadataValueLength()
      getSearchHitMetadataValueLength.
      Returns:
      a int.
    • isWatermarkTextConfigurationEnabled

      public boolean isWatermarkTextConfigurationEnabled()
      Returns:
      true if enabled or not configured; false otherwise
    • getWatermarkTextConfiguration

      public List<String> getWatermarkTextConfiguration()
      Returns the preference order of data to be used as an image footer text.
      Returns:
      a list of data source names defining the preference order for image footer text
    • getWatermarkFormat

      public String getWatermarkFormat()
      getWatermarkFormat.
      Returns:
      the configured image format for watermarked images (e.g. "jpg")
    • getStopwordsFilePath

      public String getStopwordsFilePath()
      getStopwordsFilePath.
      Returns:
      the configured path to the stopwords file
    • getPageType

      public String getPageType(PageType type)
      Returns the locally configured page type name for URLs (e.g. "bild" instead of default "image").
      Parameters:
      type - page type whose configured URL name is returned
      Returns:
      the locally configured URL name for the given page type, or null if not configured
    • getRecordTargetPageType

      public String getRecordTargetPageType(String publicationType)
      getRecordTargetPageType.
      Parameters:
      publicationType - publication type name to look up
      Returns:
      the configured target page type name for the given publication type, or null if not configured
    • getPageTypeExitView

      public String getPageTypeExitView(PageType type)
    • getFulltextPercentageWarningThreshold

      public int getFulltextPercentageWarningThreshold()
      getFulltextPercentageWarningThreshold.
      Returns:
      a int.
    • getFallbackDefaultLanguage

      public String getFallbackDefaultLanguage()
      Returns:
      the configured fallback default language code, e.g. "en"
    • getFeedbackEmailRecipients

      public List<EmailRecipient> getFeedbackEmailRecipients()
      getFeedbackEmailAddresses.
      Returns:
      the list of configured feedback email recipients
    • getDefaultFeedbackEmailAddress

      public String getDefaultFeedbackEmailAddress()
      Returns:
      the email address of the default feedback recipient, or a placeholder string if none is configured
    • isBookmarksEnabled

      public boolean isBookmarksEnabled()
      isBookmarksEnabled.
      Returns:
      true if the bookmarks feature is enabled, false otherwise
    • getPageLoaderThreshold

      public int getPageLoaderThreshold()
      getPageLoaderThreshold.
      Returns:
      a int.
    • getDataRepositoryCacheTTL

      public int getDataRepositoryCacheTTL()
      Returns the TTL (in minutes) for cached data repository name lookups.
      Returns:
      TTL in minutes; default is 10
    • isPreventProxyCaching

      public boolean isPreventProxyCaching()
      isPreventProxyCaching.
      Returns:
      true if proxy caching should be prevented, false otherwise
    • getDatabaseConnectionAttempts

      public int getDatabaseConnectionAttempts()
      getDatabaseConnectionAttempts.
      Returns:
      a int.
    • reviewEnabledForComments

      public boolean reviewEnabledForComments()
      Returns:
      true if review mode is enabled for comments, false otherwise
    • getViewerHome

      public String getViewerHome()
      getViewerHome.
      Returns:
      the configured viewer home directory path
    • getWatermarkIdField

      public List<String> getWatermarkIdField()
      getWatermarkIdField.
      Returns:
      a list of Solr field names used to select the watermark image for a record
    • isDocstructNavigationEnabled

      public boolean isDocstructNavigationEnabled()
      Returns:
      true if docstruct navigation is enabled, false otherwise
    • getDocstructNavigationTypes

      public List<String> getDocstructNavigationTypes(String template, boolean fallbackToDefaultTemplate)
      Parameters:
      template - template name to look up
      fallbackToDefaultTemplate - if true, fall back to the default template when not found
      Returns:
      the list of configured docstruct type names for the given template
    • getSubthemeMainTheme

      public String getSubthemeMainTheme()
      getSubthemeMainTheme.
      Returns:
      the configured main theme name used as the base theme for subthemes
    • getSubthemeDiscriminatorField

      public String getSubthemeDiscriminatorField()
      getSubthemeDiscriminatorField.
      Returns:
      the configured Solr field name used to discriminate between subthemes
    • getTagCloudSampleSize

      public int getTagCloudSampleSize(String fieldName)
      getTagCloudSampleSize.
      Parameters:
      fieldName - Solr field name to look up the sample size for
      Returns:
      a int.
    • getTocVolumeSortFieldsForTemplate

      public List<StringPair> getTocVolumeSortFieldsForTemplate(String template)
      getTocVolumeSortFieldsForTemplate.
      Parameters:
      template - template name to look up
      Returns:
      a list of sort field name/order pairs configured for TOC volume sorting for the given template
    • getTocVolumeGroupFieldForTemplate

      public String getTocVolumeGroupFieldForTemplate(String template)
      Returns the grouping Solr field for the given anchor TOC sort configuration.
      Parameters:
      template - template name to look up
      Returns:
      the configured grouping Solr field for the given anchor TOC sort configuration
    • getDisplayTitleBreadcrumbs

      public boolean getDisplayTitleBreadcrumbs()
      getDisplayTitleBreadcrumbs.
      Returns:
      true if title breadcrumbs should be displayed, false otherwise
    • isDisplayTitlePURL

      public boolean isDisplayTitlePURL()
      isDisplayTitlePURL.
      Returns:
      true if the persistent URL should be displayed in the title bar, false otherwise
    • getTitleBreadcrumbsMaxTitleLength

      public int getTitleBreadcrumbsMaxTitleLength()
      getTitleBreadcrumbsMaxTitleLength.
      Returns:
      a int.
    • getIncludeAnchorInTitleBreadcrumbs

      public boolean getIncludeAnchorInTitleBreadcrumbs()
      getIncludeAnchorInTitleBreadcrumbs.
      Returns:
      true if the anchor record should be included in title breadcrumbs, false otherwise
    • isDisplaySearchRssLinks

      public boolean isDisplaySearchRssLinks()
      isDisplaySearchRssLinks.
      Returns:
      true if RSS links should be displayed in search results, false otherwise
    • getStartYearForTimeline

      public String getStartYearForTimeline()
      getStartYearForTimeline.
      Returns:
      the configured start year for the timeline view
    • getEndYearForTimeline

      public String getEndYearForTimeline()
      getEndYearForTimeline.
      Returns:
      the configured end year for the timeline view
    • getTimelineHits

      public String getTimelineHits()
      getTimelineHits.
      Returns:
      the configured maximum number of timeline hits to display
    • isPiwikTrackingEnabled

      public boolean isPiwikTrackingEnabled()
      isPiwikTrackingEnabled.
      Returns:
      true if Piwik/Matomo tracking is enabled, false otherwise
    • getPiwikBaseURL

      public String getPiwikBaseURL()
      getPiwikBaseURL.
      Returns:
      the configured Piwik/Matomo tracking base URL
    • getPiwikSiteID

      public String getPiwikSiteID()
      getPiwikSiteID.
      Returns:
      the configured Piwik/Matomo site ID
    • isSearchSavingEnabled

      public boolean isSearchSavingEnabled()
      isSearchSavingEnabled.
      Returns:
      true if saving searches is enabled, false otherwise
    • getRecordGroupIdentifierFields

      @Deprecated(since="26.04") public List<String> getRecordGroupIdentifierFields()
      Deprecated.
      Group identifier fields are now detected implicitly via the GROUPID_ prefix. This config is no longer needed.
      getRecordGroupIdentifierFields.
      Returns:
      a List object.
    • getAncestorIdentifierFields

      public List<String> getAncestorIdentifierFields()
      getAncestorIdentifierFields.
      Returns:
      a list of configured Solr field names used to identify ancestor records
    • isTocListSiblingRecords

      public boolean isTocListSiblingRecords()
      isTocListSiblingRecords.
      Returns:
      true if sibling records should be listed in the table of contents, false otherwise
    • getAncestorIdentifierFieldFilterQuery

      public String getAncestorIdentifierFieldFilterQuery(String field)
      getAncestorIdentifierFieldFilterQuery(String).
      Parameters:
      field - ancestor identifier field name
      Returns:
      Configured filter query for the given field; empty string is none found
    • getSearchFilters

      public List<SearchFilter> getSearchFilters()
      getSearchFilters.
      Returns:
      a list of configured search filter definitions
    • getDefaultSearchFilter

      public SearchFilter getDefaultSearchFilter()
      Returns:
      the configured default search filter, or the global "all" filter if none is marked as default
    • getWebApiFields

      public JsonMetadataConfiguration getWebApiFields(String template)
      getWebApiFields.
      Parameters:
      template - template name to look up
      Returns:
      JsonMetadataConfiguration
    • getDbPersistenceUnit

      public String getDbPersistenceUnit()
      getDbPersistenceUnit.
      Returns:
      the configured JPA persistence unit name, or null if not configured
    • getTempMediaFolder

      public String getTempMediaFolder()
      A folder for temporary storage of media files. Used by DC record creation to store uploaded files
      Returns:
      "temp_media" unless otherwise configured in "tempMediaFolder"
    • getUserAvatarFolder

      public String getUserAvatarFolder()
    • getCmsMediaDisplayWidth

      public int getCmsMediaDisplayWidth()
      getCmsMediaDisplayWidth.
      Returns:
      a int.
    • getCmsMediaDisplayHeight

      public int getCmsMediaDisplayHeight()
      getCmsMediaDisplayHeight. If not configured, return 100.000. In this case the actual image size always depends on the requested width
      Returns:
      a int.
    • isTranskribusEnabled

      public boolean isTranskribusEnabled()
      isTranskribusEnabled.
      Returns:
      true if Transkribus integration is enabled, false otherwise
    • getTranskribusUserName

      public String getTranskribusUserName()
      getTranskribusUserName.
      Returns:
      the configured Transkribus login username
    • getTranskribusPassword

      public String getTranskribusPassword()
      getTranskribusPassword.
      Returns:
      the configured Transkribus login password
    • getTranskribusDefaultCollection

      public String getTranskribusDefaultCollection()
      getTranskribusDefaultCollection.
      Returns:
      the configured default Transkribus collection name
    • getTranskribusRestApiUrl

      public String getTranskribusRestApiUrl()
      getTranskribusRestApiUrl.
      Returns:
      the configured Transkribus REST API base URL
    • getTranskribusAllowedDocumentTypes

      public List<String> getTranskribusAllowedDocumentTypes()
      getTranskribusAllowedDocumentTypes.
      Returns:
      a list of configured document type names (docstructs) allowed for Transkribus integration
    • getTocIndentation

      public int getTocIndentation()
      getTocIndentation.
      Returns:
      a int.
    • isPageBrowseEnabled

      public boolean isPageBrowseEnabled()
      isPageBrowseEnabled.
      Returns:
      true if page-by-page browsing is enabled, false otherwise
    • getPageBrowseSteps

      public List<Integer> getPageBrowseSteps()
      getPageBrowseSteps.
      Returns:
      a list of configured page step sizes for page-by-page browsing navigation
    • getPageSelectDropdownDisplayMinPages

      public int getPageSelectDropdownDisplayMinPages()
      Returns:
      the configured minimum number of pages required to display the page select dropdown
    • getWorkflowRestUrl

      public String getWorkflowRestUrl()
      getWorkflowRestUrl.
      Returns:
      The url to the Goobi workflow REST API as configured in the config_viewer. The url always ends with "/"
    • getReCaptchaSiteKey

      public String getReCaptchaSiteKey()
      getReCaptchaSiteKey.
      Returns:
      the configured reCAPTCHA site key for the frontend widget
    • isUseReCaptcha

      public boolean isUseReCaptcha()
      isUseReCaptcha.
      Returns:
      true if reCAPTCHA verification is enabled, false otherwise
    • isSearchRisExportEnabled

      public boolean isSearchRisExportEnabled()
      isSearchRisExportEnabled.
      Returns:
      true if RIS export of search results is enabled, false otherwise
    • isSearchExcelExportEnabled

      public boolean isSearchExcelExportEnabled()
      isSearchExcelExportEnabled.
      Returns:
      true if Excel export of search results is enabled, false otherwise
    • getSearchExcelExportFields

      public List<ExportFieldConfiguration> getSearchExcelExportFields()
      getSearchExcelExportFields.
      Returns:
      a list of configured export field definitions for the Excel search export
    • getExcelDownloadTimeout

      public int getExcelDownloadTimeout()
      getExcelDownloadTimeout.
      Returns:
      a int.
    • isDoublePageNavigationEnabled

      public boolean isDoublePageNavigationEnabled(ViewAttributes viewAttributes) throws ViewerConfigurationException
      Return true if double page navigation is enabled for the given PageType and ImageType. Default is false
      Parameters:
      viewAttributes - view context attributes selecting the zoom config
      Returns:
      true if double page navigation is enabled for the given view attributes, false otherwise
      Throws:
      ViewerConfigurationException
    • isDoublePageNavigationDefault

      public boolean isDoublePageNavigationDefault(ViewAttributes viewAttributes) throws ViewerConfigurationException
      Return true if double page navigation should be used per default for the given PageType and ImageType. Default is false
      Parameters:
      viewAttributes - view context attributes selecting the zoom config
      Returns:
      true if double page navigation is enabled and set as the default mode for the given view attributes, false otherwise
      Throws:
      ViewerConfigurationException
    • isSequencePageNavigationEnabled

      public boolean isSequencePageNavigationEnabled(ViewAttributes viewAttributes) throws ViewerConfigurationException
      Return true if sequence page navigation is enabled for the given PageType and ImageType. Default is false
      Parameters:
      viewAttributes - view context attributes selecting the zoom config
      Returns:
      true if sequence page navigation is enabled for the given view attributes, false otherwise
      Throws:
      ViewerConfigurationException
    • getRestrictedImageUrls

      public List<String> getRestrictedImageUrls()
      getRestrictedImageUrls.
      Returns:
      a list of URL patterns for external image content that requires access restriction
    • getIIIFLicenses

      public List<String> getIIIFLicenses()
    • useExternalManifestUrls

      public boolean useExternalManifestUrls()
    • getExternalManifestSolrField

      public String getExternalManifestSolrField()
    • getIIIFMetadataFields

      public List<String> getIIIFMetadataFields()
      getIIIFMetadataFields.
      Returns:
      a list of configured Solr field names to be included as metadata in IIIF manifests
    • getIIIFEventFields

      public List<String> getIIIFEventFields()
      getIIIFEventFields.
      Returns:
      the list of all configured event fields for IIIF manifests All fields must contain a "/" to separate the event type and the actual field name If no "/" is present in the configured field it is prepended to the entry to indicate that this field should be taken from all events
    • getIIIFMetadataLabel

      public String getIIIFMetadataLabel(String field)
      getIIIFMetadataLabel.
      Parameters:
      field - the value of the field
      Returns:
      The attribute "label" of any children of webapi.iiif.metadataFields
    • getIIIFDiscoveryAvtivitiesPerPage

      public int getIIIFDiscoveryAvtivitiesPerPage()
      Configured in webapi.iiif.discovery.activitiesPerPage. Default value is 100
      Returns:
      The number of activities to display per collection page in the IIIF discovery api
    • getIIIFLogo

      public List<String> getIIIFLogo()
      getIIIFLogo.
      Returns:
      the list of configured IIIF logo URLs
    • getIIIFNavDateField

      public String getIIIFNavDateField()
      getIIIFNavDateField.
      Returns:
      the configured Solr field name used as the IIIF navigation date field, or null if not configured
    • getIIIFAttribution

      public List<String> getIIIFAttribution()
      getIIIFAttribution.
      Returns:
      the list of configured IIIF attribution strings
    • getIIIFDescriptionFields

      public List<String> getIIIFDescriptionFields()
      getIIIFDescriptionFields.
      Returns:
      a list of configured Solr field names used as description in IIIF manifests
    • getIIIFLabelFields

      public List<String> getIIIFLabelFields()
    • getIIIFTranslationLocales

      public List<Locale> getIIIFTranslationLocales()
    • getIIIFRightsField

      public String getIIIFRightsField()
      Returns:
      The SOLR field containing a rights url for a IIIF3 manifest if one is configured
    • getIIIFRequiredValue

      public String getIIIFRequiredValue()
      Uses getIIIFAttribution() as fallback.
      Returns:
      the message key to use for the IIIF3 requiredStatement value if the statement should be added to manifests.
    • getIIIFRequiredLabel

      public String getIIIFRequiredLabel()
      Returns:
      the message key to use for the IIIF3 requiredStatement label. Default is "Attribution"
    • getIIIFProvider

      public List<ProviderConfiguration> getIIIFProvider() throws PresentationException
      Returns:
      The list of configurations for IIIF3 providers
      Throws:
      PresentationException - if a provider or a homepage configuration misses the url or label element
    • getIIIFProvider

      Parameters:
      vr - VariableReplacer
      Returns:
      The list of configurations for IIIF3 providers
      Throws:
      PresentationException - if a provider or a homepage configuration misses the url or label element
    • isVisibleIIIFRenderingPDF

      public boolean isVisibleIIIFRenderingPDF()
      Returns:
      true if the PDF rendering link is visible in IIIF manifests, false otherwise
    • isVisibleIIIFRenderingViewer

      public boolean isVisibleIIIFRenderingViewer()
      Returns:
      true if the viewer rendering link is visible in IIIF manifests, false otherwise
    • getLabelIIIFRenderingPDF

      public String getLabelIIIFRenderingPDF()
    • getLabelIIIFRenderingViewer

      public String getLabelIIIFRenderingViewer()
    • isVisibleIIIFRenderingPlaintext

      public boolean isVisibleIIIFRenderingPlaintext()
      Returns:
      true if the plain text rendering link is visible in IIIF manifests, false otherwise
    • isVisibleIIIFRenderingAlto

      public boolean isVisibleIIIFRenderingAlto()
      Returns:
      true if the ALTO rendering link is visible in IIIF manifests, false otherwise
    • getLabelIIIFRenderingPlaintext

      public String getLabelIIIFRenderingPlaintext()
    • getLabelIIIFRenderingAlto

      public String getLabelIIIFRenderingAlto()
    • isVisibleIIIFSeeAlsoMets

      public boolean isVisibleIIIFSeeAlsoMets()
    • getLabelIIIFSeeAlsoMets

      public String getLabelIIIFSeeAlsoMets()
    • isVisibleIIIFSeeAlsoLido

      public boolean isVisibleIIIFSeeAlsoLido()
    • getLabelIIIFSeeAlsoLido

      public String getLabelIIIFSeeAlsoLido()
    • getIIIFSeeAlsoMetadataConfigurations

      public List<ManifestLinkConfiguration> getIIIFSeeAlsoMetadataConfigurations()
    • getSitelinksField

      public String getSitelinksField()
      getSitelinksField.
      Returns:
      the configured Solr field name used as the sitelinks field
    • isSitelinksEnabled

      public boolean isSitelinksEnabled()
      Returns:
      true if sitelinks are enabled, false otherwise
    • getSitelinksFilterQuery

      public String getSitelinksFilterQuery()
      getSitelinksFilterQuery.
      Returns:
      the configured Solr filter query for sitelinks
    • getConfiguredCollections

      public List<String> getConfiguredCollections()
      getConfiguredCollections.
      Returns:
      a list of configured collection Solr field names
    • getWebApiToken

      public String getWebApiToken()
      getWebApiToken.
      Returns:
      the configured web API authorization token
    • isAllowRedirectCollectionToWork

      public boolean isAllowRedirectCollectionToWork()
      isAllowRedirectCollectionToWork.
      Returns:
      true if opening a collection containing only a single work should redirect to that work
    • getTwitterUserName

      public String getTwitterUserName()
      getTwitterUserName.
      Returns:
      the configured Twitter username for embedding, or null if not configured
    • getLimitImageHeightUpperRatioThreshold

      public float getLimitImageHeightUpperRatioThreshold()
      getLimitImageHeightUpperRatioThreshold.
      Returns:
      a float.
    • getLimitImageHeightLowerRatioThreshold

      public float getLimitImageHeightLowerRatioThreshold()
      getLimitImageHeightLowerRatioThreshold.
      Returns:
      a float.
    • isLimitImageHeight

      public boolean isLimitImageHeight()
      isLimitImageHeight.
      Returns:
      true if image height should be limited based on the configured ratio thresholds, false otherwise
    • isAddCORSHeader

      public boolean isAddCORSHeader()
      isAddCORSHeader.
      Returns:
      true if CORS headers should be added to API responses, false otherwise
    • getCORSHeaderValue

      public String getCORSHeaderValue()
      Gets the value configured in webapi.cors. Default is "*"
      Returns:
      the configured CORS header value for API responses
    • isDiscloseImageContentLocation

      public boolean isDiscloseImageContentLocation()
      Returns:
      true if the IIIF image content location should be disclosed in responses, false otherwise
    • getCopyrightIndicatorStyle

      public String getCopyrightIndicatorStyle()
      Returns:
      the configured display style of the copyright indicator widget
    • getCopyrightIndicatorStatusField

      public String getCopyrightIndicatorStatusField()
      Returns:
      the configured Solr field name used for the copyright indicator status
    • getCopyrightIndicatorStatusForValue

      public CopyrightIndicatorStatus getCopyrightIndicatorStatusForValue(String value)
      Parameters:
      value - field value to match against configured entries
      Returns:
      the configured copyright indicator status matching the given field value, or null if not found
    • getCopyrightIndicatorLicenseForValue

      public CopyrightIndicatorLicense getCopyrightIndicatorLicenseForValue(String value)
      Parameters:
      value - field value to match against configured entries
      Returns:
      the configured copyright indicator license matching the given field value, or null if not found
    • getCopyrightIndicatorLicenseField

      public String getCopyrightIndicatorLicenseField()
      Returns:
      the configured Solr field name used for the copyright indicator license
    • isDisplaySocialMediaShareLinks

      public boolean isDisplaySocialMediaShareLinks()
    • isDisplayAnchorLabelInTitleBar

      public boolean isDisplayAnchorLabelInTitleBar(String template)
    • getAnchorLabelInTitleBarPrefix

      public String getAnchorLabelInTitleBarPrefix(String template)
    • getAnchorLabelInTitleBarSuffix

      public String getAnchorLabelInTitleBarSuffix(String template)
    • getMapBoxToken

      public String getMapBoxToken()
    • getMapBoxUser

      public String getMapBoxUser()
    • getMapBoxStyleId

      public String getMapBoxStyleId()
    • isDisplayAddressSearchInMap

      public boolean isDisplayAddressSearchInMap()
    • getGeoMapMarker

      public GeoMapMarker getGeoMapMarker(String name)
      Parameters:
      name - geo map marker name to look up
      Returns:
      the configured GeoMapMarker with the given name, or null if not found
    • getGeoMapMarkerFields

      public List<String> getGeoMapMarkerFields()
      Returns:
      a list of solr field names containing GeoJson data used to create markers in maps
    • useHeatmapForCMSMaps

      public boolean useHeatmapForCMSMaps()
    • useHeatmapForMapSearch

      public boolean useHeatmapForMapSearch()
    • useHeatmapForFacetting

      public boolean useHeatmapForFacetting()
    • getMarkerForMapSearch

      public GeoMapMarker getMarkerForMapSearch()
    • getMarkerForFacetting

      public GeoMapMarker getMarkerForFacetting()
    • getSelectionColorForMapSearch

      public String getSelectionColorForMapSearch()
    • getSelectionColorForFacetting

      public String getSelectionColorForFacetting()
    • includeCoordinateFieldsFromMetadataDocs

      public boolean includeCoordinateFieldsFromMetadataDocs()
    • getGeoMapMarkers

      public List<GeoMapMarker> getGeoMapMarkers()
    • getRecordGeomapMarker

      public String getRecordGeomapMarker(String templateName)
    • readGeoMapMarker

      public static GeoMapMarker readGeoMapMarker(org.apache.commons.configuration2.HierarchicalConfiguration<org.apache.commons.configuration2.tree.ImmutableNode> config)
      Parameters:
      config - configuration node for the marker element
      Returns:
      the GeoMapMarker parsed from the given configuration node, or an empty default marker if config is null
    • getLicenseDescriptions

      public List<LicenseDescription> getLicenseDescriptions()
      Returns:
      the list of configured license descriptions
    • getArchivesLazyLoadingThreshold

      public int getArchivesLazyLoadingThreshold()
      Returns:
      the configured lazy loading threshold for archive tree nodes
    • isExpandArchiveEntryOnSelection

      public boolean isExpandArchiveEntryOnSelection()
    • getArchiveNodeTypes

      public Map<String,String> getArchiveNodeTypes()
    • getDefaultArchiveNodeType

      public org.apache.commons.lang3.tuple.Pair<String,String> getDefaultArchiveNodeType()
    • isDisplayUserGeneratedContentBelowImage

      public boolean isDisplayUserGeneratedContentBelowImage()
      Returns:
      true if user-generated content annotations should be displayed below the image, false otherwise
    • getIIIFVersionToUse

      public String getIIIFVersionToUse()
      config: <iiif use-version="3.0"></iiif>.
      Returns:
      the configured IIIF API version to use for manifests
    • getTranslationGroups

      public List<TranslationGroup> getTranslationGroups()
      Returns:
      the list of configured translation groups
    • isDisplayAnnotationTextInImage

      public boolean isDisplayAnnotationTextInImage()
      Returns:
      true if crowdsourcing annotation text should be displayed in the image view, false otherwise
    • isUseFacetsAsExpandQuery

      public boolean isUseFacetsAsExpandQuery()
      Returns:
      true if active facets should be used as expand queries in search, false otherwise
    • getAllowedFacetsForExpandQuery

      public List<String> getAllowedFacetsForExpandQuery()
      Returns:
      the list of configured facet query values allowed as expand queries
    • isSearchResultGroupsEnabled

      public boolean isSearchResultGroupsEnabled()
      Returns:
      true if search result groups are enabled, false otherwise
    • getSearchResultGroups

      public List<SearchResultGroup> getSearchResultGroups()
      Returns:
      the list of configured search result groups
    • isContentUploadEnabled

      public boolean isContentUploadEnabled()
      Returns:
      true if content upload is enabled, false otherwise
    • getContentUploadToken

      public String getContentUploadToken()
      Returns:
      the configured authentication token for content upload
    • getContentUploadDocstruct

      public String getContentUploadDocstruct()
      Returns:
      the configured docstruct type used for newly uploaded content records
    • getContentUploadTemplateName

      public String getContentUploadTemplateName()
      Returns:
      the configured Goobi workflow process template name used for content upload
    • getContentUploadRejectionPropertyName

      public String getContentUploadRejectionPropertyName()
      Returns:
      the configured Goobi workflow process property name indicating that an upload was rejected
    • getContentUploadRejectionReasonPropertyName

      public String getContentUploadRejectionReasonPropertyName()
      Returns:
      the configured Goobi workflow process property name containing the rejection reason for an upload
    • getCrowdsourcingCampaignItemOrder

      public String getCrowdsourcingCampaignItemOrder()
    • getGeomapAnnotationZoom

      public int getGeomapAnnotationZoom()
    • getCrowdsourcingCampaignGeomapZoom

      public int getCrowdsourcingCampaignGeomapZoom()
    • getCrowdsourcingCampaignGeomapLngLat

      public String getCrowdsourcingCampaignGeomapLngLat()
    • getCrowdsourcingCampaignGeomapTilesource

      public String getCrowdsourcingCampaignGeomapTilesource()
    • isStatisticsEnabled

      public boolean isStatisticsEnabled()
    • getCrawlerDetectionRegex

      public String getCrawlerDetectionRegex()
    • isConfigEditorEnabled

      public boolean isConfigEditorEnabled()
      Returns:
      true if the in-application configuration file editor is enabled, false otherwise
    • getConfigEditorBackupFiles

      public int getConfigEditorBackupFiles()
      Returns:
      the configured number of backup files to keep for edited configuration files
    • getConfigEditorDirectories

      public List<String> getConfigEditorDirectories()
      Returns:
      the list of configured directories accessible through the configuration file editor
    • isProxyEnabled

      public boolean isProxyEnabled()
      Returns:
      true if enabled; false otherwise
    • getProxyUrl

      public String getProxyUrl()
      Returns:
      the configured HTTP proxy URL
    • getProxyPort

      public int getProxyPort()
      Returns:
      Configured port number; 0 if none found
    • isHostProxyWhitelisted

      public boolean isHostProxyWhitelisted(String url) throws MalformedURLException, URISyntaxException
      Parameters:
      url - URL whose host is checked against the proxy whitelist
      Returns:
      true if the host of the given URL is on the configured proxy whitelist, false otherwise
      Throws:
      MalformedURLException
      URISyntaxException
    • getProxyWhitelist

      public List<String> getProxyWhitelist()
      Returns:
      the list of configured host names that bypass the proxy
    • getHttpHeaderLoginRedirectWhitelist

      public List<String> getHttpHeaderLoginRedirectWhitelist()
      Returns:
      the list of configured host names allowed as redirect targets after HTTP header login
    • isStartInternalMessageBroker

      public boolean isStartInternalMessageBroker()
    • getNumberOfParallelMessages

      public int getNumberOfParallelMessages()
    • getActiveMQMessagePurgeInterval

      public int getActiveMQMessagePurgeInterval()
    • getQuartzSchedulerCronExpression

      public String getQuartzSchedulerCronExpression(String taskName)
    • getQuartzSchedulerCronExpression

      public String getQuartzSchedulerCronExpression()
    • isDeveloperPageActive

      public boolean isDeveloperPageActive()
    • getDeveloperScriptPath

      public String getDeveloperScriptPath(String purpose)
    • isLanguageVersionOtherThan

      public static boolean isLanguageVersionOtherThan(String field, String language)
      Parameters:
      field - Solr field name to check for language suffix
      language - language code to compare against the field suffix
      Returns:
      true if the field has a language suffix (_LANG_XX) that does not match the given language, false otherwise
    • getStringFormat

      public Optional<String> getStringFormat(String type, Locale locale)
    • getThemePullScriptPath

      public String getThemePullScriptPath()
    • isPullThemeEnabled

      public boolean isPullThemeEnabled()
      Returns:
      boolean
    • getCreateDeveloperPackageScriptPath

      public String getCreateDeveloperPackageScriptPath()
    • getMediaTypeHandling

      public String getMediaTypeHandling(String mimeType)
    • getMediaTypeRedirectUrl

      public String getMediaTypeRedirectUrl(String mimeType)
    • getSearchHitStyleClass

      public String getSearchHitStyleClass()
    • getRecordViewStyleClass

      public String getRecordViewStyleClass()
    • getDownloadPdfTimeToLive

      public Duration getDownloadPdfTimeToLive()