diff --git a/src/server/sitemap_generator/SitemapGenerator.js b/src/server/sitemap_generator/SitemapGenerator.js index 6a430ef7398e665b10159cc1e31eb182d1b68981..39540f95fbc03fc5dc418686ab73ef3bd9b767ce 100644 --- a/src/server/sitemap_generator/SitemapGenerator.js +++ b/src/server/sitemap_generator/SitemapGenerator.js @@ -11,6 +11,31 @@ import { runSelectQuery } from '../sparql/SparqlApi' const { sitemapConfig } = backendSearchConfig +const resultClasses = [] // gather portal specific configs for sitemap here + +for (let [resultClass, config] of Object.entries(backendSearchConfig)) { + if (config.includeInSitemap) { + let rdfType + let hasSearchPerspective + const instancePageDefaultTab = config.instance.defaultTab || 'table' + if (!has(config, 'facetClass')) { + rdfType = config.rdfType + config = backendSearchConfig[config.perspectiveID] + hasSearchPerspective = false + } else { + rdfType = config.facetClass + hasSearchPerspective = true + } + resultClasses.push({ + endpoint: config.endpoint, + perspectiveID: resultClass, + hasSearchPerspective, + rdfType, + instancePageDefaultTab + }) + } +} + const mapURLs = sparqlBindings => { const results = sparqlBindings.map(b => { return createSitemapEntry({ path: b.path.value }) @@ -75,31 +100,6 @@ const queryInstancePageURLs = config => { }) } -const resultClasses = [] - -for (let [resultClass, config] of Object.entries(backendSearchConfig)) { - if (config.includeInSitemap) { - let rdfType - let hasSearchPerspective - const instancePageDefaultTab = config.instance.defaultTab || 'table' - if (!has(config, 'facetClass')) { - rdfType = config.rdfType - config = backendSearchConfig[config.perspectiveID] - hasSearchPerspective = false - } else { - rdfType = config.facetClass - hasSearchPerspective = true - } - resultClasses.push({ - endpoint: config.endpoint, - perspectiveID: resultClass, - hasSearchPerspective, - rdfType, - instancePageDefaultTab - }) - } -} - const createSitemapEntry = ({ path }) => { path = path ? `/${path}` : '' // do not add trailing slash const entry = { @@ -112,4 +112,5 @@ const createSitemapEntry = ({ path }) => { return entry } +// generate sitemap getURLs(resultClasses) diff --git a/src/server/sparql/sampo/BackendSearchConfig.js b/src/server/sparql/sampo/BackendSearchConfig.js index ffc0df91a0140facd36bac61f0da8ced58e47650..aa7141f2d97f26c7013757759dd6343fc54b7b80 100644 --- a/src/server/sparql/sampo/BackendSearchConfig.js +++ b/src/server/sparql/sampo/BackendSearchConfig.js @@ -79,6 +79,8 @@ export const backendSearchConfig = { }, works: { perspectiveID: 'perspective1', + rdfType: 'frbroo:F1_Work', + includeInSitemap: true, instance: { properties: workProperties, relatedInstances: ''