MetadataExtensions.cfg

Previous Next  Print this Topic

Create a MetadataExtensions.cfg

Create a MetadataExtensions.cfg using any text editor, such as Notepad, Text Edit, WordPad. Be sure to create a Text Document (.txt) and not a Rich Text Format (.rtf).
MetadataExtensions.cfg is a block structured text file.
Once created, add it to the path: <install-dir>\Config.

At the end of this section, find a sample MetadataExtensions.cfg. You can implement the file as is (at the path noted above) to see how it works or modify the file to meet your own criteria and then implement it.

The Metadata tab appears in Data Service Policies, and Surveillance Video Manager only if these applications find a MetadataExtensions.cfg file in <install-dir>\Config.

Metadata Extension Block Structure

The metadata extension block structure includes three blocks (IngestMdExt, ModMdExt, SearchMdExt, and DataServicesMdExt). Each comprised of one or more Query blocks.

Query block statements describe the controls to appear on the application. These can include any number of string fields, checkboxes, spin controls, path name boxes, and choice controls. Each block can have any number of Query blocks. It's best to ensure that the IngestMdExt block and SearchMdExt contain the same Query blocks since only ingested metadata is searched. However, the Query blocks contained in SearchMdExt can be limited to a subset of those in IngestMdExt. In this case, you would be able to search on the Query blocks listed in SearchMdExt.

Pay attention to brackets [ ]; for IngestMdExt, ModMdExt, SearchMdExt, and DataServicesMdExt, there needs to be an opening bracket after "<Extension>" and a closing bracket after its last Query block.

If a Query block contains an error, the entire metadata extension block (IngestMdExt, SearchMdExt, ...) is ignored.

In the following example, note that tokens cannot be used in Query blocks indiscriminately. Each Query block supports only specific tokens. See Valid Token/Values for Query Blocks below for details.

#  This identifies the beginning of the block.

<block identifier>

 

# This is the opening brace for the block.

[

 

 Query

 [

         <token>=<value>

         <token>=<value>

         <token>=<value>

         <token>=<value>

         <token>=<value>

         <token>=<value>

 ]

 

 Query

 [

         <token>=<value>

         <token>=<value>

         <token>=<value>

         <token>=<value>

         <token>=<value>

         <token>=<value>

 ]

]

# This is the closing brace for the block.

 

Blocks

The following are the blocks used in MetadataExtensions.cfg:

Block Identifier

Description

IngestMdExt

The beginning of the metadata extensions block for Phoenix RSM ingesting and capturing applications. May not contain a SearchMdExt block, ModMdExt block, or DataServicesMdExt block.

Required.

ModMdExt

The beginning of the "edit metadata" metadata extension block for Phoenix RSM search and retrieve applications. May not contain an IngestMdExt block, SearchMdExt block, or DataServicesMdExt block.

Required.

SearchMdExt

The beginning of the metadata extensions block for Phoenix RSM search and retrieve applications. It may not contain an IngestMdExt block, ModMdExt block, or DataServicesMdExt.

Required.

DataServicesMdExt

The beginning of the metadata extensions block for Phoenix RSM Data Service Policies. It may not contain an IngestMdExt block, ModMdExt block, or SearchMdExt block.

Required.

Query

The beginning of a Query block contained within a metadata extensions block.

Required.

As illustrated in the examples below, Query blocks must be contained within metadata extension blocks (SearchMdExt and IngestMdExt).

Valid Token/Values for Query Blocks

The tokens in the table below can be used only in Query blocks. Although the IngestMdExt, ModMdExt, SearchMdExt, and DataServicesMdExt blocks use the same types of Query blocks, each must have its own individual Query blocks.

It is best to avoid using characters that Phoenix RSM interprets as wildcards or as otherwise special. If you need to use one of these characters, then the character must be preceded by an escape character ( \ ).
 
For example, \*This is an example using escape characters in a statement with a wildcard\*.
 
The following are wildcards and special characters: ?, *, #, !, ~, ^, &, [ ], { }, \, ". For more information see Wildcards.

Query block Type

Valid Token/Values

Description

Checkbox

Name = "<character string>"

The metadata item's name.

Required

Default = ""

Type = Checkbox

The Query type.

Label = "<character string>"

