Prior to this version, hierarchical Metadata in VidiCore could only be mapped in a flattened manner to MediaPortal index. Now it is also possible to map hierarchical metadata in a corresponding hierarchy in the MediaPortal index. If needed, the data can still be flattened.

Behavior

In the metadata configuration of ConfigPortal, you can create hierarchical metadata structures with several layers.
For example, you can create a metadata group for reflecting an address containing another metadata group "Name" containing both the given name and surname, e.g. like follows:



You can now map metadata structures in a corresponding hierarchy to the MediaPortal search index.
Under ConfigPortal's "MediaPortal" section, you can define search index mappings for the different kind of assets, like video, image, audio. It is also here where one can map global asset metadata, which are not part of a group hierarchy directly to the "root" of MediaPortal index. Additionally, you can map grouped metadata to the index.
As shown in the example below, global metadata like "description", "city", "country" are already mapped.



It is important to note that both, "city" and "country" are mapped as part of the parent group "Address". Grouped metadata will always be shown in an extra section in the mapped metadata view. In the example above, "GivenName" and "Surname" of the sub-group "Name" are also added to the search index. The result is expressed as shown below.




"Given name" and "Surname" are added as an extra section. If you open e.g. the "GivenName" by selecting the three dots "…", you will get a popup for further specifications as shown in the screenshot.
This popup has known options such "Is List of Values" and Namespace. The behavior of these options has not been changed.
You will see that, by default, the hierarchy of the metadata is reflected by the periods in between the metadata group and field names, "Address.Name.GivenName" in the example. If you do not change this default, the same hierarchy will be mapped to the MediaPortal search index. In the example, it will be mapped to default namespace "custom" as single value.
The result of above mapping will appear as follows in the MediaPortal search index, if the hierarchy and values are set accordingly on the asset in VidiCore:

Mapping Result in MediaPortal Search Index

"custom" : {
"City" : "Kuala Lumpur",
"Country" : "Malaysia",
"category" : "Technology",
"Description" : "First Item Description",
"keywords" : "Integration, Release, erm",
"mediastate" : "Ingested",
"Address" : [
{
"Streetname" : "Neusser Str.",
"Housenumber" : "12",
"Country" : "Germany",
"City" : "Cologne",
"Name" : [
{
"GivenName" : "John",
"Surname" : "Smith"
}
}


You can even change the hierarchy that will mapped to the MediaPortal index by removing one or more dots and editing the names in the mapping.
Based on the previous example, if you change the mapping in the example above from "Address.Name.Surname" to "Address.Surname", the result will be expressed as follows.

Example

"Address" : [
{
"Streetname" : "Neusser Str.",
"Housenumber" : "12",
"Country" : "Germany",
"City" : "Cologne",
"Surname" : "Smith"

"Name" : [
{
"GivenName" : "John",
}
}


In this manner, one is able to flatten the hierarchy in the mapping or even change the name of the section to which the metadata will be mapped. Hierarchical mapping is also supported on a segment level.