projectdoc Toolbox

Materialize the controlled property by an artificial property with the given path.

Identifier
mat:(property path)
Data Type
Property Path
Short Data Type
Property Path
Since
4.5

Materializing properties is the process to derive a value from a property path (like Property A->Property B->Property C)  and store it as an artificial property of a document instance.

Normalize Value Lists

 

For maximum compatibility make sure that in case of value lists, the separation of list elements should be normalized.

This is only required for macros that render lists and in case you need to render the resulting multi-list. It is recommended that values are separated by comma, since these representation is easily merged.

To materialize a property based on the current property (i.e. the property whose control this is), a property paths must be specified that originates on the property.

 

A property Persons of doctype Organization is holding references to persons:

Property ControlArtificial Property NameArtificial Property ValueExplanation
mat:NamePersons->NameHanna, Sarah, JohnMaterializes the name of the Person(s).
mat:Address->CityPersons->Address->CityNew York, Rio, TokioMaterializes the names of the person's city names.

To use the materialized properties in queries (Where clause), use the following syntax.

$<Persons->Name>=[Hanna]
$<Persons->Address->City>=[New York]

In case more than one materialization is required, simply repeat the definition.

Multiple mat Controls
mat:Name, mat:Address->City

Resources

Materialize by Doctype
Specify which properties to materialize as artificial properties by doctype.
Doctype Descriptor
Describes the doctypes model.