The label for the control as it will appear in the application.

Default = ""

DefaultValue = <boolean>

The value to load into the control by default.

Valid values = true | false

Defaults = true (checked)

Description = "<character string>"

The tooltip for the control.

Default = ""

Choice

Name = "<character string>"

The metadata item's name.

Required

Default = ""

Type = Choice

The Query type.

Label = "<character string>"

The label for the control as it will appear in the application.

Default = ""

DefaultValue = <number>

The value to load into the control by default.

Valid values = the number of the entry in the drop-down list

Default = the first choice listed.

If the DefaultValue for a Choice block is greater than the number of Choices entered, the entire MetadataExtensions block is ignored.

BlankValueOk = <boolean>

Indicate if the value is left blank. Valid for String, Pathname, Date, and Choice only. A red asterisk will be displayed if this value is set to false.

Valid values = true | false

Default = true

Description = "<character string>"

The tooltip for the control.

Default = ""

Choice = "<character string>"

A choice statement that can be selected. Must have at least one choice. Can be reused as many times as needed to create multiple choices to choose from.

EditableChoice = <boolean>

Allow the user to edit a choice option.

Valid values = true | false

Default = false

Date

Name = "<character string>"

The metadata item's name.

Required

Default = ""

Type = Date

The Query type.

Label = "<character string>"

The label for the control as it will appear in the application.

Default = ""

DefaultValue = "<character string>"

The value to load into the control by default.

Valid value = "" | "today" to insert today's date | "yyyy/mm/dd" for a chosen date

Default = ""

BlankValueOk = <boolean>

Indicate if the value is left blank. Valid for String, Pathname, Date, and Choice only. A red asterisk will be displayed if this value is set to false.

Valid values = true | false

Default = true

Description = "<character string>"

The tooltip for the control.

Default = ""

Pathname

Name = "<character string>"

The metadata item's name.

Required

Default = ""

Type = Pathname

The Query type.

Label = "<character string>"

The label for the control as it will appear in the application.

Default = ""

DefaultValue = "<character string>"

The value to load into the control by default.

Valid value = a string

Default = ""

BlankValueOk = <boolean>

Indicate if the value is left blank. Valid for String, Pathname, Date, and Choice only. A red asterisk will be displayed if this value is set to false.

Valid values = true | false

Default = true

Description = "<character string>"

The tooltip for the control.

Default = ""

Spin

Name = "<character string>"

The metadata item's name.

Required

Default = ""

Type = Spin

The Query type.

Label = "<character string>"

The label for the control as it will appear in the application.

Default = ""

DefaultValue = <number>

The value to load into the control by default.

Valid values = a number between the LowerLimit and UpperLimit

Default = the lower limit

If the DefaultValue for a Spin block is not between the LowerLimit and UpperLimit, the entire MetadataExtensions block  is ignored.

Description = "<character string>"

The tooltip for the control.

Default = ""

LowerLimit = <number>

The lower limit for the spin control.

Default = 0

UpperLimit = <number>

The upper limit for the spin control. Valid only for Spin.

Default = lower limit + 100

String

Name = "<character string>"

The metadata item's name.

Required

Default = ""

Type = String

The Query type.

Label = "<character string>"

The label for the control as it will appear in the application.

Default = ""

DefaultValue = "<character string>"

The value to load into the control default.

Valid values = a string

Defaults = ""

BlankValueOk = <boolean>

Indicate if the value is left blank. Valid for String, Pathname, Date, and Choice only. A red asterisk will be displayed if this value is set to false.

Valid values = true | false

Default = true

Description = "<character string>"

The tooltip for the control.

Default = ""

NumLines = <number>

This value is the number of lines displayed for the textbox when using the string query. Use for multi-line metadata values.

Default = 1

This token is only for use with  the IngestMdExt and ModMdExt sections.

Sample of Generic MetadataExtensions.cfg

 

# This name is significant and identifies this as an Metadata Extension block.

IngestMdExt

