Skip to content

Commit

Permalink
DIGG-510: Updating search tips text and fetching for mqa catalog
Browse files Browse the repository at this point in the history
  • Loading branch information
MikaMunterud committed Dec 20, 2024
1 parent ce97ad4 commit 8d6b192
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 18 deletions.
2 changes: 1 addition & 1 deletion features/entryscape/organisation-page/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ export const OrganisationPage: FC = () => {
{t("pages|datasetpage$mqa")}
</Heading>
<Link
className="text-green-600 hover:no-underline"
className="text-sm text-green-600 hover:no-underline"
href={entry.mqaCatalog.url}
>
{entry.mqaCatalog.title}
Expand Down
4 changes: 2 additions & 2 deletions locales/en/pages.json
Original file line number Diff line number Diff line change
Expand Up @@ -205,8 +205,8 @@
"relevance": "Relevance",
"results": "results",
"search": "Search data",
"search-datasets-tips-text": "<div><div><ul><li><p>Expand your free text search with an asterisk (*) at the end of the keyword to include different endings of the current keyword. For example, the search laddst* gives hits on charging post, charging posts, charging station, etc.</p></li><li><p>Searching with different filters (eg categories and licenses) creates an AND between the filters.</p></li><li><p>Searching with multiple options within a filter (eg multiple formats) creates an OR between the options.</p></li><li><p>Sorting of search results based on \"Relevance\" - the search term is matched against the title</p></li><li><p>Sorting of search results based on \"Last modified\" - last modified metadata is displayed. Note that this does not necessarily mean that the data set is up to date.</p></li></ul><p class=\"py-md !text-lg text-brown-600\">What do the filters mean?</p><ul><li><p><strong>Licence</strong> - Licence is rules for how a dataset can be used</p></li><li><p><strong>Categories</strong> - Thematic categorisation from the European data portal www.data.europa.eu</p></li><li><p><strong>High value datasets</strong> - EU-designated datasets considered particularly valuable for society and regulated in a implementing regulation</p></li><li><p><strong>National basic data</strong> - Datasets that are of great importance to the Swedish public administration and society, and follow the framework for national basic data</p></li><li><p><strong>Follows specification</strong> - Filters out datasets that follow a specification or a implementing regulation</p></li><li><p><strong>Organisation type</strong> - Makes it possible to filter datasets from one or several types of organisations</p></li><li><p><strong>Organisations</strong> - Makes it possible to search for datasets from a single organisation directly</p></li><li><p><strong>Format</strong> - Format that the dataset is available in for use</p></li><li><p><strong>Update frequency</strong> - How often the dataset is updated</p></li><li><p><strong>API/Data service</strong> - Filters out datasets that are distributed with an API or data service</p></li></ul></div></div>",
"search-organisations-tips-text": "<div><ul><li><p><strong>Organisation type</strong> - Makes it possible to filter out specific types of organisations</p></li></ul></div>",
"search-datasets-tips-text": "<div><ul><li><p>Expand your free text search with an asterisk (*) at the end of the keyword to include different endings of the current keyword. For example, the search laddst* gives hits on charging post, charging posts, charging station, etc.</p></li><li><p>Searching with different filters (eg categories and licenses) creates an AND between the filters.</p></li><li><p>Searching with multiple options within a filter (eg multiple formats) creates an OR between the options.</p></li><li><p>Sorting of search results based on \"Relevance\" - the search term is matched against the title</p></li><li><p>Sorting of search results based on \"Last modified\" - last modified metadata is displayed. Note that this does not necessarily mean that the data set is up to date.</p></li></ul><p class=\"py-md !text-lg text-brown-600\">What do the filters mean?</p><ul><li><p><strong>Licence</strong> - Licence is rules for how a dataset can be used</p></li><li><p><strong>Open data</strong> - Data sets that are public and freely accessible to the public. Registration requirements for API keys may apply.</p></li><li><p><strong>Protected data</strong> - Data sets that need to be shared in a controlled manner due to different protection needs. Restricted data sets have different terms of use, such as fees or confidentiality agreements. Non-public data sets are not available to the public due to privacy, security, or other reasons.</p></li><li><p><strong>Categories</strong> - Thematic categorisation from the European data portal www.data.europa.eu</p></li><li><p><strong>High value datasets</strong> - EU-designated datasets considered particularly valuable for society and regulated in a implementing regulation</p></li><li><p><strong>Follows specification</strong> - Filters out datasets that follow a specification or a implementing regulation</p></li><li><p><strong>Organisation type</strong> - Makes it possible to filter datasets from one or several types of organisations</p></li><li><p><strong>Organisations</strong> - Makes it possible to search for datasets from a single organisation directly</p></li><li><p><strong>Format</strong> - Format that the dataset is available in for use</p></li><li><p><strong>Update frequency</strong> - How often the dataset is updated</p></li><li><p><strong>API/Data service</strong> - Filters out datasets that are distributed with an API or data service</p></li></ul></div>",
"search-organisations-tips-text": "<div><ul><li><p>Expand your free text search with an asterisk (*) at the end of the keyword to include different endings of the current keyword. For example, the search Myndigheten* will return several organizations whose names begin with the word “myndigheten”.</p></li><li><p>Searching with different filters (e.g. categories and licenses) creates an AND between the filters.</p></li><li><p>Searching with multiple options within a filter (e.g. multiple different formats) creates an OR between the options.</p></li><li><p>Sorting search results based on \"Relevance\" - the search term is matched against the title</p></li><li><p>Sorting search results by \"Last modified\" - the last modified metadata is displayed. Note that this does not necessarily mean that the dataset is up to date.</p></li></ul><p class=\"py-md !text-lg text-brown-600\">What do the filters mean?</p><ul><li><p><strong>Organisation type</strong> - Allows you to filter out one or more types of organizations</p></li><li><p><strong>Fee liability</strong> - The organization is regulated to charge fees for certain services and data volumes</p></li></ul></div>",
"search-tabs": "Search tabs navigation",
"search-tips": "How search & filters work",
"search-tips-filter-head": "What do the filters mean?",
Expand Down
4 changes: 2 additions & 2 deletions locales/sv/pages.json
Original file line number Diff line number Diff line change
Expand Up @@ -212,8 +212,8 @@
"relevance": "Relevans",
"results": "resultat",
"search": "Sök data",
"search-datasets-tips-text": "<div><div><ul><li><p>Vidga din fritextsökning med en asterisk (*) i slutet av sökordet för att inkludera olika ändelser av aktuellt sökord. Exempelvis ger sökningen laddst* träffar på laddstolpe, laddstolpar, laddstation etc.</p></li><li><p>Sökning med olika filter (t.ex. kategorier och licenser) skapar ett OCH mellan filtren.</p></li><li><p>Sökning med flera alternativ inom ett filter (t.ex. flera olika format) skapar ett ELLER mellan alternativen.</p></li><li><p>Sortering av sökresultat utifrån ”Relevans” - söktermen matchas mot rubrik</p></li><li><p>Sortering av sökresultat utifrån ”Senast ändrad” - senast ändrad metadata visas. Notera att detta inte behöver betyda att datamängden är uppdaterad. </p></li></ul><p class=\"py-md !text-lg text-brown-600\">Vad betyder filtren?</p><ul><li><p><strong>Licens</strong> - Licenser är regler för hur en datamängd får användas</p></li><li><p><strong>Kategorier</strong> - Tematisk kategorisering som kommer från den Europeiska dataportalen www.data.europa.eu</p></li><li><p><strong>Värdefulla datamängder</strong> - Av EU utpekade datamängder som anses särskilt värdefulla för samhället och som regleras i en genomförandeförordning</p></li><li><p><strong>Nationella grunddata</strong> - Datamängder som är av stor betydelse för den svenska offentliga förvaltningen och i samhället, och som följer Ramverket för nationella grunddata</p></li><li><p><strong>Följer specifikation</strong> - Filtrerar ut datamängder som följer en specifikation eller en tillämpningsföreskrift</p></li><li><p><strong>Organisationstyp</strong> - Gör det möjligt att filtrera datamängder från en eller flera typer av organisationer</p></li><li><p><strong>Organisationer</strong> - Gör det möjligt att söka ut datamängder från en enskild organisation direkt</p></li><li><p><strong>Format</strong> - Format som datamängden finns tillgängliggjord i för användning</p></li><li><p><strong>Uppdateringsfrekvens</strong> - hur ofta datamängden uppdateras</p></li><li><p><strong>API/Datatjänst</strong> - Filtrerar ut datamängder som distribueras med ett API eller datatjänst</p></li></ul></div></div>",
"search-organisations-tips-text": "<div><ul><li><p><strong>Organisationstyp</strong> - Gör det möjligt att filtrera ut särskilda typer av organisationer</p></li></ul></div>",
"search-datasets-tips-text": "<div><ul><li><p>Vidga din fritextsökning med en asterisk (*) i slutet av sökordet för att inkludera olika ändelser av aktuellt sökord. Exempelvis ger sökningen laddst* träffar på laddstolpe, laddstolpar, laddstation etc.</p></li><li><p>Sökning med olika filter (t.ex. kategorier och licenser) skapar ett OCH mellan filtren.</p></li><li><p>Sökning med flera alternativ inom ett filter (t.ex. flera olika format) skapar ett ELLER mellan alternativen.</p></li><li><p>Sortering av sökresultat utifrån ”Relevans” - söktermen matchas mot rubrik</p></li><li><p>Sortering av sökresultat utifrån ”Senast ändrad” - senast ändrad metadata visas. Notera att detta inte behöver betyda att datamängden är uppdaterad. </p></li></ul><p className=\"py-md !text-lg text-brown-600\">Vad betyder filtren?</p><ul><li><p><strong>Licens</strong> - Licenser är regler för hur en datamängd får användas</p></li><li><p><strong>Öppna data</strong> - Datamängder som är publika och fritt åtkomliga för allmänheten. Krav på registrering för API-nycklar kan finnas.</p></li><li><p><strong>Skyddade data</strong> - Datamängder som behöver delas på ett kontrollerat sätt p.g.a. olika skyddsbehov. Begränsade datamängder har olika villkor för användning, t.ex. avgifter eller sekretessavtal. Ej offentliga datamängder är ej tillgängliga för allmänheten p.g.a. integritet, säkerhet eller andra orsaker.</p></li><li><p><strong>Kategorier</strong> - Tematisk kategorisering som kommer från den Europeiska dataportalen www.data.europa.eu</p></li><li><p><strong>Värdefulla datamängder</strong> - Av EU utpekade datamängder som anses särskilt värdefulla för samhället och som regleras i en genomförandeförordning</p></li><li><p><strong>Nationella grunddata</strong> - Datamängder som är av stor betydelse för den svenska offentliga förvaltningen och i samhället, och som följer Ramverket för nationella grunddata</p></li><li><p><strong>Följer specifikation</strong> - Filtrerar ut datamängder som följer en specifikation eller en tillämpningsföreskrift</p></li><li><p><strong>Organisationstyp</strong> - Gör det möjligt att filtrera datamängder från en eller flera typer av organisationer</p></li><li><p><strong>Organisationer</strong> - Gör det möjligt att söka ut datamängder från en enskild organisation direkt</p></li><li><p><strong>Format</strong> - Format som datamängden finns tillgängliggjord i för användning</p></li><li><p><strong>Uppdateringsfrekvens</strong> - hur ofta datamängden uppdateras</p></li><li><p><strong>API/Datatjänst</strong> - Filtrerar ut datamängder som distribueras med ett API eller datatjänst</p></li></ul></div>",
"search-organisations-tips-text": "<div><ul><li><p>Vidga din fritextsökning med en asterisk (*) i slutet av sökordet för att inkludera olika ändelser av aktuellt sökord. Exempelvis ger sökningen Myndigheten* träffar på ett flertal organisationer vars namn börjar på ordet \"myndigheten\".</p></li><li><p>Sökning med olika filter (t.ex. kategorier och licenser) skapar ett OCH mellan filtren.</p></li><li><p>Sökning med flera alternativ inom ett filter (t.ex. flera olika format) skapar ett ELLER mellan alternativen.</p></li><li><p>Sortering av sökresultat utifrån ”Relevans” - söktermen matchas mot rubrik</p></li><li><p>Sortering av sökresultat utifrån ”Senast ändrad” - senast ändrad metadata visas. Notera att detta inte behöver betyda att datamängden är uppdaterad.</p></li></ul><p className=\"py-md !text-lg text-brown-600\">Vad betyder filtren?</p><ul><li><p><strong>Organisationstyp</strong> - Gör det möjligt att filtrera ut en eller flera typer av organisationer</p></li><li><p><strong>Avgiftsskyldighet</strong> - Organisationen är reglerad att ta ut avgifter på vissa tjänster och datamängder</p></li></ul></div>",
"search-tabs": "Söktabbar navigering",
"search-tips": "Så fungerar sök & filter",
"search-tips-filter-head": "Vad betyder filtren?",
Expand Down
13 changes: 6 additions & 7 deletions providers/entrystore-provider/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ export const EntrystoreProvider: FC<EntrystoreProviderProps> = ({
entrystoreService.getDownloadFormats(
entry.getEntryInfo().getMetadataURI(),
),
entrystoreService.getRelatedMQA(entry),
entrystoreService.getRelatedMQA(entry, pageType),
]);

return {
Expand Down Expand Up @@ -385,7 +385,6 @@ export const EntrystoreProvider: FC<EntrystoreProviderProps> = ({
.uriFacet("dcterms:accessRights")
.uriFacet("rdf:type")
.uriFacet("http://data.europa.eu/r5r/hvdCategory")
.uriFacet("schema:offers")
.uriFacet("dcterms:conformsTo")
.list();

Expand Down Expand Up @@ -419,12 +418,12 @@ export const EntrystoreProvider: FC<EntrystoreProviderProps> = ({

data.datasets.dataInfo[1].total = protectedDataCount || 0;

const apiDataFacet = rawFacets.find(
const rdfTypeFacet = rawFacets.find(
(f) =>
f.predicate === "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
);
const apiData =
apiDataFacet?.values?.find(
rdfTypeFacet?.values?.find(
(v: ESFacetFieldValue) =>
v.name === "http://entryscape.com/terms/ServedByDataService",
)?.count || 0;
Expand All @@ -437,10 +436,10 @@ export const EntrystoreProvider: FC<EntrystoreProviderProps> = ({
const hvdData = hvdDataFacet?.valueCount || 0;
data.datasets.dataInfo[3].total = hvdData;

const feeDataFacet = rawFacets.find(
(f: ESFacetField) => f.predicate === "http://schema.org/offers",
const feeDataFacet = rdfTypeFacet?.values?.find(
(f: ESFacetFieldValue) => f.name === "http://schema.org/Offer",
);
const feeData = feeDataFacet?.valueCount || 0;
const feeData = feeDataFacet?.count || 0;
data.datasets.dataInfo[4].total = feeData;

data.datasets.total = datasetCounts.getSize();
Expand Down
23 changes: 17 additions & 6 deletions utilities/entrystore/entrystore.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -908,18 +908,29 @@ export class EntrystoreService {
}
}

public async getRelatedMQA(entry: Entry) {
public async getRelatedMQA(entry: Entry, pageType?: PageType) {
let contextId = entry.getContext().getId();
try {
const mqa = this.entryStore.getEntryURI(
entry.getContext().getId(),
"_quality",
);
if (pageType === "organisation") {
const categoryEntries = await this.entryStore
.newSolrQuery()
.publicRead(true)
.rdfType(["dcat:Catalog"])
.uriProperty("dcterms:publisher", entry.getResourceURI())
.getEntries();

if (categoryEntries.length > 0) {
contextId = categoryEntries[0].getContext().getId();
}
}

const mqa = this.entryStore.getEntryURI(contextId, "_quality");
const mqaEntry = await this.entryStore.getEntry(mqa);
const mqaMetadata = mqaEntry.getAllMetadata();

return {
title: getLocalizedValue(mqaMetadata, "dcterms:title"),
url: `/metadatakvalitet/katalog/_quality/${entry.getContext().getId()}`,
url: `/metadatakvalitet/katalog/_quality/${contextId}`,
};
} catch {
return null;
Expand Down

0 comments on commit 8d6b192

Please sign in to comment.