Appearance
Metrics ​
Data often consists of more than just one value. Only with the corresponding unit can the data be interpreted meaningfully. For this purpose, the data types CEMetric and CEMetricList are implemented in the CoreEngine.
These data types make it possible, for example, to store with the unit gram and search for kilograms. This is made possible by storing the value and unit in the database. In addition, the backend also stores the value of the base unit so that it is available for functions such as "search".
Configuration of Metric types ​
Metrics are stored in the file ce_global/defaults/metrics.xml.
Sample file:
xml
<metrics>
<metric name="length" base="meter"><!-- generiert L-ME-METRICNAME -->
<unit>
<name>meter</name>
<formula>value*1</formula>
</unit>
<unit>
<name>millimeter</name>
<formula>value*1000</formula>
</unit>
<unit>
<name>centimeter</name>
<formula>value*100</formula>
</unit>
<unit>
<name>decimeter</name>
<formula>value*10</formula>
</unit>
<unit>
<name>kilometer</name><!-- generiert L-ME-METRICNAME-UNITNAME -->
<!-- generiert L-ME-METRICNAME-UNITNAME-SHORT -->
<formula>value*0.001</formula> <!-- Umrechnungsfaktor in die Basis -->
</unit>
</metric>
<metric name="weight" base="kilo">
<unit>
<name>kilo</name>
<formula>value*1</formula>
</unit>
<unit>
<name>tonne</name>
<formula>value*0.001</formula>
</unit>
</metric>
</metrics>Description of the XML:
| Element | Description |
|---|---|
| metrics | Configuration of all metrics |
| metric | Configuration of a metric |
| name | Name of the Metric type |
| base | Basic unit of the Metric type |
| unit | Definition of the relationship between data with different units |
| name | Unit for the unit |
| formula | Conversion function to base unit. Initially "+-*/" and brackets must be supported. |
Tables with available field types
Storage in the database ​
Fields of these types are stored in the database in a sub-table outsourced.
| Element | CEType | Description |
|---|---|---|
| pid | CEId | KEY of the module table |
| order_key | CEInteger | For CEMetricList only. Position of the CEMetric in the list. |
| unit | CEVarchar(50) | Unit in which the value is stored. |
| value | CEDouble | Value to be saved. |
| normalized | CEDouble | Value from field value normalized to the base unit. |
Fields in the database
Activate metric for a field ​
Configuration see '4apfield-details
Search via the fields with metrics ​
The search filter was extended by a unit property. During the search, the value from the search filter is normalized to base unit and the search is executed.
Note!: If unit is not set, the default unit is taken from field configuration.

