Working with typed defaults in Viper
Release 1.0 - ...
As of RC2, Viper methods such as this.field(), itemdata.field() and datatable.getvalue() return typed internal defaults instead of reverting to an empty string if otherwise unresolved (when no explicit default parameter is passed):
Smartsite SXML | Copy Code |
---|---|
{itemdata.field(ShowFrom)} ==> 0001-01-01T00:00:00 {itemdata.field(ShowFrom, default=null)} ==> {itemdata.field(ShowFrom, default=null)} {itemdata.field(ShowFrom, default='')} ==> {sxml.gettypename(itemdata.field(ShowFrom))} ==> datetime {sxml.gettypename(itemdata.field(ShowFrom, default=''))} ==> string {sxml.gettypename(itemdata.field(ShowFrom, default=true))} ==> boolean {sxml.gettypename(itemdata.field(ShowFrom, default=null), default='null')} == null {datetime.format(itemdata.field(showfrom, default=null), 'd MMMM yyyy', default='Not set')} ==> Not set |
Since this behavior is a breaking change since RC1, a compatibility setting has been introduced. Setting compatibility to RC1 will make defaulting behave like in RC1.