diff --git a/SampoUI_Server/docker-compose.dev.yml b/SampoUI_Server/docker-compose.dev.yml
index 9f805bf..44800b5 100644
--- a/SampoUI_Server/docker-compose.dev.yml
+++ b/SampoUI_Server/docker-compose.dev.yml
@@ -1,5 +1,6 @@
services:
sampo-ui:
+ platform: linux/x86_64
container_name: rocrate-sampo-ui
build:
context: .
@@ -15,14 +16,14 @@ services:
- "3001:3001"
volumes:
- node_modules:/usr/src/app/node_modules/
- #- ./sampo-ui/src:/usr/src/app/src/
- #- ./frontend/src/client/translations/cebeme:/usr/src/app/src/client/translations/cebeme/
- #- ./frontend/src/client/components/perspectives/cebeme:/usr/src/app/src/client/components/perspectives/cebeme/
- #- ./frontend/src/configs:/usr/src/app/src/configs/
- #- ./frontend/src/server/sparql/cebeme/sparql_queries:/usr/src/app/src/server/sparql/cebeme/sparql_queries/
-
+ - ./frontend/src/configs/rocrate:/usr/src/app/src/configs/rocrate
+ - ./frontend/src/client/components/perspectives/rocrate:/usr/src/app/src/client/components/perspectives/rocrate
+ - ./frontend/src/client/translations/rocrate:/usr/src/app/src/client/translations/rocrate
+ - ./frontend/src/server/sparql/rocrate:/usr/src/app/src/server/sparql/rocrate
+ - ./frontend/src/configs/portalConfig.json:/usr/src/app/src/configs/portalConfig.json
jena-fuseki:
+ platform: linux/x86_64
container_name: rocrate-jena-fuseki
image: stain/jena-fuseki
restart: unless-stopped
@@ -31,6 +32,7 @@ services:
- "3030:3030"
volumes:
- jena-fuseki-data:/fuseki
+ - ./fuseki/config.ttl:/fuseki/config.ttl
# secrets:
# - admin_password
environment:
diff --git a/SampoUI_Server/frontend/src/client/components/perspectives/rocrate/Footer.js b/SampoUI_Server/frontend/src/client/components/perspectives/rocrate/Footer.js
new file mode 100644
index 0000000..ff2f488
--- /dev/null
+++ b/SampoUI_Server/frontend/src/client/components/perspectives/rocrate/Footer.js
@@ -0,0 +1,114 @@
+import React from 'react'
+import Paper from '@mui/material/Paper'
+import PropTypes from 'prop-types'
+import Box from '@mui/material/Box'
+import aaltoLogo from '../../../img/logos/Aalto_SCI_EN_13_BLACK_2_cropped.png'
+import hyLogo from '../../../img/logos/university-of-helsinki-logo-transparent-black.png'
+import heldigLogo from '../../../img/logos/heldig-logo-transparent-black.png'
+
+/**
+ * A component for creating a footer. The logos are imported inside this component.
+ */
+const Footer = props => {
+ return (
+
This landing page provides a human-readable summary of the data points that link to this {entity}. The data included in this summary reflect only those data points used in the MMM Portal. Click the Open in Linked Data Browser on button on the Export tab to view the complete set of classes and properties linked to this record.
To cite this record, use its url. You can use also use the url to return directly to the record at any time.
", + "repetition": "The same or similar data may appear within a single data field multiple times. This repetition occurs due to the merging of multiple records from different datasets to create the MMM record.
" + }, + "deckGlMap": { + "arcColouring": "Arc colouring:", + "showMoreInformation": "Click to show more information.", + "placesMsMigrations": { + "legendTitle": "Arc colouring", + "legendFrom": "Manuscript production place", + "legendTo": "Last known location", + "from": "Production place:", + "to": "Last known location:", + "count": "Manuscript count", + "listHeadingSingleInstance": "Manuscript:", + "listHeadingMultipleInstances": "Manuscripts:" + } + }, + "perspectives": { + "fullTextSearch": { + "properties": { + "prefLabel": { + "label": "Label" + }, + "type": { + "label": "Type" + }, + "note": { + "label": "Note" + } + } + }, + "perspective2": { + "label": "Perspective 2", + "facetResultsType": "manuscripts", + "shortDescription": "Perspective 2 description", + "longDescription": "Use this perspective to access data related to physical manuscript objects. If two or more source datasets include the same manuscript and this has been verified, the information from the source datasets has been merged into one manuscript. See instructions for using the filters. The result view can be selected using the tabs:
MMM’s Manuscript entity corresponds to FRBRoo’s Manifestation Singleton, defined as \"physical objects that each carry an instance of [an Expression], and that were produced as unique objects...\" The various types of records that describe manuscripts in each of the three contributing MMM datasets have been mapped to this entity.
If the Bibale or Oxford databases reference a shelf mark for the manuscript, that information will appear as its label. Otherwise, an SDBM ID number will serve as its label. SDBM ID numbers contain prefixes that indicate different things about the type of record they contain:
Use this perspective to access data related to events associated with the histories of manuscripts and manuscript collections over the centuries. See instructions for using the filters. The result view can be selected using the tabs:
Events refer to various activities related to Manuscripts and Actors. Event types include Production, Transfer of Custody, and Activity events. Production events refer to the production of the physical manuscript. Transfer of Custody events indicate a change of ownership that involved a transaction of some kind, usually through an auction house or bookseller. The generic Activity event type covers all other types of events.
" + }, + "properties": { + "uri": { + "label": "URI", + "description": "Uniform Resource Identifier" + }, + "type": { + "label": "Type", + "description": "Distinguish between “Transfer of Custody”, “Production”, and other types of “Activity” events." + }, + "language": { + "label": "Language", + "description": "The language in which a Work is written in the manuscript (i.e., an “Expression” of a Work). One manuscript may contain multiple languages." + }, + "manuscript": { + "label": "Manuscript / Collection", + "description": "The manuscript or manuscript collection associated with the event." + }, + "eventTimespan": { + "label": "Date", + "description": "The date or time period associated with the event." + }, + "place": { + "label": "Place", + "description": "The specific place(s) associated with the event." + }, + "placeType": { + "label": "Place type", + "description": "The type of the specific place(s) associated with the event." + }, + "note": { + "label": "Note", + "description": "Note" + }, + "surrender": { + "label": "Custody surrendered by", + "description": "Custody surrendered by" + }, + "receiver": { + "label": "Custody received by", + "description": "Custody received by" + }, + "observedOwner": { + "label": "Observed owner", + "description": "Observed owner" + }, + "source": { + "label": "Source", + "description": "The source database (Schoenberg, Bibale, and Bodleian) that provided the information about the event." + } + } + }, + "manuscripts": { + "label": "Manuscripts", + "facetResultsType": "manuscripts", + "shortDescription": "Physical manuscript objects", + "longDescription": "Use this perspective to access data related to physical manuscript objects. If two or more source datasets include the same manuscript and this has been verified, the information from the source datasets has been merged into one manuscript. See instructions for using the filters. The result view can be selected using the tabs:
MMM’s Manuscript entity corresponds to FRBRoo’s Manifestation Singleton, defined as \"physical objects that each carry an instance of [an Expression], and that were produced as unique objects...\" The various types of records that describe manuscripts in each of the three contributing MMM datasets have been mapped to this entity.
If the Bibale or Oxford databases reference a shelf mark for the manuscript, that information will appear as its label. Otherwise, an SDBM ID number will serve as its label. SDBM ID numbers contain prefixes that indicate different things about the type of record they contain:
Use this perspective to access data related to Works. The MMM data model follows the FRBRoo definition of a work, which refers to “distinct concepts or combinations of concepts identified in artistic and intellectual expressions.” Works contain title and author information. If two or more source datasets include the same Work and this has been verified, the information from the source datasets has been merged into one Work. See instructions for using the filters. The result view can be selected using the tabs:
The MMM data model follows the FRBRoo definition of a work, which refers to “distinct concepts or combinations of concepts identified in artistic and intellectual expressions.” Works contain title and author information. This definition is not shared by the Bibale or Oxford Libraries’ conception of the term, which both define their internal “work” concept more closely to the FRBRoo conception of an Expression. The SDBM does not have a work concept at all, recording only the titles of the texts as given in its various sources, without normalizing that data or linking it directly to author information. Works were generated within the MMM dataset by manually creating links across the three datasets’ various conceptions of the relationship between authors and their creations. This process was not able to reconcile every work contained within the combined dataset.
" + }, + "properties": { + "uri": { + "label": "URI", + "description": "Uniform Resource Identifier" + }, + "prefLabel": { + "label": "Title", + "description": "The name or title of the Work." + }, + "author": { + "label": "Possible author", + "description": "The author(s) associated with the Work. Because of the structure of entries in the Schoenberg Database, the authors shown as being associated with a Work may actually be associated with other Works in the same manuscript instead." + }, + "language": { + "label": "Language", + "description": "The language in which a Work is written in the manuscript (i.e., an “Expression” of a Work). One manuscript may contain multiple languages." + }, + "expression": { + "label": "Expression", + "description": "The expression(s) of the Work." + }, + "manuscript": { + "label": "Manuscript", + "description": "The specific manuscript(s) in which the Work can be found." + }, + "productionTimespan": { + "label": "Manuscript production date", + "description": "The date(s) when the manuscript(s) in which the Work can be found were written. Multiple production dates may appear for a single manuscript, when there are discrepancies between the contributing data source or when the precise date is uncertain." + }, + "collection": { + "label": "Collection", + "description": "The specific collection(s) of manuscripts in which a Work can be found." + }, + "source": { + "label": "Source", + "description": "The source database(s) (Schoenberg, Bibale, and Bodleian) that the Work occurs in. Click on the result table link to view the original record on the source’s website." + } + } + }, + "events": { + "label": "Events", + "facetResultsType": "events", + "shortDescription": "Events related to manuscripts", + "longDescription": "Use this perspective to access data related to events associated with the histories of manuscripts and manuscript collections over the centuries. See instructions for using the filters. The result view can be selected using the tabs:
Events refer to various activities related to Manuscripts and Actors. Event types include Production, Transfer of Custody, and Activity events. Production events refer to the production of the physical manuscript. Transfer of Custody events indicate a change of ownership that involved a transaction of some kind, usually through an auction house or bookseller. The generic Activity event type covers all other types of events.
" + }, + "properties": { + "uri": { + "label": "URI", + "description": "Uniform Resource Identifier" + }, + "type": { + "label": "Type", + "description": "Distinguish between “Transfer of Custody”, “Production”, and other types of “Activity” events." + }, + "language": { + "label": "Language", + "description": "The language in which a Work is written in the manuscript (i.e., an “Expression” of a Work). One manuscript may contain multiple languages." + }, + "manuscript": { + "label": "Manuscript / Collection", + "description": "The manuscript or manuscript collection associated with the event." + }, + "eventTimespan": { + "label": "Date", + "description": "The date or time period associated with the event." + }, + "place": { + "label": "Place", + "description": "The specific place(s) associated with the event." + }, + "note": { + "label": "Note", + "description": "Note" + }, + "surrender": { + "label": "Custody surrendered by", + "description": "Custody surrendered by" + }, + "receiver": { + "label": "Custody received by", + "description": "Custody received by" + }, + "observedOwner": { + "label": "Observed owner", + "description": "Observed owner" + }, + "source": { + "label": "Source", + "description": "The source database (Schoenberg, Bibale, and Bodleian) that provided the information about the event." + } + } + }, + "actors": { + "label": "Actors", + "facetResultsType": "actors", + "shortDescription": "People and institutions related to manuscripts", + "longDescription": "This perspective provides access to data related to the persons and institutions who impacted the production or dissemination of manuscripts and works. Actors include authors of works, artists and scribes who produced manuscripts, and the individual owners and institutions who bought or sold manuscripts. If two or more source datasets include the same Actor and this has been verified, the information from the source datasets has been merged into one Actor. See instructions for using the filters. The result view can be selected using the tabs:
Actors are individuals or groups who influenced the production or provenance of a manuscript. Actor types include Person, Group, or Actor. Persons refer to individuals, while Groups indicate corporate or institutional bodies. The Actor type is used when a more specific type is unknown or not specified in the source dataset.
" + }, + "properties": { + "uri": { + "label": "URI", + "description": "Uniform Resource Identifier" + }, + "prefLabel": { + "label": "Name", + "description": "The standardized name of the actor." + }, + "type": { + "label": "Type", + "description": "Indicates whether the actor is an individual (Person) or an institution, corporation, or family (Group)" + }, + "birthDateTimespan": { + "label": "Birth / formation date", + "description": "The date when the actor was born or established." + }, + "deathDateTimespan": { + "label": "Death / dissolution date", + "description": "The date when the actor died or dissolved." + }, + "place": { + "label": "Activity location", + "description": "Place(s) of activity linked to this actor." + }, + "work": { + "label": "Work", + "description": "Work(s) linked to the actor." + }, + "manuscript": { + "label": "Manuscript", + "description": "Manuscript(s) linked to the actor." + }, + "role": { + "label": "Role", + "description": "Role(s)" + }, + "source": { + "label": "Source", + "description": "The source dataset(s) (Bibale, Bodleian, or SDBM) contributing the information on the actor. If two or more source datasets include the same actor and this has been manually verified, the information from the source datasets has been merged into one MMM actor. Click on the result table link(s) to view the original record on the source’s website." + } + } + }, + "places": { + "label": "Places", + "facetResultsType": "places", + "shortDescription": "Places related to manuscripts", + "longDescription": "Use this perspective to access data related to places named in the source datasets (Schoenberg, Bibale, and Bodleian). The places have been linked to Getty Thesaurus of Geographic Names when possible. If two or more source datasets include the same Place and this has been verified, the information from the source datasets has been merged into one Place. See instructions for using the filters. The result view can be selected using the tabs:
Places refer to geographic locations that relate to Manuscripts, Events, Actors, and Collections. MMM uses the Getty Thesaurus of Geographic Names as its hierarchy for geographic data. Coordinate data is approximate for locations such as counties, regions, and nations.
" + }, + "properties": { + "uri": { + "label": "URI", + "description": "Uniform Resource Identifier" + }, + "prefLabel": { + "label": "Name", + "description": "The name of the place." + }, + "placeType": { + "label": "Place type", + "description": "The place type from Getty Thesaurus of Geographic Names." + }, + "area": { + "label": "Parent Place", + "description": "A larger region or geographic division in which a place is contained. MMM uses the hierarchy published by the Getty Thesaurus of Geographic Names." + }, + "manuscriptProduced": { + "label": "Manuscripts produced", + "description": "Manuscript(s) produced here." + }, + "manuscriptTransferred": { + "label": "Manuscripts transferred", + "description": "The manuscript(s) that have a \"Transfer of Custody\" event located here." + }, + "manuscriptObserved": { + "label": "Manuscripts observed", + "description": "The manuscript(s) that have a provenance event located here." + }, + "actor": { + "label": "Actor", + "description": "The actor(s) associated with the place." + }, + "source": { + "label": "Source", + "description": "The source dataset (Schoenberg, Bibale, and Bodleian) and the place authority (Getty Thesaurus of Geographic Names and GeoNames) contributing the information on the place." + } + } + }, + "collections": { + "instancePage": { + "label": "Collection", + "description": "A collection refers to a group of manuscripts that were owned by the same actor, including individuals, institutions, or other types of groups. A manuscript can appear in multiple collections over time, and no explicit distinction is made between a manuscript’s current or former collections. Similarly, collections will include links to every manuscript that has ever been in the collection, regardless of whether all of those manuscripts were within the collection at the same time.
" + }, + "properties": { + "uri": { + "label": "URI", + "description": "Uniform Resource Identifier" + }, + "prefLabel": { + "label": "Name", + "description": "The name or title of the Collection." + }, + "manuscript": { + "label": "Manuscript", + "description": "The manuscript(s) that have been a part of the collection at some point in time." + }, + "owner": { + "label": "Owner", + "description": "Former or current owners (individual or institutional)." + }, + "place": { + "label": "Place", + "description": "Location of the collection at some point during its existence" + }, + "source": { + "label": "Source", + "description": "The source database (Schoenberg, Bibale, and Bodleian) that the Collection occurs in. Currently one Collection has always only one dataset as a source." + } + } + }, + "expressions": { + "instancePage": { + "label": "Expression", + "description": "The MMM data model follows the FRBRoo definition of an Expression, which refers to “the intellectual or artistic realisations of works in the form of identifiable immaterial objects...” Expressions contain title, and language information, and represent the various versions of texts that appear in manuscripts.
" + }, + "properties": { + "uri": { + "label": "URI", + "description": "Uniform Resource Identifier" + }, + "prefLabel": { + "label": "Name", + "description": "The name or title of the Expression." + }, + "manuscript": { + "label": "Manuscript", + "description": "The manuscript that carries the Expression." + }, + "language": { + "label": "Language", + "description": "The language of the Expression." + }, + "source": { + "label": "Source", + "description": "The source database (Schoenberg, Bibale, and Bodleian) that the Expression occurs in. Currently one Expression has always only one dataset as a source." + } + } + }, + "perspective4": { + "label": "ClientFS", + "shortDescription": "Client-side faceted search", + "datasets": { + "kotus": { + "label": "Names Archive of the Institute for the Languages of Finland (NA)", + "aboutLink": "https://nimiarkisto.fi/wiki/Nimiarkisto:Tietoja" + }, + "pnr": { + "label": "Finnish Geographic Names Registry (PNR)", + "aboutLink": "https://www.maanmittauslaitos.fi/kartat-ja-paikkatieto/asiantuntevalle-kayttajalle/tuotekuvaukset/nimisto" + }, + "warsa_karelian_places": { + "label": "Karelian map names (KK)", + "aboutLink": "https://www.suomi.fi/palvelut/verkkoasiointi/vanhat-karjalan-kartat-maanmittauslaitos/f51d72a2-510c-4c34-bb3e-b752f5d38250" + }, + "tgn": { + "label": "The Getty Thesaurus of Geographic Names (TGN)", + "aboutLink": "http://www.getty.edu/research/tools/vocabularies/tgn/about.html" + } + }, + "inputPlaceHolder": "Search place names", + "searchByArea": "Search by area", + "searchByAreaTitle": "Siirrä karttanäkymä tutkittavalle alueelle, aseta zoomaustasoksi vähintään 11 ja käytä alareunan hakupainiketta.", + "searchByAreaCancel": "Cancel", + "searchByAreaSearch": "Search", + "properties": { + "datasetSelector": { + "label": "Choose dataset(s)", + "description": "Description" + }, + "prefLabel": { + "label": "Name", + "description": "Description" + }, + "broaderTypeLabel": { + "label": "Type", + "description": "Description" + }, + "broaderAreaLabel": { + "label": "Area", + "description": "Description" + }, + "modifier": { + "label": "Modifier", + "description": "Description" + }, + "basicElement": { + "label": "Base", + "description": "Description" + }, + "collectionYear": { + "label": "Year", + "description": "Description" + }, + "source": { + "label": "Source", + "description": "Description" + } + } + } + }, + "aboutThePortalPartOne": "Morbi nunc ex, ultrices vitae molestie eu, fringilla quis dolor. Vivamus in enim nibh. Nunc rutrum molestie ex eget dictum. Mauris lectus leo, ultrices in sodales ac, fermentum ut massa. In porta, mauris sed facilisis lacinia, eros magna sollicitudin tortor, quis venenatis nisl ipsum lacinia justo. Duis pretium bibendum consequat.
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In hac habitasse platea dictumst. Curabitur consectetur aliquet est, ac dapibus ante semper vitae. Sed consequat at est ac lobortis. In vitae metus in ligula pretium vehicula. Aliquam maximus ac massa euismod eleifend. Vestibulum vehicula mattis libero at tempus.
Nullam eu blandit ex, quis consectetur enim. Nulla aliquam, enim non euismod tincidunt, neque eros tincidunt urna, eget elementum diam metus vel elit. Donec dui augue, vehicula a cursus ut, efficitur eget velit. Aliquam pellentesque odio vel metus sodales tempor. Donec in lectus magna. Cras at odio a libero laoreet viverra nec sed lorem. In malesuada tempus dolor. Suspendisse et ligula quis nisi facilisis maximus. Sed dictum justo eu condimentum efficitur. Mauris porttitor ante nec auctor vulputate. Phasellus varius, odio sed egestas bibendum, dolor lacus consequat turpis, ac pulvinar libero lorem maximus nunc. Praesent egestas volutpat leo, vel faucibus dui convallis sed. Ut sed libero eu nisi accumsan mollis. Pellentesque ultricies est non porta luctus. Maecenas eget viverra mauris.
", + "aboutThePortalPartTwo": "Mauris porttitor ante nec auctor vulputate. Phasellus varius, odio sed egestas bibendum, dolor lacus consequat turpis, ac pulvinar libero lorem maximus nunc. Praesent egestas volutpat leo, vel faucibus dui convallis sed. Ut sed libero eu nisi accumsan mollis. Pellentesque ultricies est non porta luctus. Maecenas eget viverra mauris.
Nullam eu blandit ex, quis consectetur enim. Nulla aliquam, enim non euismod tincidunt, neque eros tincidunt urna, eget elementum diam metus vel elit. Donec dui augue, vehicula a cursus ut, efficitur eget velit. Aliquam pellentesque odio vel metus sodales tempor. Donec in lectus magna. Cras at odio a libero laoreet viverra nec sed lorem. In malesuada tempus dolor. Suspendisse et ligula quis nisi facilisis maximus. Sed dictum justo eu condimentum efficitur. Mauris porttitor ante nec auctor vulputate. Phasellus varius, odio sed egestas bibendum, dolor lacus consequat turpis, ac pulvinar libero lorem maximus nunc. Praesent egestas volutpat leo, vel faucibus dui convallis sed. Ut sed libero eu nisi accumsan mollis. Pellentesque ultricies est non porta luctus. Maecenas eget viverra mauris.
Nullam eu blandit ex, quis consectetur enim. Nulla aliquam, enim non euismod tincidunt, neque eros tincidunt urna, eget elementum diam metus vel elit. Donec dui augue, vehicula a cursus ut, efficitur eget velit. Aliquam pellentesque odio vel metus sodales tempor. Donec in lectus magna. Cras at odio a libero laoreet viverra nec sed lorem. In malesuada tempus dolor. Suspendisse et ligula quis nisi facilisis maximus. Sed dictum justo eu condimentum efficitur. Mauris porttitor ante nec auctor vulputate. Phasellus varius, odio sed egestas bibendum, dolor lacus consequat turpis, ac pulvinar libero lorem maximus nunc. Praesent egestas volutpat leo, vel faucibus dui convallis sed. Ut sed libero eu nisi accumsan mollis. Pellentesque ultricies est non porta luctus. Maecenas eget viverra mauris.
", + "instructions": "The search functionality of this semantic portal is based on the faceted search paradigm. By default each perspective displays all results from the corresponding class. This default result set can be narrowed down by using the filters on the left.
All possible values for a filter are displayed either as a list or as a hierarchical tree structure (if available). The number of results is shown in brackets for each value. Once a value is selected, the results are automatically updated. To prevent further selections that do not return any results, also the possible values for all other filters are updated at the same time.
Multiple values can be selected within a single filter. Selecting multiple values generates results that contain any of the selected values. For example, selecting both Saint Augustine and Saint Jerome as an Author returns results that include either Saint Augustine OR Saint Jerome as an Author.
Selected values of a filter appear in the Active filters section at the top of the list of filters. To deselect a filter, click the X mark next to it within the Active filters section. You can also deselect a filter value by unchecking the checkmark in the filter’s value list. The Active filters section only appears if there are filter values currently selected.
Search within a filter by using the search field at the top of each filter. All possible values of a filter remain visible at all times. The values of the filter that match the search term are indicated by a purple underline.
Steps for searching within filters:
The effectiveness of faceted search is realized when multiple filters are applied at the same time. As in many e-commerce sites, a logical AND is always used between the filters. For example selecting Saint Augustine and Saint Jerome as an Author and Sir Thomas Phillipps and Thomas Thorpe as an Owner, the results are narrowed down as follows:
(Author: Saint Augustine OR Author: Saint Jerome)
AND
(Owner: Sir Thomas Phillipps OR Owner: Thomas Thorpe)
", + "feedback": "This semantic portal has been developed by ...
We are interested in your feedback on the functionality, coverage, and usefulness of the portal and its data.
Please complete our Feedback Survey Form (add link).
You can also contact us via email: ... or DM us on Twitter: ...
Please be aware that this portal’s response times may be affected by the size and complexity of the underlying knowledge graph.
", + "exportLink": { + "viewLabel": "Tab", + "viewInstructions": "Choose the tab in which the query will open", + "fieldLabel": "Generated link (read-only)", + "infoBody": "You can share the query you made by using the link below. The link is generated based on what you have selected for different facets and will open the search view of this perpsective with those choices on the selected tab. You can change the opened tab to any of the supported ones using the dropdown menu below. If you make additional choices while on this page, the link will be automatically updated to include those.", + "warningTitle": "Generated link might be too long for some browsers", + "warningBody": "The current length of the generated link is more than 2,000 characters. Browsers have different limits for the maximum lengths of links they can handle. This link might not work on all browsers — you can reduce the length of the link by deselecting some facet options.", + "errorTitle": "Generated link is too long", + "errorBody": "The current length of the generated link is more than 15,800 characters. The server will refuse to handle requests that go over certain length limits — you can reduce the length of the link by deselecting some facet options.", + "copyLinkToClipboard": "Copy link to clipboard" + } +} diff --git a/SampoUI_Server/frontend/src/client/translations/rocrate/localeFI.json b/SampoUI_Server/frontend/src/client/translations/rocrate/localeFI.json new file mode 100644 index 0000000..b9f66c9 --- /dev/null +++ b/SampoUI_Server/frontend/src/client/translations/rocrate/localeFI.json @@ -0,0 +1,1200 @@ +{ + "languageLabel": "Suomi", + "html": { + "title": "Sampo-UI – A framework for building user interfaces for semantic portals", + "description": "" + }, + "appTitle": { + "short": "", + "long": "", + "subheading": "" + }, + "appDescription": "", + "appDescription1": "", + "appDescription2": "", + "appDescription3": "", + "appDescription4": "", + "selectPerspective": "", + "mainPageImageLicence": "", + "backendErrorText": "", + "topBar": { + "feedback": "", + "info": { + "info": "", + "blog": "", + "blogUrl": "", + "aboutThePortal": "" + }, + "searchBarPlaceHolder": "", + "searchBarPlaceHolderShort": "", + "instructions": "" + }, + "facetBar": { + "results": "", + "activeFilters": "", + "removeAllFilters": "", + "narrowDownBy": "", + "filterOptions": "", + "filterByName": "", + "filterByBoundingBox": "", + "selectionOptions": "", + "selectAlsoSubconcepts": "", + "doNotSelectSubconcepts": "", + "sortingOptions": "", + "sortAlphabetically": "", + "sortByNumberOfSearchResults": "", + "useDisjunction": "", + "useConjuction": "", + "minYear": "", + "maxYear": "", + "min": "", + "max": "", + "facetSearchFieldPlaceholder": "", + "applyFacetSelection": "", + "pieChart": { + "tooltip": "" + }, + "barChart": { + "tooltip": "", + "language": { + "title": "", + "xaxisTitle": "", + "yaxisTitle": "", + "seriesTitle": "" + } + }, + "lineChart": { + "tooltip": "", + "productionTimespan": { + "title": "", + "xaxisTitle": "", + "yaxisTitle": "", + "seriesTitle": "" + } + } + }, + "tabs": { + "table": "", + "map": "", + "production_places": "", + "production_places_heatmap": "", + "last_known_locations": "", + "migrations": "", + "network": "", + "export": "", + "production_dates": "", + "event_dates": "", + "map_clusters": "", + "map_markers": "", + "heatmap": "", + "statistics": "", + "emloLetterNetwork": "", + "emloSentReceived": "", + "download": "", + "recommendations": "", + "share": "" + }, + "table": { + "rowsPerPage": "", + "of": "" + }, + "lineChart": { + "productionCount": "", + "transferCount": "", + "observationCount": "", + "sentCount": "", + "receivedCount": "", + "allCount": "" + }, + "exportToYasgui": "", + "openInLinkedDataBrowser": "", + "resultsAsCSV": "", + "facets": { + "dateFacet": { + "invalidDate": "", + "toBeforeFrom": "", + "minDate": "", + "maxDate": "", + "cancel": "", + "fromLabel": "", + "toLabel": "" + }, + "textFacet": { + "inputLabel": "" + }, + "sliderFacet": { + "invalidStartOrEnd": "" + } + }, + "leafletMap": { + "basemaps": { + "mapbox": { + "light-v10": "" + }, + "googleRoadmap": "", + "topographicalMapNLS": "", + "backgroundMapNLS": "" + }, + "externalLayers": { + "arkeologiset_kohteet_alue": "", + "arkeologiset_kohteet_piste": "", + "fhaLidar": "", + "karelianMaps": "", + "senateAtlas": "", + "kotus:pitajat": "", + "kotus:rajat-sms-alueet": "", + "kotus:rajat-sms-alueosat": "", + "kotus:rajat-lansi-ita": "" + }, + "mapModeButtons": { + "markers": "", + "heatmap": "" + }, + "wrongZoomLevel": "", + "wrongZoomLevelFHA": "", + "tooManyResults": "" + }, + "instancePageGeneral": { + "introduction": "", + "repetition": "" + }, + "deckGlMap": { + "arcColouring": "", + "showMoreInformation": "", + "manuscriptMigrations": { + "legendTitle": "", + "legendFrom": "", + "legendTo": "", + "from": "", + "to": "", + "count": "", + "listHeadingSingleInstance": "", + "listHeadingMultipleInstances": "" + } + }, + "perspectives": { + "perspective1": { + "label": "", + "facetResultsType": "", + "shortDescription": "", + "longDescription": "", + "instancePage": { + "label": "", + "description": "" + }, + "properties": { + "uri": { + "label": "", + "description": "" + }, + "prefLabel": { + "label": "", + "description": "", + "textFacetInputPlaceholder": "" + }, + "author": { + "label": "", + "description": "" + }, + "work": { + "label": "", + "description": "" + }, + "expression": { + "label": "", + "description": "" + }, + "productionPlace": { + "label": "", + "description": "" + }, + "productionTimespan": { + "label": "", + "description": "" + }, + "note": { + "label": "", + "description": "" + }, + "language": { + "label": "", + "description": "" + }, + "event": { + "label": "", + "description": "" + }, + "owner": { + "label": "", + "description": "" + }, + "collection": { + "label": "", + "description": "" + }, + "transferOfCustodyPlace": { + "label": "", + "description": "" + }, + "transferOfCustodyTimespan": { + "label": "", + "description": "" + }, + "lastKnownLocation": { + "label": "", + "description": "" + }, + "material": { + "label": "", + "description": "" + }, + "height": { + "label": "", + "description": "" + }, + "width": { + "label": "", + "description": "" + }, + "folios": { + "label": "", + "description": "" + }, + "lines": { + "label": "", + "description": "" + }, + "columns": { + "label": "", + "description": "" + }, + "miniatures": { + "label": "", + "description": "" + }, + "decoratedInitials": { + "label": "", + "description": "" + }, + "historiatedInitials": { + "label": "", + "description": "" + }, + "source": { + "label": "", + "description": "" + } + } + }, + "perspective2": { + "label": "", + "facetResultsType": "", + "shortDescription": "", + "longDescription": "", + "instancePage": { + "label": "", + "description": "" + }, + "properties": { + "uri": { + "label": "", + "description": "" + }, + "prefLabel": { + "label": "", + "description": "", + "textFacetInputPlaceholder": "" + }, + "author": { + "label": "", + "description": "" + }, + "language": { + "label": "", + "description": "" + }, + "expression": { + "label": "", + "description": "" + }, + "manuscript": { + "label": "", + "description": "" + }, + "productionTimespan": { + "label": "", + "description": "" + }, + "collection": { + "label": "", + "description": "" + }, + "source": { + "label": "", + "description": "" + } + } + }, + "perspective3": { + "label": "", + "facetResultsType": "", + "shortDescription": "", + "longDescription": "", + "instancePage": { + "label": "", + "description": "" + }, + "properties": { + "uri": { + "label": "", + "description": "" + }, + "type": { + "label": "", + "description": "" + }, + "language": { + "label": "", + "description": "" + }, + "manuscript": { + "label": "", + "description": "" + }, + "eventTimespan": { + "label": "", + "description": "" + }, + "place": { + "label": "", + "description": "" + }, + "placeType": { + "label": "", + "description": "" + }, + "note": { + "label": "", + "description": "" + }, + "surrender": { + "label": "", + "description": "" + }, + "receiver": { + "label": "", + "description": "" + }, + "observedOwner": { + "label": "", + "description": "" + }, + "source": { + "label": "", + "description": "" + } + } + }, + "manuscripts": { + "label": "", + "facetResultsType": "", + "shortDescription": "", + "longDescription": "", + "instancePage": { + "label": "", + "description": "" + }, + "properties": { + "uri": { + "label": "", + "description": "" + }, + "prefLabel": { + "label": "", + "description": "" + }, + "author": { + "label": "", + "description": "" + }, + "work": { + "label": "", + "description": "" + }, + "expression": { + "label": "", + "description": "" + }, + "productionPlace": { + "label": "", + "description": "" + }, + "productionTimespan": { + "label": "", + "description": "" + }, + "note": { + "label": "", + "description": "" + }, + "language": { + "label": "", + "description": "" + }, + "event": { + "label": "", + "description": "" + }, + "owner": { + "label": "", + "description": "" + }, + "collection": { + "label": "", + "description": "" + }, + "transferOfCustodyPlace": { + "label": "", + "description": "" + }, + "transferOfCustodyTimespan": { + "label": "", + "description": "" + }, + "lastKnownLocation": { + "label": "", + "description": "" + }, + "material": { + "label": "", + "description": "" + }, + "height": { + "label": "", + "description": "" + }, + "width": { + "label": "", + "description": "" + }, + "folios": { + "label": "", + "description": "" + }, + "lines": { + "label": "", + "description": "" + }, + "columns": { + "label": "", + "description": "" + }, + "miniatures": { + "label": "", + "description": "" + }, + "decoratedInitials": { + "label": "", + "description": "" + }, + "historiatedInitials": { + "label": "", + "description": "" + }, + "source": { + "label": "", + "description": "" + } + } + }, + "works": { + "label": "", + "facetResultsType": "", + "shortDescription": "", + "longDescription": "", + "instancePage": { + "label": "", + "description": "" + }, + "properties": { + "uri": { + "label": "", + "description": "" + }, + "prefLabel": { + "label": "", + "description": "" + }, + "author": { + "label": "", + "description": "" + }, + "language": { + "label": "", + "description": "" + }, + "expression": { + "label": "", + "description": "" + }, + "manuscript": { + "label": "", + "description": "" + }, + "productionTimespan": { + "label": "", + "description": "" + }, + "collection": { + "label": "", + "description": "" + }, + "source": { + "label": "", + "description": "" + } + } + }, + "events": { + "label": "", + "facetResultsType": "", + "shortDescription": "", + "longDescription": "", + "instancePage": { + "label": "", + "description": "" + }, + "properties": { + "uri": { + "label": "", + "description": "" + }, + "type": { + "label": "", + "description": "" + }, + "language": { + "label": "", + "description": "" + }, + "manuscript": { + "label": "", + "description": "" + }, + "eventTimespan": { + "label": "", + "description": "" + }, + "place": { + "label": "", + "description": "" + }, + "note": { + "label": "", + "description": "" + }, + "surrender": { + "label": "", + "description": "" + }, + "receiver": { + "label": "", + "description": "" + }, + "observedOwner": { + "label": "", + "description": "" + }, + "source": { + "label": "", + "description": "" + } + } + }, + "actors": { + "label": "", + "facetResultsType": "", + "shortDescription": "", + "longDescription": "", + "instancePage": { + "label": "", + "description": "" + }, + "properties": { + "uri": { + "label": "", + "description": "" + }, + "prefLabel": { + "label": "", + "description": "" + }, + "type": { + "label": "", + "description": "" + }, + "birthDateTimespan": { + "label": "", + "description": "" + }, + "deathDateTimespan": { + "label": "", + "description": "" + }, + "place": { + "label": "", + "description": "" + }, + "work": { + "label": "", + "description": "" + }, + "manuscript": { + "label": "", + "description": "" + }, + "role": { + "label": "", + "description": "" + }, + "source": { + "label": "", + "description": "" + } + } + }, + "places": { + "label": "", + "facetResultsType": "", + "shortDescription": "", + "longDescription": "", + "instancePage": { + "label": "", + "description": "" + }, + "properties": { + "uri": { + "label": "", + "description": "" + }, + "prefLabel": { + "label": "", + "description": "" + }, + "placeType": { + "label": "", + "description": "" + }, + "area": { + "label": "", + "description": "" + }, + "manuscriptProduced": { + "label": "", + "description": "" + }, + "manuscriptTransferred": { + "label": "", + "description": "" + }, + "manuscriptObserved": { + "label": "", + "description": "" + }, + "actor": { + "label": "", + "description": "" + }, + "source": { + "label": "", + "description": "" + } + } + }, + "collections": { + "label": "", + "facetResultsType": "", + "shortDescription": "", + "longDescription": "", + "instancePage": { + "label": "", + "description": "" + }, + "properties": { + "uri": { + "label": "", + "description": "" + }, + "prefLabel": { + "label": "", + "description": "" + }, + "manuscript": { + "label": "", + "description": "" + }, + "owner": { + "label": "", + "description": "" + }, + "place": { + "label": "", + "description": "" + }, + "source": { + "label": "", + "description": "" + } + } + }, + "expressions": { + "label": "", + "facetResultsType": "", + "shortDescription": "", + "longDescription": "", + "instancePage": { + "label": "", + "description": "" + }, + "properties": { + "uri": { + "label": "", + "description": "" + }, + "prefLabel": { + "label": "", + "description": "" + }, + "manuscript": { + "label": "", + "description": "" + }, + "language": { + "label": "", + "description": "" + }, + "source": { + "label": "", + "description": "" + } + } + }, + "finds": { + "label": "", + "facetResultsType": "", + "shortDescription": "", + "longDescription": "", + "instancePage": { + "label": "", + "description": "" + }, + "properties": { + "uri": { + "label": "", + "description": "" + }, + "findName": { + "label": "", + "description": "" + }, + "specification": { + "label": "", + "description": "" + }, + "prefLabel": { + "label": "", + "description": "" + }, + "type": { + "label": "", + "description": "" + }, + "subCategory": { + "label": "", + "description": "" + }, + "objectSubCategory": { + "label": "", + "description": "" + }, + "material": { + "label": "", + "description": "" + }, + "materialLiteral": { + "label": "", + "description": "" + }, + "period": { + "label": "", + "description": "" + }, + "periodObject": { + "label": "", + "description": "" + }, + "startYear": { + "label": "", + "description": "" + }, + "endYear": { + "label": "", + "description": "" + }, + "municipality": { + "label": "", + "description": "" + }, + "image": { + "label": "", + "description": "" + } + } + }, + "emloActors": { + "label": "", + "facetResultsType": "", + "shortDescription": "", + "longDescription": "", + "instancePage": { + "label": "", + "description": "" + }, + "properties": { + "uri": { + "label": "", + "description": "" + }, + "prefLabel": { + "label": "", + "description": "" + }, + "author": { + "label": "", + "description": "" + }, + "gender": { + "label": "", + "description": "" + }, + "type": { + "label": "", + "description": "" + }, + "birthDateTimespan": { + "label": "", + "description": "" + }, + "deathDateTimespan": { + "label": "", + "description": "" + }, + "altLabel": { + "label": "", + "description": "" + }, + "related": { + "label": "", + "description": "" + }, + "event": { + "label": "", + "description": "" + }, + "owner": { + "label": "", + "description": "" + }, + "rel": { + "label": "", + "description": "" + }, + "cor": { + "label": "", + "description": "" + }, + "transferOfCustodyTimespan": { + "label": "", + "description": "" + }, + "knownLocation": { + "label": "", + "description": "" + }, + "material": { + "label": "", + "description": "" + }, + "height": { + "label": "", + "description": "" + }, + "width": { + "label": "", + "description": "" + }, + "folios": { + "label": "", + "description": "" + }, + "lines": { + "label": "", + "description": "" + }, + "columns": { + "label": "", + "description": "" + }, + "miniatures": { + "label": "", + "description": "" + }, + "decoratedInitials": { + "label": "", + "description": "" + }, + "historiatedInitials": { + "label": "", + "description": "" + }, + "source": { + "label": "", + "description": "" + } + } + }, + "emloLetters": { + "label": "", + "facetResultsType": "", + "shortDescription": "", + "longDescription": "", + "instancePage": { + "label": "", + "description": "" + }, + "properties": { + "uri": { + "label": "", + "description": "" + }, + "prefLabel": { + "label": "", + "description": "" + }, + "language": { + "label": "", + "description": "" + }, + "subject": { + "label": "", + "description": "" + }, + "datasource": { + "label": "", + "description": "" + }, + "excipit": { + "label": "", + "description": "" + }, + "description": { + "label": "", + "description": "" + }, + "manuscript": { + "label": "", + "description": "" + }, + "productionTimespan": { + "label": "", + "description": "" + }, + "collection": { + "label": "", + "description": "" + }, + "source": { + "label": "", + "description": "" + }, + "target": { + "label": "", + "description": "" + }, + "from": { + "label": "", + "description": "" + }, + "to": { + "label": "", + "description": "" + } + } + }, + "emloPlaces": { + "label": "", + "facetResultsType": "", + "shortDescription": "", + "longDescription": "", + "instancePage": { + "label": "", + "description": "" + }, + "properties": { + "uri": { + "label": "", + "description": "" + }, + "type": { + "label": "", + "description": "" + }, + "prefLabel": { + "label": "", + "description": "" + }, + "country": { + "label": "", + "description": "" + }, + "broader": { + "label": "", + "description": "" + }, + "narrower": { + "label": "", + "description": "" + }, + "place": { + "label": "", + "description": "" + }, + "placeType": { + "label": "", + "description": "" + }, + "note": { + "label": "", + "description": "" + }, + "surrender": { + "label": "", + "description": "" + }, + "receiver": { + "label": "", + "description": "" + }, + "observedOwner": { + "label": "", + "description": "" + }, + "source": { + "label": "", + "description": "" + } + } + }, + "hellerau": { + "label": "", + "facetResultsType": "", + "shortDescription": "", + "longDescription": "", + "properties": { + "uri": { + "label": "", + "description": "" + }, + "prefLabel": { + "label": "", + "description": "" + }, + "home1930": { + "label": "", + "description": "" + }, + "home1937": { + "label": "", + "description": "" + } + } + }, + "clientFSPlaces": { + "label": "", + "shortDescription": "", + "datasets": { + "kotus": { + "label": "", + "aboutLink": "" + }, + "pnr": { + "label": "", + "aboutLink": "" + }, + "warsa_karelian_places": { + "label": "", + "aboutLink": "" + }, + "tgn": { + "label": "", + "aboutLink": "" + } + }, + "facetResultsType": "", + "inputPlaceHolder": "", + "searchByArea": "", + "searchByAreaTitle": "", + "searchByAreaCancel": "", + "searchByAreaSearch": "", + "properties": { + "datasetSelector": { + "label": "", + "description": "" + }, + "prefLabel": { + "label": "", + "description": "" + }, + "broaderTypeLabel": { + "label": "", + "description": "" + }, + "broaderAreaLabel": { + "label": "", + "description": "" + }, + "modifier": { + "label": "", + "description": "" + }, + "basicElement": { + "label": "", + "description": "" + }, + "collectionYear": { + "label": "", + "description": "" + }, + "source": { + "label": "", + "description": "" + } + } + } + }, + "aboutThePortalPartOne": "", + "aboutThePortalPartTwo": "", + "instructions": "", + "feedback": "", + "exportLink": { + "viewLabel": "Välilehti", + "viewInstructions": "Valitse välilehti, jossa haku avautuu", + "fieldLabel": "Luotu linkki (kirjoitussuojattu)", + "infoBody": "Voit jakaa tekemäsi haun alla olevan linkin avulla. Linkki luodaan sen perusteella, mitä olet valinnut eri fasetteja käyttäen, ja se avaa tämän näkymän hakunäkymän näillä valinnoilla valitulla välilehdellä. Voit vaihtaa avattavan välilehden mihin tahansa tuettuun välilehtivaihtoehtoon käyttäen alla olevaa pudotusvalikkoa. Jos teet uusia valintoja ollessasi tällä sivulla, linkki päivittyy automaattisesti sisältämään ne.", + "warningTitle": "Luotu linkki saattaa olla liian pitkä joillekin selaimille", + "warningBody": "Luodun linkin tämänhetkinen pituus on päälle 2 000 merkkiä. Selaimilla on vaihtelevia rajoja niillä toimivien linkkien enimmäispituuksille. Tämä linkki ei välttämättä toimi kaikilla selaimilla — voit lyhentää linkin pituutta poistamalla joitakin valitsemiasi fasettivalintoja.", + "errorTitle": "Luotu linkki on liian pitkä", + "errorBody": "Luodun linkin tämänhetkinen pituus on päälle 15 800 merkkiä. Palvelin kieltäytyy käsittelemästä pyyntöjä, jotka ylittävät tietyt pituusrajat — voit lyhentää linkin pituutta poistamalla joitakin valitsemiasi fasettivalintoja.", + "copyLinkToClipboard": "Kopioi linkki leikepöydälle" + } +} \ No newline at end of file diff --git a/SampoUI_Server/frontend/src/configs/portalConfig.json b/SampoUI_Server/frontend/src/configs/portalConfig.json new file mode 100644 index 0000000..b4c59d2 --- /dev/null +++ b/SampoUI_Server/frontend/src/configs/portalConfig.json @@ -0,0 +1,127 @@ +{ + "portalID": "rocrate", + "rootUrl": "", + "perspectives": { + "searchPerspectives": [ + "persons" + ], + "onlyInstancePages": [] + }, + "localeConfig": { + "defaultLocale": "en", + "readTranslationsFromGoogleSheets": false, + "availableLocales": [ + { + "id": "en", + "label": "English", + "filename": "localeEN.json" + }, + { + "id": "fi", + "label": "English", + "filename": "localeFI.json" + } + ] + }, + "sitemapConfig": { + "baseUrl": "https://sampo-ui.demo.seco.cs.aalto.fi", + "langPrimary": "en", + "langSecondary": "fi", + "outputDir": "./src/server/sitemap_generator", + "sitemapUrl": "https://sampo-ui.demo.seco.cs.aalto.fi/sitemap", + "sitemapInstancePageQuery": "sitemapInstancePageQuery" + }, + "knowledgeGraphMetadataConfig": { + "showTable": false, + "perspective": "perspective1" + }, + "layoutConfig": { + "colorPalette": { + "primary": { + "main": "#212121" + }, + "secondary": { + "main": "#EB1806" + } + }, + "hundredPercentHeightBreakPoint": 900, + "reducedHeightBreakpoint": 1920, + "tabHeight": 58, + "paginationToolbarHeight": 37, + "tableFontSize": "0.8rem", + "topBar": { + "logoImage": "logos/logo.png", + "logoTextTransform": "none", + "hideLogoTextOnMobile": true, + "showLanguageButton": true, + "feedbackLink": "https://link.webropolsurveys.com/...", + "externalInstructions": false, + "externalAboutPage": false, + "reducedHeight": 48, + "defaultHeight": 64, + "mobileMenuBreakpoint": 1360, + "infoDropdown": [ + { + "id": "about", + "translatedText": "aboutThePortal", + "internalLink": "/about" + }, + { + "id": "blog", + "externalLink": true, + "translatedUrl": "blogUrl", + "translatedText": "blog" + } + ] + }, + "mainPage": { + "bannerImage": "main_page/mmm-banner.jpg", + "bannerBackround": "linear-gradient( rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45) ), url(