From a23fe0761e7187c869d1aadee4fa37f0ebfd53f6 Mon Sep 17 00:00:00 2001 From: Milan Kuchtiak Date: Thu, 16 Oct 2025 11:07:24 +0200 Subject: [PATCH 1/3] Issue 1125: add new property local.description.usemarkdown --- .../V7.6_2025.10.15__Description_UseMarkdown.sql | 16 ++++++++++++++++ .../V7.6_2025.10.15__Description_UseMarkdown.sql | 16 ++++++++++++++++ .../org/dspace/content/LocalMetadataTest.java | 9 +++++++++ dspace/config/registries/local-types.xml | 11 +++++++++-- 4 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 dspace-api/src/main/resources/org/dspace/storage/rdbms/sqlmigration/h2/V7.6_2025.10.15__Description_UseMarkdown.sql create mode 100644 dspace-api/src/main/resources/org/dspace/storage/rdbms/sqlmigration/postgres/V7.6_2025.10.15__Description_UseMarkdown.sql diff --git a/dspace-api/src/main/resources/org/dspace/storage/rdbms/sqlmigration/h2/V7.6_2025.10.15__Description_UseMarkdown.sql b/dspace-api/src/main/resources/org/dspace/storage/rdbms/sqlmigration/h2/V7.6_2025.10.15__Description_UseMarkdown.sql new file mode 100644 index 000000000000..89a7be41c8b6 --- /dev/null +++ b/dspace-api/src/main/resources/org/dspace/storage/rdbms/sqlmigration/h2/V7.6_2025.10.15__Description_UseMarkdown.sql @@ -0,0 +1,16 @@ +-- +-- The contents of this file are subject to the license and copyright +-- detailed in the LICENSE and NOTICE files at the root of the source +-- tree and available online at +-- +-- http://www.dspace.org/license/ +-- + +----------------------------------------------------------------------------------- +-- INSERT new local.description.usemarkdown metadata property (if not exists already) +----------------------------------------------------------------------------------- +INSERT INTO metadatafieldregistry (metadata_field_id, metadata_schema_id, element, qualifier, scope_note) +SELECT nextval('metadatafieldregistry_seq'), msr.metadata_schema_id, 'description', 'usemarkdown', + 'true when dc.description metadata value should be rendered as Markdown formatted text' +FROM metadataschemaregistry msr WHERE msr.short_id='local' + AND NOT EXISTS (SELECT 1 from metadatafieldregistry mfr WHERE mfr.element='description' AND mfr.qualifier='usemarkdown'); diff --git a/dspace-api/src/main/resources/org/dspace/storage/rdbms/sqlmigration/postgres/V7.6_2025.10.15__Description_UseMarkdown.sql b/dspace-api/src/main/resources/org/dspace/storage/rdbms/sqlmigration/postgres/V7.6_2025.10.15__Description_UseMarkdown.sql new file mode 100644 index 000000000000..89a7be41c8b6 --- /dev/null +++ b/dspace-api/src/main/resources/org/dspace/storage/rdbms/sqlmigration/postgres/V7.6_2025.10.15__Description_UseMarkdown.sql @@ -0,0 +1,16 @@ +-- +-- The contents of this file are subject to the license and copyright +-- detailed in the LICENSE and NOTICE files at the root of the source +-- tree and available online at +-- +-- http://www.dspace.org/license/ +-- + +----------------------------------------------------------------------------------- +-- INSERT new local.description.usemarkdown metadata property (if not exists already) +----------------------------------------------------------------------------------- +INSERT INTO metadatafieldregistry (metadata_field_id, metadata_schema_id, element, qualifier, scope_note) +SELECT nextval('metadatafieldregistry_seq'), msr.metadata_schema_id, 'description', 'usemarkdown', + 'true when dc.description metadata value should be rendered as Markdown formatted text' +FROM metadataschemaregistry msr WHERE msr.short_id='local' + AND NOT EXISTS (SELECT 1 from metadatafieldregistry mfr WHERE mfr.element='description' AND mfr.qualifier='usemarkdown'); diff --git a/dspace-api/src/test/java/org/dspace/content/LocalMetadataTest.java b/dspace-api/src/test/java/org/dspace/content/LocalMetadataTest.java index 51d543c90074..a9c0cd719a73 100644 --- a/dspace-api/src/test/java/org/dspace/content/LocalMetadataTest.java +++ b/dspace-api/src/test/java/org/dspace/content/LocalMetadataTest.java @@ -95,4 +95,13 @@ public void existsHidden() throws Exception { MetadataField field = metadataFieldService.findByString(context, "local.hidden", '.'); assertThat("existsHidden 0", field, notNullValue()); } + + /** + * Test if `local.description.usemarkdown` exists + */ + @Test + public void existsDescriptionUseMarkdown() throws Exception { + MetadataField field = metadataFieldService.findByString(context, "local.description.usemarkdown", '.'); + assertThat(field, notNullValue()); + } } diff --git a/dspace/config/registries/local-types.xml b/dspace/config/registries/local-types.xml index e05977c5cd26..46557cb72ea5 100644 --- a/dspace/config/registries/local-types.xml +++ b/dspace/config/registries/local-types.xml @@ -5,7 +5,7 @@ - An empty registry for instance-specific, local metadata. Any non-standard - metadata fields should be added here to avoid polluting the standard - namespaces. - - + - --> @@ -41,7 +41,7 @@ hasCMDI Indicates uploaded cmdi file - + local contact @@ -159,4 +159,11 @@ Count of files in the item + + local + description + usemarkdown + true when dc.description metadata value should be rendered as Markdown formatted text + + From 69a8d124ca756bd711ab1e946d9528342773a591 Mon Sep 17 00:00:00 2001 From: Milan Kuchtiak Date: Thu, 16 Oct 2025 11:20:12 +0200 Subject: [PATCH 2/3] update SQL command description --- .../h2/V7.6_2025.10.15__Description_UseMarkdown.sql | 2 +- .../postgres/V7.6_2025.10.15__Description_UseMarkdown.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dspace-api/src/main/resources/org/dspace/storage/rdbms/sqlmigration/h2/V7.6_2025.10.15__Description_UseMarkdown.sql b/dspace-api/src/main/resources/org/dspace/storage/rdbms/sqlmigration/h2/V7.6_2025.10.15__Description_UseMarkdown.sql index 89a7be41c8b6..a3c300c69a9f 100644 --- a/dspace-api/src/main/resources/org/dspace/storage/rdbms/sqlmigration/h2/V7.6_2025.10.15__Description_UseMarkdown.sql +++ b/dspace-api/src/main/resources/org/dspace/storage/rdbms/sqlmigration/h2/V7.6_2025.10.15__Description_UseMarkdown.sql @@ -7,7 +7,7 @@ -- ----------------------------------------------------------------------------------- --- INSERT new local.description.usemarkdown metadata property (if not exists already) +-- create new local.description.usemarkdown metadata property (if not exist) ----------------------------------------------------------------------------------- INSERT INTO metadatafieldregistry (metadata_field_id, metadata_schema_id, element, qualifier, scope_note) SELECT nextval('metadatafieldregistry_seq'), msr.metadata_schema_id, 'description', 'usemarkdown', diff --git a/dspace-api/src/main/resources/org/dspace/storage/rdbms/sqlmigration/postgres/V7.6_2025.10.15__Description_UseMarkdown.sql b/dspace-api/src/main/resources/org/dspace/storage/rdbms/sqlmigration/postgres/V7.6_2025.10.15__Description_UseMarkdown.sql index 89a7be41c8b6..a3c300c69a9f 100644 --- a/dspace-api/src/main/resources/org/dspace/storage/rdbms/sqlmigration/postgres/V7.6_2025.10.15__Description_UseMarkdown.sql +++ b/dspace-api/src/main/resources/org/dspace/storage/rdbms/sqlmigration/postgres/V7.6_2025.10.15__Description_UseMarkdown.sql @@ -7,7 +7,7 @@ -- ----------------------------------------------------------------------------------- --- INSERT new local.description.usemarkdown metadata property (if not exists already) +-- create new local.description.usemarkdown metadata property (if not exist) ----------------------------------------------------------------------------------- INSERT INTO metadatafieldregistry (metadata_field_id, metadata_schema_id, element, qualifier, scope_note) SELECT nextval('metadatafieldregistry_seq'), msr.metadata_schema_id, 'description', 'usemarkdown', From 0510ab391b34f8983ad840cf175f79e1fc4cfecd Mon Sep 17 00:00:00 2001 From: Milan Kuchtiak Date: Mon, 20 Oct 2025 14:12:22 +0200 Subject: [PATCH 3/3] add 'Use Markdown format' checkbox to submission form --- dspace/config/submission-forms.xml | 20 +++++++++++++++++++- dspace/config/submission-forms_cs.xml | 20 +++++++++++++++++++- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/dspace/config/submission-forms.xml b/dspace/config/submission-forms.xml index db4cf1fa9ef2..3a1d97a7889d 100644 --- a/dspace/config/submission-forms.xml +++ b/dspace/config/submission-forms.xml @@ -239,10 +239,21 @@ false textarea - Enter a description of the submitted data. + Enter a description of the submitted data. Also, the Markdown format can be used to format text in the description (see: https://www.markdownguide.org/). Please give us a description + + + local + description + usemarkdown + true + + list + + + dc @@ -3211,6 +3222,13 @@ + + + Yes + yes + + +