This Confluence wiki site, maintained by DuraSpace prior to the recent merger with LYRASIS, will transition from the duraspace.org domain to the lyrasis.org domain on Saturday, Nov 16 beginning at approximately 7pm ET. A period of downtime of 2-3 hours is expected. After the transition, this wiki will be available at https://wiki.lyrasis.org/. All links to duraspace.org wiki pages will be redirected to the correct lyrasis.org URL. If you have questions prior to or following the transition please contact: wikihelp@lyrasis.org.
Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: add details about the list layouts

...

The indexes proposed for the advanced search are instead derived by the discovery configuration associated with the entity type alias (publications, researcherprofiles, etc.)

 

 

Defining a list layout

The Global search and the previous defined processor (TopObjects, etc.) used in the section explore and in the home page refer to a "viewConfiguration" that is usually defined in the config/spring/api/global-list-layout.xml file

The file contains one or more bean definitions for the class org.dspace.discovery.configuration.DiscoveryViewConfiguration

Code Block
languagexml
<bean id="dspaceitemsLayoutView"
		class="org.dspace.discovery.configuration.DiscoveryViewConfiguration">
		<property name="metadataHeadingFields">
			<list>
				<bean
					class="org.dspace.discovery.configuration.DiscoveryViewFieldConfiguration">
					<property name="mandatory" value="true" />
					<property name="preHtml" value="<b>" />
					<property name="postHtml" value="</b>" />
					<property name="field" value="dc.title" />
					<property name="decorator" value="title" />
				</bean>
				<bean
					class="org.dspace.discovery.configuration.DiscoveryViewFieldConfiguration">
					<property name="mandatory" value="true" />
					<property name="preHtml" value="<span class='text-muted'>" />
					<property name="postHtml" value="</span><br/>" />
					<property name="field" value="dc.contributor.author" />
					<property name="decorator" value="itemcrisref" />
				</bean>
				<bean
					class="org.dspace.discovery.configuration.DiscoveryViewFieldConfiguration">
					<property name="mandatory" value="true" />
					<property name="postHtml" value="<br/>" />
					<property name="field" value="dc.identifier.citation" />
				</bean>
				<bean
					class="org.dspace.discovery.configuration.DiscoveryViewFieldConfiguration">
					<property name="mandatory" value="true" />
					<property name="preHtml" value="<small>" />
					<property name="postHtml" value="</small>" />
					<property name="field" value="dc.type" />
				</bean>
			</list>
		</property>
		<property name="metadataDescriptionFields">
			<list>
				<bean
					class="org.dspace.discovery.configuration.DiscoveryViewFieldConfiguration">
					<property name="field" value="dc.subject" />
					<property name="postHtml" value="<br />" />
				</bean>
				<bean
					class="org.dspace.discovery.configuration.DiscoveryViewFieldConfiguration">
					<property name="field" value="dc.description.abstract" />
					<property name="postHtml" value="<br />" />
				</bean>
			</list>
		</property>
	</bean>


The bean has two properties

  • metadataHeadingFields: defines which metadata are included as heading of each result
  • metadataDescriptionFields: defines which metadata are listed in a key - value layout under each result

both properties accept a list of DiscoveryViewFieldConfiguration beans with the following properties

  • mandatory: default false, if true the information will be always displayed. Otherwise it is only displayed if the field match the user query, in such case a snippet of the content is presented
  • preHtml and postHtml: any additional html code to include before and after the value. Please note that empty values will be always skipped
  • field: the metadata to use
  • decorator: an optional reference to a org.dspace.app.webui.util.IDisplayMetadataValueStrategy  plugin defined in the dspace.cfg (the plugin name must be used, i.e. itemcrisref, doi, etc.)