From aa3f9435314af36c6057145b32acc7d45f0442b2 Mon Sep 17 00:00:00 2001 From: Vera Clemens Date: Mon, 10 Mar 2025 14:55:04 +0100 Subject: [PATCH 1/4] feat: add "string" type for metadata fields --- .../java/edu/harvard/iq/dataverse/DatasetFieldType.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/edu/harvard/iq/dataverse/DatasetFieldType.java b/src/main/java/edu/harvard/iq/dataverse/DatasetFieldType.java index 16adf8e36bc..bef9faea744 100644 --- a/src/main/java/edu/harvard/iq/dataverse/DatasetFieldType.java +++ b/src/main/java/edu/harvard/iq/dataverse/DatasetFieldType.java @@ -36,8 +36,8 @@ public class DatasetFieldType implements Serializable, Comparable Date: Mon, 10 Mar 2025 15:24:06 +0100 Subject: [PATCH 2/4] feat: show input field for metadata fields of type "string" --- src/main/webapp/datasetFieldForEditFragment.xhtml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/webapp/datasetFieldForEditFragment.xhtml b/src/main/webapp/datasetFieldForEditFragment.xhtml index d8c005366cb..d09a247c7a8 100644 --- a/src/main/webapp/datasetFieldForEditFragment.xhtml +++ b/src/main/webapp/datasetFieldForEditFragment.xhtml @@ -15,6 +15,7 @@ styleClass="form-control #{dsfv.datasetField.datasetFieldType.name == 'title' and DatasetPage.editMode == 'CREATE' ? 'datasetfield-title' : ''}" rendered="#{!dsfv.datasetField.datasetFieldType.controlledVocabulary and (dsfv.datasetField.datasetFieldType.fieldType == 'TEXT' + or dsfv.datasetField.datasetFieldType.fieldType == 'STRING' or dsfv.datasetField.datasetFieldType.fieldType == 'INT' or dsfv.datasetField.datasetFieldType.fieldType == 'FLOAT' or dsfv.datasetField.datasetFieldType.fieldType == 'URL' @@ -32,6 +33,7 @@ styleClass="form-control #{dsfv.datasetField.datasetFieldType.name == 'title' and DatasetPage.editMode == 'CREATE' ? 'datasetfield-title' : ''}" rendered="#{!dsfv.datasetField.datasetFieldType.controlledVocabulary and (dsfv.datasetField.datasetFieldType.fieldType == 'TEXT' + or dsfv.datasetField.datasetFieldType.fieldType == 'STRING' or dsfv.datasetField.datasetFieldType.fieldType == 'INT' or dsfv.datasetField.datasetFieldType.fieldType == 'FLOAT' or dsfv.datasetField.datasetFieldType.fieldType == 'URL' @@ -56,6 +58,7 @@ styleClass="form-control #{dsfv.datasetField.datasetFieldType.name == 'title' and DatasetPage.editMode == 'CREATE' ? 'datasetfield-title' : ''}" rendered="#{!dsfv.datasetField.datasetFieldType.controlledVocabulary and (dsfv.datasetField.datasetFieldType.fieldType == 'TEXT' + or dsfv.datasetField.datasetFieldType.fieldType == 'STRING' or dsfv.datasetField.datasetFieldType.fieldType == 'INT' or dsfv.datasetField.datasetFieldType.fieldType == 'FLOAT' or dsfv.datasetField.datasetFieldType.fieldType == 'URL' From ea7ca512bbeceff757b7fc42c63a7e4334bd0d1a Mon Sep 17 00:00:00 2001 From: Vera Clemens Date: Mon, 10 Mar 2025 15:34:46 +0100 Subject: [PATCH 3/4] docs: add "string" type to metadata customization docs --- doc/sphinx-guides/source/admin/metadatacustomization.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/sphinx-guides/source/admin/metadatacustomization.rst b/doc/sphinx-guides/source/admin/metadatacustomization.rst index df07b65153b..2285cc7df81 100644 --- a/doc/sphinx-guides/source/admin/metadatacustomization.rst +++ b/doc/sphinx-guides/source/admin/metadatacustomization.rst @@ -144,6 +144,7 @@ Each of the three main sections own sets of properties: | | | | \• email | | | | | \• text | | | | | \• textbox | +| | | | \• string | | | | | \• url | | | | | \• int | | | | | \• float | @@ -315,6 +316,12 @@ FieldType definitions | | section of the Dataset + File | | | Management page in the User Guide. | +---------------+------------------------------------+ +| string | Any text may be entered into this | +| | field. The value is stored and | +| | indexed exactly as provided, | +| | without any text analysis or | +| | transformations. | ++---------------+------------------------------------+ | url | If not empty, field must contain | | | a valid URL. | +---------------+------------------------------------+ From 5df53df17b74610bcea3a44b1d1a5671455c0ac5 Mon Sep 17 00:00:00 2001 From: Vera Clemens Date: Mon, 10 Mar 2025 15:34:58 +0100 Subject: [PATCH 4/4] docs: add release note for "string" metadata field type --- doc/release-notes/11147-string-field-type.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 doc/release-notes/11147-string-field-type.md diff --git a/doc/release-notes/11147-string-field-type.md b/doc/release-notes/11147-string-field-type.md new file mode 100644 index 00000000000..4ce0fffa231 --- /dev/null +++ b/doc/release-notes/11147-string-field-type.md @@ -0,0 +1,5 @@ +The "string" type has been added as a new field type for metadata fields. + +In contrast to "text" fields, "string" fields are stored and indexed exactly as provided, without any text analysis or transformations. + +This field type is suitable for fields like IDs (e.g. ORCIDs) or enums, where exact matches are required when searching. \ No newline at end of file