[

 Query

 [

        Name         = "CaseName"

        Type         = String

        Label        = "Case Name"

        DefaultValue = ""

        BlankValueOk = true

        Description  = "What is the name of the case?"

          NumLines     = 2

 ]

 

 Query

 [

        Name         = "AgentName"

        Type         = Choice

        Label        = "Agent Name"

          BlankValueOk = true

        Description  = "What is the Agent's name?"

        Choice       = "John Napoli"

        Choice       = "Katie Aguilar"

        Choice       = "Justin Campbell"

          EditableChoice = true

 ]

 

 Query

 [

        Name         = "AgentId"

        Type         = Spin

        Label        = "Agent ID"

        DefaultValue = 1001

        Description  = "The ID number of the agent."

        LowerLimit   = 1000

        UpperLimit   = 5000

 ]

 

 Query

 [

        Name         = "CaseType"

        Type         = Choice

        Label        = "Case Type"

        Description  = "What is the case type?"

        Choice       = "Arson"

        Choice       = "Theft"

        Choice       = "Narcotics"

 ]

 

 Query

 [

          Name         = "A Pathname"

          Type         = Pathname

          Label        = "Pathname"

          DefaultValue = ""

          BlankValueOk = false

          Description  = ""

 ]

 

 Query

 [

        Name         = "InclueMd"

        Type         = Checkbox      

        Label        = "Include content metadata?"

        DefaultValue = false

        Description  = "Include all customer metadata?"

 ]

]

# This name is significant and identifies this as a Search Criteria Extensions block.

SearchMdExt

[

   Query

 [

        Name         = "CaseName"

        Type         = String

        Label        = "Case Name"

        DefaultValue = ""

        BlankValueOk = true

        Description  = "What is the name of the case?"

 ]

 

 Query

 [

        Name         = "AgentName"

        Type         = Choice

        Label        = "Agent Name"

          BlankValueOk = true

        Description  = "What is the Agent's name?"

        Choice       = "John Napoli"

        Choice       = "Katie Aguilar"

        Choice       = "Justin Campbell"

          EditableChoice = true

 ]

 

 Query

 [

        Name         = "AgentId"

        Type         = Spin

        Label        = "Agent ID"

        DefaultValue = 1001

        Description  = "The ID number of the agent."

        LowerLimit   = 1000

        UpperLimit   = 5000

 ]

 

 Query

 [

        Name         = "CaseType"

        Type         = Choice

        Label        = "Case Type"

        Description  = "What is the case type?"

        Choice       = "Arson"

        Choice       = "Theft"

        Choice       = "Narcotics"

 ]

 

 Query

 [

          Name         = "A Pathname"

          Type         = Pathname

          Label        = "Pathname"

          DefaultValue = ""

          BlankValueOk = false

          Description  = ""

 ]

 

 Query

 [

        Name         = "InclueMd"

        Type         = Checkbox      

        Label        = "Include content metadata?"

        DefaultValue = false

        Description  = "Include all customer metadata?"

 ]

]

# This name is significant and identifies this as a Search Criteria Extensions block.

DataServicesMdExt

[

   Query

 [

        Name         = "CaseName"

        Type         = String

        Label        = "Case Name"

        DefaultValue = ""

        BlankValueOk = true

        Description  = "What is the name of the case?"

 ]

 

 Query

 [

        Name         = "AgentName"

        Type         = Choice

        Label        = "Agent Name"

          BlankValueOk = true

        Description  = "What is the Agent's name?"

        Choice       = "John Napoli"

        Choice       = "Katie Aguilar"

        Choice       = "Justin Campbell"

          EditableChoice = true

 ]

 

 Query

 [

        Name         = "AgentId"

        Type         = Spin

        Label        = "Agent ID"

        DefaultValue = 1001

        Description  = "The ID number of the agent."

        LowerLimit   = 1000

        UpperLimit   = 5000

 ]

 

 Query

 [

        Name         = "CaseType"

        Type         = Choice

        Label        = "Case Type"

        Description  = "What is the case type?"

        Choice       = "Arson"

        Choice       = "Theft"

        Choice       = "Narcotics"

 ]

 

 Query

 [

          Name         = "A Pathname"

          Type         = Pathname

          Label        = "Pathname"

          DefaultValue = ""

          BlankValueOk = false

          Description  = ""

 ]

 

 Query

 [

        Name         = "InclueMd"

        Type         = Checkbox      

        Label        = "Include content metadata?"

        DefaultValue = false

        Description  = "Include all customer metadata?"

 ]

]