Enter Domino version 9.0.x and goodbye to the “Lotus”
Version 0 of hxu was primarily testing and getting comfortable with the IBM Domino API. This is not easily done for someone who only ever coded in LotusScript. If you type in “View” in the IDE, you get a View object in many different packages. It took me a while to figure out that the correct one is in the lotus.domino package. Getting a handle on the session was also not very intuitive, but simple now that I did it almost a thousand times or more. Version 1 was the first version used in an actual project. It did not assume that the extension libraries were installed, but it did require OpenLog from Paul Withers. (Available on openNTF). Thanks Mr. Withers! Version 2.x expanded the Logging functionality and required an update to the databases that implemented version 1.x. It included Logging into my second preparation Project, holistic XLogger, or “Xlogger”, or “hxl”. We will have to get into version 3 in a moment.
One huge problem that I had was logging. I successfully used openLog and the tools provided by Mr Withers to track uncaught errors, but this functionality did not go deep enough for me. I wanted the ability to document each user’s session. I wanted to know what browser he used, which version, and a list of all things done so that I can easily diagnose any problem that arose during productive use of an application I create. Logging things to the Server log is a questionable practice at best, and an absolute no-go at worst. I had already implemented all of this in my debugging custom control; all I needed was a way to expand this functionality to save information programmatically to a single document created for the user’s session. With a quick update to hxu, it was possible to create a single logging function that saved data in multiple places at one time. These places can also be configured using designer in the appropriate .properties file.