From affff399dae8914a17cb6139f8b452bd10c519bc Mon Sep 17 00:00:00 2001 From: Philipp Conzett Date: Wed, 4 Jan 2023 16:19:27 +0100 Subject: [PATCH 1/9] Make productionPlace multiple and facetable #9253 --- scripts/api/data/metadatablocks/citation.tsv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/api/data/metadatablocks/citation.tsv b/scripts/api/data/metadatablocks/citation.tsv index 1b1ff0ae819..bdcc6956f61 100644 --- a/scripts/api/data/metadatablocks/citation.tsv +++ b/scripts/api/data/metadatablocks/citation.tsv @@ -43,7 +43,7 @@ producerURL URL The URL of the producer's website https:// url 39 #VALUE FALSE FALSE FALSE FALSE FALSE FALSE producer citation producerLogoURL Logo URL The URL of the producer's logo https:// url 40
FALSE FALSE FALSE FALSE FALSE FALSE producer citation productionDate Production Date The date when the data were produced (not distributed, published, or archived) YYYY-MM-DD date 41 TRUE FALSE FALSE TRUE FALSE FALSE citation - productionPlace Production Location The location where the data and any related materials were produced or collected text 42 FALSE FALSE FALSE FALSE FALSE FALSE citation + productionPlace Production Location The location where the data and any related materials were produced or collected text 42 FALSE FALSE TRUE TRUE FALSE FALSE citation contributor Contributor The entity, such as a person or organization, responsible for collecting, managing, or otherwise contributing to the development of the Dataset none 43 : FALSE FALSE TRUE FALSE FALSE FALSE citation http://purl.org/dc/terms/contributor contributorType Type Indicates the type of contribution made to the dataset text 44 #VALUE TRUE TRUE FALSE TRUE FALSE FALSE contributor citation contributorName Name The name of the contributor, e.g. the person's name or the name of an organization 1) FamilyName, GivenName or 2) Organization text 45 #VALUE TRUE FALSE FALSE TRUE FALSE FALSE contributor citation From ff61a9a9600a390a87acbb99be62ec2ecbb9dacb Mon Sep 17 00:00:00 2001 From: Philipp Conzett Date: Thu, 5 Jan 2023 06:38:37 +0100 Subject: [PATCH 2/9] Added release notes for PR #9254 Please feel free not use these notes and just list the change under Complete List of Changes. --- doc/release-notes/9253-productionPlace.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 doc/release-notes/9253-productionPlace.md diff --git a/doc/release-notes/9253-productionPlace.md b/doc/release-notes/9253-productionPlace.md new file mode 100644 index 00000000000..d43ad04b398 --- /dev/null +++ b/doc/release-notes/9253-productionPlace.md @@ -0,0 +1,5 @@ +## Metadata field Production Place now repeatable and facetable +This enhancement allows depositors to define multiple instances of the metadata field Production Place in the Citation Metadata block. + +## Major Use Cases and Infrastructure Enhancements +* Data contained in a dataset may have been produced at multiple places. Making the field Production Place repeatable will make it possible to reflect this fact in the dataset metadata. Making the field facetable will allow us to customize Dataverse collections more appropriately. (Issue #9253, PR #9254) \ No newline at end of file From a2f5d12d428d9169e382509bce6148c1f2594625 Mon Sep 17 00:00:00 2001 From: Philip Durbin Date: Fri, 6 Jan 2023 12:29:56 -0500 Subject: [PATCH 3/9] make productionPlace multiple in schema.xml #9254 --- conf/solr/8.11.1/schema.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/solr/8.11.1/schema.xml b/conf/solr/8.11.1/schema.xml index 655cf1bc3cc..b89b28f3f41 100644 --- a/conf/solr/8.11.1/schema.xml +++ b/conf/solr/8.11.1/schema.xml @@ -350,7 +350,7 @@ - + From c2bc9e648a4d475d9d21e27e1cea73e4010e8930 Mon Sep 17 00:00:00 2001 From: Philipp Conzett Date: Wed, 1 Feb 2023 06:25:18 +0100 Subject: [PATCH 4/9] Update 9253-productionPlace.md Replace "Production Place" with "Production Location" --- doc/release-notes/9253-productionPlace.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/release-notes/9253-productionPlace.md b/doc/release-notes/9253-productionPlace.md index d43ad04b398..0972b129fff 100644 --- a/doc/release-notes/9253-productionPlace.md +++ b/doc/release-notes/9253-productionPlace.md @@ -1,5 +1,5 @@ -## Metadata field Production Place now repeatable and facetable -This enhancement allows depositors to define multiple instances of the metadata field Production Place in the Citation Metadata block. +## Metadata field Production Location now repeatable and facetable +This enhancement allows depositors to define multiple instances of the metadata field Production Location in the Citation Metadata block. ## Major Use Cases and Infrastructure Enhancements -* Data contained in a dataset may have been produced at multiple places. Making the field Production Place repeatable will make it possible to reflect this fact in the dataset metadata. Making the field facetable will allow us to customize Dataverse collections more appropriately. (Issue #9253, PR #9254) \ No newline at end of file +* Data contained in a dataset may have been produced at multiple places. Making the field Production Location repeatable will make it possible to reflect this fact in the dataset metadata. Making the field facetable will allow us to customize Dataverse collections more appropriately. (Issue #9253, PR #9254) From e7dfdafcdcb0412a85a0b9aad070237b3fd4ea15 Mon Sep 17 00:00:00 2001 From: Philipp Conzett Date: Thu, 2 Feb 2023 06:35:13 +0100 Subject: [PATCH 5/9] Update 9253-productionPlace.md --- doc/release-notes/9253-productionPlace.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/release-notes/9253-productionPlace.md b/doc/release-notes/9253-productionPlace.md index 0972b129fff..d41f15d94e1 100644 --- a/doc/release-notes/9253-productionPlace.md +++ b/doc/release-notes/9253-productionPlace.md @@ -1,5 +1,5 @@ -## Metadata field Production Location now repeatable and facetable -This enhancement allows depositors to define multiple instances of the metadata field Production Location in the Citation Metadata block. +## Metadata field Production Location now repeatable, facetable, and enabled for Advanced Search +This enhancement allows depositors to define multiple instances of the metadata field Production Location in the Citation Metadata block, users to filter search results using the filter facets, and using the field in the Advanced Search option. ## Major Use Cases and Infrastructure Enhancements -* Data contained in a dataset may have been produced at multiple places. Making the field Production Location repeatable will make it possible to reflect this fact in the dataset metadata. Making the field facetable will allow us to customize Dataverse collections more appropriately. (Issue #9253, PR #9254) +* Data contained in a dataset may have been produced at multiple places. Making the field Production Location repeatable will make it possible to reflect this fact in the dataset metadata. Making the field facetable and enabled for Advanced Search will allow us to customize Dataverse collections more appropriately. (Issue #9253, PR #9254) From c29956dcf5514aa40e9085a8bcb8fdb03097fc83 Mon Sep 17 00:00:00 2001 From: Philipp Conzett Date: Thu, 2 Feb 2023 06:38:55 +0100 Subject: [PATCH 6/9] Update citation.tsv --- scripts/api/data/metadatablocks/citation.tsv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/api/data/metadatablocks/citation.tsv b/scripts/api/data/metadatablocks/citation.tsv index bdcc6956f61..be32bb7134e 100644 --- a/scripts/api/data/metadatablocks/citation.tsv +++ b/scripts/api/data/metadatablocks/citation.tsv @@ -43,7 +43,7 @@ producerURL URL The URL of the producer's website https:// url 39 #VALUE FALSE FALSE FALSE FALSE FALSE FALSE producer citation producerLogoURL Logo URL The URL of the producer's logo https:// url 40
FALSE FALSE FALSE FALSE FALSE FALSE producer citation productionDate Production Date The date when the data were produced (not distributed, published, or archived) YYYY-MM-DD date 41 TRUE FALSE FALSE TRUE FALSE FALSE citation - productionPlace Production Location The location where the data and any related materials were produced or collected text 42 FALSE FALSE TRUE TRUE FALSE FALSE citation + productionPlace Production Location The location where the data and any related materials were produced or collected text 42 TRUE FALSE TRUE TRUE FALSE FALSE citation contributor Contributor The entity, such as a person or organization, responsible for collecting, managing, or otherwise contributing to the development of the Dataset none 43 : FALSE FALSE TRUE FALSE FALSE FALSE citation http://purl.org/dc/terms/contributor contributorType Type Indicates the type of contribution made to the dataset text 44 #VALUE TRUE TRUE FALSE TRUE FALSE FALSE contributor citation contributorName Name The name of the contributor, e.g. the person's name or the name of an organization 1) FamilyName, GivenName or 2) Organization text 45 #VALUE TRUE FALSE FALSE TRUE FALSE FALSE contributor citation From 24504f0c0e16a05905a8c6ef43d6a6c30b395a10 Mon Sep 17 00:00:00 2001 From: Stephen Kraffmiller Date: Tue, 7 Feb 2023 14:47:26 -0500 Subject: [PATCH 7/9] Allow multiple Production places (Locations) --- .../iq/dataverse/api/imports/ImportDDIServiceBean.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/api/imports/ImportDDIServiceBean.java b/src/main/java/edu/harvard/iq/dataverse/api/imports/ImportDDIServiceBean.java index a4e78b33a3c..d9433832309 100644 --- a/src/main/java/edu/harvard/iq/dataverse/api/imports/ImportDDIServiceBean.java +++ b/src/main/java/edu/harvard/iq/dataverse/api/imports/ImportDDIServiceBean.java @@ -1352,7 +1352,9 @@ private void processProdStmt(XMLStreamReader xmlr, MetadataBlockDTO citation) th } else if (xmlr.getLocalName().equals("prodDate")) { citation.getFields().add(FieldDTO.createPrimitiveFieldDTO("productionDate", parseDate(xmlr, "prodDate"))); } else if (xmlr.getLocalName().equals("prodPlac")) { - citation.getFields().add(FieldDTO.createPrimitiveFieldDTO("productionPlace", parseDate(xmlr, "prodPlac"))); + List prodPlac = new ArrayList<>(); + prodPlac.add(parseText(xmlr, "prodPlac")); + citation.getFields().add(FieldDTO.createMultiplePrimitiveFieldDTO(DatasetFieldConstant.productionPlace, prodPlac)); } else if (xmlr.getLocalName().equals("software")) { HashSet set = new HashSet<>(); addToSet(set,"softwareVersion", xmlr.getAttributeValue(null, "version")); From 5b8e81ed9e3320b2e7be52ebe05a3a5193f3f85c Mon Sep 17 00:00:00 2001 From: Stephen Kraffmiller Date: Wed, 8 Feb 2023 10:39:04 -0500 Subject: [PATCH 8/9] #9253 add upgrade/release process notes --- doc/release-notes/9253-productionPlace.md | 37 +++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/doc/release-notes/9253-productionPlace.md b/doc/release-notes/9253-productionPlace.md index d41f15d94e1..644b6fae2fb 100644 --- a/doc/release-notes/9253-productionPlace.md +++ b/doc/release-notes/9253-productionPlace.md @@ -3,3 +3,40 @@ This enhancement allows depositors to define multiple instances of the metadata ## Major Use Cases and Infrastructure Enhancements * Data contained in a dataset may have been produced at multiple places. Making the field Production Location repeatable will make it possible to reflect this fact in the dataset metadata. Making the field facetable and enabled for Advanced Search will allow us to customize Dataverse collections more appropriately. (Issue #9253, PR #9254) + +### Additional Upgrade Steps + +Update the Citation metadata block: + +- `wget https://github.com/IQSS/dataverse/releases/download/v5.13/citation.tsv` +- `curl http://localhost:8080/api/admin/datasetfield/load -X POST --data-binary @citation.tsv -H "Content-type: text/tab-separated-values"` + +## Additional Release Steps + +1\. Replace Solr schema.xml to allow multiple production locations to be used. See specific instructions below for those installations without custom metadata blocks (1a) and those with custom metadata blocks (1b). + +1a\. + +For installations without Custom Metadata Blocks: + +-stop solr instance (usually service solr stop, depending on solr installation/OS, see the [Installation Guide](https://guides.dataverse.org/en/5.13/installation/prerequisites.html#solr-init-script) + +-replace schema.xml + +cp /tmp/dvinstall/schema.xml /usr/local/solr/solr-8.11.1/server/solr/collection1/conf + +-start solr instance (usually service solr start, depending on solr/OS) + + +1b\. + +For installations with Custom Metadata Blocks: + +-stop solr instance (usually service solr stop, depending on solr installation/OS, see the [Installation Guide](https://guides.dataverse.org/en/5.13/installation/prerequisites.html#solr-init-script) + +- edit the following line to your schema.xml (to indicate that productionPlace is now multiValued='true"): + + `` + +- restart solr instance (usually service solr start, depending on solr/OS) + From 0978dbd6ebfc9adb4eb271172e1ef32be66db530 Mon Sep 17 00:00:00 2001 From: Stephen Kraffmiller Date: Wed, 8 Feb 2023 13:32:22 -0500 Subject: [PATCH 9/9] #9253 update test import xml --- doc/sphinx-guides/source/_static/api/ddi_dataset.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/sphinx-guides/source/_static/api/ddi_dataset.xml b/doc/sphinx-guides/source/_static/api/ddi_dataset.xml index 014ebb8c581..679f82a3d8a 100644 --- a/doc/sphinx-guides/source/_static/api/ddi_dataset.xml +++ b/doc/sphinx-guides/source/_static/api/ddi_dataset.xml @@ -34,7 +34,8 @@ LastProducer1, FirstProducer1 LastProducer2, FirstProducer2 1003-01-01 - ProductionPlace + ProductionPlace One + ProductionPlace Two SoftwareName1 SoftwareName2 GrantInformationGrantNumber1