Using Reserved Characters in Custom Inventories - Good or Bad?
Naming objects in our Notification Server environment. Seems fairly simple, but the process can be a bit troublesome. Or naming applications, or custom dataclasses. Some times we like to use reserved characters in those names to be descriptive. Characters like($ ; & + , / : = ? @) are reserved characters, specifically to IIS.
These things can cause problems for custom inventories especially. You could see errors like:
Unable to process the file "...\Altiris\Notification Server\NSCap\EvtQFast\Process\INVblah.nse" Moving to "...\Altiris\Notification Server\NSCap\EvtQFast\Bad\AeXException\nseXXX.tmp". Reason: Failed to process NSE System.Xml.XmlException: An error occurred while parsing EntityName.
Certainly, if you can avoid the use of these characters in your naming conventions, that helps.
However, best practices when using these characters, and writing custom inventories is to follow the procedures found in https://kb.altiris.com/article.asp?article=27635&p=1, and specifically make sure that you change the 'write' statements to 'WriteXML'. This will tell the code to properly escape the characters and present your data in proper XML code, keeping the Notification Server cooking with good data!