Feste Schlagwörter
Datenbankstruktur (wird beim neustart von alfresco angelegt) edu-sharing.server.conf:
        CODE
    
    repository.database.scripts.custom:["factualterm.sql.properties"]
Initialer Import:
- download der datei authorities-sachbegriff_dnbmarc_20201013.mrc.xml (https://data.dnb.de/GND/)
 - über die edu-sharing admin gui im Jobs(Aufgaben Bereich) einspielen: Job ImportFactualTermMarc21
 
Metadatenset widget definieren (mds_override.xml):
        CODE
    
    <widget>
<id>ccm:classification_keyword</id>
<type>multivalueFixedBadges</type>
<caption>Feste Schlagwörter</caption>
<placeholder>Wichtige Begriffe zum Material...</placeholder>
<suggestionSource>Sql</suggestionSource>
<suggestionQuery>select CASE WHEN factual_term_synonyms IS NULL THEN factual_term_value WHEN array_length(factual_term_synonyms,1) = 1 THEN format('%s (%s)',factual_term_value, factual_term_synonyms[1])  ELSE format('%s (%s, %s)',factual_term_value, factual_term_synonyms[1], factual_term_synonyms[2]) END from edu_factual_term where (lower(factual_term_value) like ? OR lower(factual_term_synonyms[0]) like ? OR lower(factual_term_synonyms[1]) like ?) order by char_length(factual_term_value) limit 100</suggestionQuery>
<textEscapingPolicy>all</textEscapingPolicy>
</widget>
ggf. regelmäßige aktualisierung der schlagwörter (edu-sharing.server.conf):
        CODE
    
    jobs.entries += {
      name: "Import Factual Term Marc 21",
      class: "org.edu_sharing.repository.server.jobs.quartz.ImporterJob",
      trigger: "Cron[0 0 22 * * ?]",
      params: {
        "oai_base_url": "https://services.dnb.de/oai/repository",
        "oai_metadata_prefix": "MARC21-xml",
        "sets": "authorities:sachbegriff",
        "record_handler": "org.edu_sharing.repository.server.importer.RecordHandlerKeywordsDNBMarc",
        "persistent_handler": "org.edu_sharing.repository.server.importer.PersistenHandlerKeywordsDNBMarc",
        "importer_class":"org.edu_sharing.repository.server.importer.OAIPMHLOMImporter",
        "period_in_days":"14",
        "username":"admin"
      }
}
Migration alte version der festen schlagwörter nach key/value
-  in admin gui folgenden Job starten:CODE
org.edu_sharing.repository.server.jobs.quartz.MigrateFactualTermsToKeyValue { "test": "false" } - Datenbank mit dnb Daten aktualisierenCODE
org.edu_sharing.repository.server.jobs.quartz.ImportFactualTermMarc21 { "fileUri": "file://localhost/authorities-sachbegriff_dnbmarc_20201013.mrc.xml" } - Keywords an den Nodes mit den neuen Werten der DB aktualisierenCODE
org.edu_sharing.repository.server.importer.FactualTermDisplayUpdaterJob { }