03 August 2021

1. Issue List

Issue Description

TVC-6599

Improvements to Federated Search Integration

Integration with Federated Search was introduced in the last release. In later Enovia or 3DExperience versions, Exalead CloudView search is accessed via a separate component known as Federated Search. 3DSpace and 3DDashboard call Federated Search API from the client to search and retrieve search results.

TVC New Search Experience can directly call Federated Search client API for search and getting 6W tags. These 6W tags are then added to the search form for the further filtering search result. As a standard implementation, TVC Search allows integrating or loading search results to structure browser flat table.

Following improvements are done on this release:

2.1.1. Search and facet counts on load

Performing search and showing results might be helpful when searchform is designed to query with fixed search criteria. For example, searching for In Work parts in a given project context. In such cases, search form can be configured to search on load. This can be enabled via setting SearchOnLoad.

<Search>
    <Limit>50</Limit>
    <SearchOnCriteriaUpdate>true</SearchOnCriteriaUpdate>
    <SearchOnLoad>true</SearchOnLoad>
    <OpenOnLoad>true</OpenOnLoad>
    ....
</Search>

Sometimes it might be needed to just fetch the facet counts on the load of the search form. This can be useful when preconfigured search criteria are wide enough to return many records and further filtration is desired. This can be enabled via secondary setting getFacetCountsOnLoad, which can be added as below:

<Search>
    <Limit>50</Limit>
    <SearchOnCriteriaUpdate>true</SearchOnCriteriaUpdate>
    <SearchOnLoad>true</SearchOnLoad>
    <OpenOnLoad>true</OpenOnLoad>
    <Settings>
		<Setting name="getFacetCountsOnLoad" value="false" />
	</Settings>
    ....
</Search>
When search on load is used, the search form must have default criteria selected, or else the search will fail.

2.1.2. Global property for search URL

Search URL can also be specified in global TVC init param or property in tvc.properties.

Even when global property is set, search config must explicitly set externalSearchURL to true.

<Search provider="enovia">
    <Limit>120</Limit>
    <SearchOnCriteriaUpdate>true</SearchOnCriteriaUpdate>
    <SearchOnLoad>false</SearchOnLoad>
    <OpenOnLoad>true</OpenOnLoad>
    <SearchForm ref="tvc:searchformv2:poc:mw:ups/SearchV2Form.xml" />
    <DataFields>
        <DataField>type</DataField>
    </DataFields>
    <Settings>
		<Setting name="externalSearchURL" value="true" />
		<Setting name="applyCriteriaWithoutField" value="true" />
    </Settings>
</Search>

2.1.3. From and to query params

queryParam can be configured to define how search criteria should be added for a given preconfigured searchform field. For example if type is used as preconfigured field, it can be added to search criteria as <Setting name="queryParam" value='flattenedtaxonomies:"types/%q"'/>. However, queryParam will from support from and to fields like date range. Now, this can be configured via two separate query params queryParamFromValue and queryParamToValue.

<Settings>
	<Setting name="retainOnSearchForm" value='true'/>
	<Setting name="queryParamFromValue" value='[ds6w:modified]&gt;="%q"'/>
	<Setting name="queryParamToValue" value='[ds6w:modified]&lt;="%q"'/>
</Settings>

Read Integration with Federated Search chapter with more details.

2.2. Search field localization

Searchform fields support localization using TVC string resources. However, it might be desired to use OOTB Enovia central properties for localization to avoid duplicate string resources. This can now to achieved using Label and RegisteredSuite tags.

<Field id="uom" sectionId="attributes">
	<Label>emxEngineeringCentral.Label.UnitOfMeasure</Label>
	<RegisteredSuite>EngineeringCentral</RegisteredSuite>
	...

</Field>