123
Senior Member
Please add to this thread things you've learned about Premise that will save other people time and effort.
NOTE: Please discuss issues elsewhere and only post confirmed quirks here.
PROGRAMMING
Never name a property "ID"!
Premise stores all objects in XML format. Each object has a unique (hidden) identifier called "ID". If you name a property "ID" it will duplicate the existing object identifier ... and that violates an XML structural rule.
Nothing bad happens immediately. However, when Premise SYS Server starts up it loads the most recent backup of the XML data and halts on the line containing the duplicate identifiers. It discards the whole backup file and attempts to load an older backup copy. It will keep doing this until it finds a valid XML backup. If it runs out of available backups it reverts to a blank slate.
I discovered this while developing a new Module. Every backup copy had the duplicated "ID" so SYS Server was unable to load any of them! To find the offending line, change the backup file's extension from XDO to XML and open it with Internet Explorer. IE will display the XML file, halt at the offending line, and print an error message.
In conclusion, you should avoid creating any two properties with the same name!
Steer clear of special characters when scripting!
This is another XML bugaboo. XML stores special characters like ampersand (&) and single quote ('), and several others, in an encoded format. Ideally, when you enter the "&" character in a script, Premise should store it as "&" in the XML file. It does not do this so, once again, SYS Server will fail to load the XML file. Phooey! And so in my script comments, you won't find much more than a-z and 0-9. This topic is documented in greater detail in this post.
NOTE: Please discuss issues elsewhere and only post confirmed quirks here.
PROGRAMMING
Never name a property "ID"!
Premise stores all objects in XML format. Each object has a unique (hidden) identifier called "ID". If you name a property "ID" it will duplicate the existing object identifier ... and that violates an XML structural rule.
Nothing bad happens immediately. However, when Premise SYS Server starts up it loads the most recent backup of the XML data and halts on the line containing the duplicate identifiers. It discards the whole backup file and attempts to load an older backup copy. It will keep doing this until it finds a valid XML backup. If it runs out of available backups it reverts to a blank slate.
I discovered this while developing a new Module. Every backup copy had the duplicated "ID" so SYS Server was unable to load any of them! To find the offending line, change the backup file's extension from XDO to XML and open it with Internet Explorer. IE will display the XML file, halt at the offending line, and print an error message.
In conclusion, you should avoid creating any two properties with the same name!
Steer clear of special characters when scripting!
This is another XML bugaboo. XML stores special characters like ampersand (&) and single quote ('), and several others, in an encoded format. Ideally, when you enter the "&" character in a script, Premise should store it as "&" in the XML file. It does not do this so, once again, SYS Server will fail to load the XML file. Phooey! And so in my script comments, you won't find much more than a-z and 0-9. This topic is documented in greater detail in this post.