Disable specialized response hierarchy informationWe were testing out an application and wondering why the Responses property for any document object was returning a collection of no documents. After trying a few things and searching for several different combinations on the Notes Net forum, we finally found this document: http://www-10.lotus.com/ldd/46dom.nsf/55c38d716d632d9b8525689b005ba1c0/bc40ce0ae4368fd58525688c0023eafc?OpenDocument.
We turned off the setting, compacted the database, and everything was working.
OK, so why was the setting enabled in the first place? By default, it is not enabled. But the developer who enabled it was looking for things to decrease the size of the database and improve database performance. They looked up the designer help documentation and saw what was said about this database property:
Only the @functions @AllChildren and @AllDescendants, which are often used in view selection and replication formulas, use this stored information.
To improve database performance, disable the response hierarchy information in databases that don't use these @functions by selecting the Advanced database property "Don't support specialized response hierarchy.
Since the database doesn't have any views or replication formulas that use these functions, the setting was checked. What the documentation fails to mention is that, with this setting enabled, every NotesDocument object you have in any LotusScript will have a Responses property that is an empty collection. So, if your code uses the Responses property at all (to check if there are any children or to process any children) then you should not enable this property.