Skip to main content

GLDF Release v1.0.rc2

· 2 min read
Alex Kurpanik
Developer DIAL GmbH

On the way to the final version 1.0 of the GLDF, we have published the next release candidate based on feedback. As always, the changelog can be found on Github: GLDF v1.0.rc2.

Since this is still a pre-release version, we have taken the opportunity to include necessary breaking changes that we would like to avoid in the final version. Below is a short guide on how to migrate existing GLDFs from rc1 to the new rc2 version.


Some of the changes affect every GLDF. Others might require adaptation:

Mandatory breaking changes

The mandatory structure of the Header element has changed as follows. To adapt a GLDF as quickly as possible, simply copy the following XML and replace the contents with your data:

<Header>
<Manufacturer>Manufacturer XY</Manufacturer>
<FormatVersion major="1" minor="0" pre-release="2"/>
<CreatedWithApplication>Visual Studio Code</CreatedWithApplication>
<GldfCreationTimeCode>2023-04-17T14:00:00Z</GldfCreationTimeCode>
<UniqueGldfId>INSERT UUID/GUID HERE - SHOULD ALWAYS BE UNIQUE</UniqueGldfId>
</Header>

Otherwise, adapt your elements and their order according to the XSD-Reference

ProducMetaData

Add to your ProductMetaData an UniqueProductId as first child element.

The topic Unique IDs describes the differences between UniqueGldfId in the Header and UniqueProductId inside ProducMetaData. Containig only mandatory fields, ProducMetaData should now look like this:

<ProductMetaData>
<UniqueProductId>INSERT GUID HERE</UniqueProductId>
<ProductNumber>
<Locale language="en">LightNnumber</Locale>
<Locale language="de">Produktnummer</Locale>
</ProductNumber>
<Name>
<Locale language="en">Product name</Locale>
<Locale language="de">Produktname</Locale>
</Name>
</ProductMetaData>

Possible breaking changes

SensorEmitter

Should you use Sensor elements in your GLDF, replace references in Emitter as follows

<GeneralDefinitions>
<Files>
<File id="sensorFile" contentType="sensor/sensldt"
type="localFileName">sens.ldt</File>
</Files>
<Sensors>
<Sensor id="sensor">
<SensorFileReference fileId="sensorFile" />
</Sensor>
</Sensors>
<Emitters>
<Emitter id="sensorEmitter">
<SensorEmitter>
<SensorReference sensorId="sensor" />
</SensorEmitter>
</Emitter>
</Emitters>
</GeneralDefinitions>

ProductSeries

Should you use ProducSeries elements. Either in ProductMetaData or Variants, add an unique id attribute to them

<ProductDefinitions>
<ProductMetaData>
<!-- Content skipped -->
<ProductSerie id="Add-Unique-ID-Here">
<Name>
<Locale language="en">Produkt family</Locale>
</Name>
</ProductSerie>
</ProductMetaData>
</ProductDefinitions>