Other than programming scope, the only difference between the two is that globals can be used as keys in relations.
Design-Time Properties is a feature that allows setting properties on a form or a form element at design time, which can be retrieved at runtime.
In form designer, design-time properties can be set from the Properties view. Select the form or element and set the designProperties property to add/edit/remove design-time properties.
Solution Model API
A property can be set/removed from a form or an element via the Solution Model:
// set design-time prop on a form var frm = solutionModel.getForm('orders') frm.putDesignTimeProperty('myprop', 'lemon') // get the property var prop = frm.getDesignTimeProperty('myprop') // remove the property frm.removeDesignTimeProperty('myprop') // same on an element: var fld = frm.getField('myfield') fld.putDesignTimeProperty('myprop', 'strawberry') prop = fld.getDesignTimeProperty('myprop') fld.removeDesignTimeProperty('myprop')
In scripting, the runtime elements and forms have getters to retrieve the design-time properties:
var prop = elements.myLabel.getDesignTimeProperty('myprop') prop = controller.getDesignTimeProperty('myprop')
Relations, at design-time model associations between two tables by joining on key data providers. At runtime, a relation becomes a context-sensitive programming reference to related data. Thus, relations are simple, but powerful mechanisms to display, edit and search for data from any context. They can be used, not only to model simple database relations, but also to create sophisticated filters and searches.