Skip to content

Commit 3dccdb7

Browse files
CVOC : Adding hidden metadata fields (Ontoportal integration) (#10503)
* Add hidden metadata fields for cvoc JS * adding release note * Accept review suggestion on documentation * CVOC: fix typo to have "data-cvoc-managedfields" on dataset page visualization * Add cvoc index to identity bloc metadata --------- Co-authored-by: Jérôme ROUCOU <jerome.roucou@inrae.fr>
1 parent 9c098f9 commit 3dccdb7

2 files changed

Lines changed: 30 additions & 6 deletions

File tree

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
## Release Highlights
2+
3+
### Updates on Support for External Vocabulary Services
4+
5+
#### Hidden HTML Fields
6+
7+
External Controlled Vocabulary scripts, configured via [:CVocConf](https://guides.dataverse.org/en/6.3/installation/config.html#cvocconf), can now access the values of managed fields as well as the term-uri-field for use in constructing the metadata view for a dataset.
8+
9+
Those values are hidden and can be found with the html attribute `data-cvoc-metadata-name`.
10+
11+
For more information, see [#10503](https://github.com/IQSS/dataverse/pull/10503).

src/main/webapp/metadataFragment.xhtml

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@
9090
<f:passThroughAttribute name="data-cvoc-service-url" value="#{cvocConf.get(dsf.datasetFieldType.id).getString('cvoc-url','')}" />
9191
<f:passThroughAttribute name="data-cvoc-headers" value="#{cvocConf.get(dsf.datasetFieldType.id).containsKey('headers') ? cvocConf.get(dsf.datasetFieldType.id).get('headers').toString() : '{}'}"/>
9292
<f:passThroughAttribute name="data-cvoc-protocol" value="#{cvocConf.get(dsf.datasetFieldType.id).getString('protocol','')}" />
93-
<f:passThroughAttribute name="data-cvoc-managedfields" value="#{cvocConf.get(dsf.datasetFieldType.id).get('managedfields').toString()}" />
93+
<f:passThroughAttribute name="data-cvoc-managedfields" value="#{cvocConf.get(dsf.datasetFieldType.id).get('managed-fields').toString()}" />
9494
</h:outputText>
9595
<h:outputText value="#{dsf.getDisplayValue(mdLangCode)}"
9696
rendered="#{!dsf.datasetFieldType.allowMultiples and !cvocOnDsf}"
@@ -103,7 +103,7 @@
103103
<f:passThroughAttribute name="data-cvoc-service-url" value="#{cvocConf.get(dsf.datasetFieldType.id).getString('cvoc-url','')}" />
104104
<f:passThroughAttribute name="data-cvoc-headers" value="#{cvocConf.get(dsf.datasetFieldType.id).containsKey('headers') ? cvocConf.get(dsf.datasetFieldType.id).get('headers').toString() : '{}'}"/>
105105
<f:passThroughAttribute name="data-cvoc-protocol" value="#{cvocConf.get(dsf.datasetFieldType.id).getString('protocol','')}" />
106-
<f:passThroughAttribute name="data-cvoc-managedfields" value="#{cvocConf.get(dsf.datasetFieldType.id).get('managedfields').toString()}" />
106+
<f:passThroughAttribute name="data-cvoc-managedfields" value="#{cvocConf.get(dsf.datasetFieldType.id).get('managed-fields').toString()}" />
107107
</h:outputText>
108108
</ui:repeat>
109109
<ui:repeat value="#{dsf.getValues(mdLangCode)}" var="value" varStatus="loop" rendered="#{dsf.datasetFieldType.allowMultiples and !cvocOnDsf}">
@@ -125,7 +125,7 @@
125125
</div>
126126
</ui:fragment>
127127

128-
<ui:repeat value="#{dsf.datasetFieldCompoundValues}" var="compoundValue" varStatus="compoundValuesstatus">
128+
<ui:repeat value="#{dsf.datasetFieldCompoundValues}" var="compoundValue" varStatus="compoundValuesStatus">
129129

130130
<ui:repeat value="#{compoundValue.displayValueMap.entrySet().toArray()}" var="cvPart" varStatus="partStatus">
131131
<c:set var="cvocOnCvPart" value="#{cvocConf.containsKey(cvPart.key.datasetFieldType.id)}"/>
@@ -151,7 +151,8 @@
151151
<f:passThroughAttribute name="data-cvoc-headers" value="#{cvocConf.get(cvPart.key.datasetFieldType.id).containsKey('headers') ? cvocConf.get(cvPart.key.datasetFieldType.id).get('headers').toString() : '{}'}"/>
152152
<f:passThroughAttribute name="data-cvoc-protocol" value="#{cvocConf.get(cvPart.key.datasetFieldType.id).getString('protocol','')}" />
153153
<!-- unlikely to be used in this case -->
154-
<f:passThroughAttribute name="data-cvoc-managedfields" value="#{cvocConf.get(cvPart.key.datasetFieldType.id).get('managedfields').toString()}" />
154+
<f:passThroughAttribute name="data-cvoc-managedfields" value="#{cvocConf.get(cvPart.key.datasetFieldType.id).get('managed-fields').toString()}" />
155+
<f:passThroughAttribute name="data-cvoc-index" value="#{compoundValuesStatus.index}" />
155156
</h:outputText>
156157
<!-- Cvoc on parent field -->
157158
<h:outputText value="#{cvPart.key.value}"
@@ -161,10 +162,22 @@
161162
<f:passThroughAttribute name="data-cvoc-service-url" value="#{cvocConf.get(dsf.datasetFieldType.id).getString('cvoc-url','')}" />
162163
<f:passThroughAttribute name="data-cvoc-headers" value="#{cvocConf.get(dsf.datasetFieldType.id).containsKey('headers') ? cvocConf.get(dsf.datasetFieldType.id).get('headers').toString() : '{}'}"/>
163164
<f:passThroughAttribute name="data-cvoc-protocol" value="#{cvocConf.get(dsf.datasetFieldType.id).getString('protocol','')}" />
164-
<f:passThroughAttribute name="data-cvoc-managedfields" value="#{cvocConf.get(dsf.datasetFieldType.id).get('managedfields').toString()}" />
165+
<f:passThroughAttribute name="data-cvoc-managedfields" value="#{cvocConf.get(dsf.datasetFieldType.id).get('managed-fields').toString()}" />
166+
<f:passThroughAttribute name="data-cvoc-index" value="#{compoundValuesStatus.index}" />
167+
</h:outputText>
168+
<!-- Cvoc for others fields -->
169+
<h:outputText value="#{cvPart.key.value}"
170+
escape="#{cvPart.key.datasetFieldType.isEscapeOutputText()}"
171+
rendered="#{(cvocOnDsf or cvocOnCvPart) and not (
172+
cvPart.key.datasetFieldType.name.equals(cvocConf.get(cvPart.key.datasetFieldType.id).getString('term-uri-field'))
173+
or cvPart.key.datasetFieldType.name.equals(cvocConf.get(dsf.datasetFieldType.id).getString('term-uri-field')))}"
174+
styleClass="hidden">
175+
<f:passThroughAttribute name="hidden" value="hidden" />
176+
<f:passThroughAttribute name="data-cvoc-metadata-name" value="#{cvPart.key.datasetFieldType.name}" />
177+
<f:passThroughAttribute name="data-cvoc-index" value="#{compoundValuesStatus.index}" />
165178
</h:outputText>
166179
</ui:repeat>
167-
<ui:fragment rendered="#{not compoundValuesstatus.last}">
180+
<ui:fragment rendered="#{not compoundValuesStatus.last}">
168181
<br/>
169182
</ui:fragment>
170183
</ui:repeat>

0 commit comments

Comments
 (0)