Application Debug Mode

A while back someone asked what was my best tip for Lotus Notes development – this is it – it is used in every single application I have developed in at least the last 5 years and it was passed on to me by my cousin ( thanks Martin )!

Most Notes forms will have hidden fields on them and those fields are really useful when it comes to understanding what is going on in an application. You can access the values in three ways :

1) use the document properties
2) change the “hide when” properties
3) – my tip – programmatically change the “hide when” properties

I used to hide the individual fields but a better way is to change the “hide when” attribute of a section rather than the individual fields ( thanks Ewan ). The hide when is linked to a notes.ini / environmental setting but you could also use a profile document.

Image:Application Debug Mode

Image:Application Debug Mode
You can then extend this functionality for other uses such as :

  • Disabling “on error” statements whilst debug mode is active so that you can see where code is falling over
  • Allowing extra action buttons to appear
  • Making parts of the form configurable.

In FoCul we actually have two versions of Debug mode. We have one which we call “Administrators Debug Mode” which reveals information to help our customers debug problems and then we have a second more powerful version called “Developers Debug Mode” which has more functionality.

Applications have a password protected  agent which turns the Debug modes on and most applications automatically cancel it when they are opened. We also have the custom toolbar buttons shown above.

Image:Application Debug Mode

The hide when on the section is

Image:Application Debug Mode

By using an environmental variable we can troubleshoot the applications on users computers without having to worry about ACL settings.