Friday, November 1, 2002

Take a peek under the hood with NotesPeek


By Mick Moignard

There are times when you need to look inside a Notes document and see exactly what's going on in it. It's easy, though, to get frustrated by the Document Properties box that just doesn't show you what's going on inside a Rich Text field. I started trying to solve this problem way back in the Notes 3 days, when I'd been playing with some code in OS/2's Rexx language, using IBM's Interflox Notes API program (now that really is another story). I'd been using this combination to make up some complex Notes Rich Text fields that just didn't work the way I wanted them to. Then, however, I found a handy little tool called NotesPeek, and, as they say, the rest was history.

Seriously, NotesPeek is one of the most useful tools in the Notes professional's armory, and that goes for infrastructure people as well as developers. Best of all, it's free.

So what is NotesPeek? Well it's a tool that enables you to peek inside Notes databases and Notes documents in order to find out what's really in there. The Notes client will show you Notes documents as displayed via views and forms, as the developer wanted the user to see them. However, as you know, that's not necessarily how the data is really stored, because Notes forms can calculate some fields, not display others, and pull data in from other databases in ways that can be just about impenetrable, even when following through with the Lotuscript debugger.

At the other end of this process, you can use the properties box to see fields. But sometimes you need something in between, something that shows the raw data, but interprets it better than the properties box. And sometimes it's nice to explore design documents and profiles as well as data. Profiles: how can you get to see those with a properties box? Try NotesPeek.

NotesPeek has been around a while. It was written by Ned Batchelder at Iris, and he claims in the Help documenation that it only uses the C++ API, no internal Notes stuff. That means that you have to have a Notes client installed to use it (though it doesn't have to be running) because it needs the installed Notes DLLs to get access to data. This means that if the Notes client isn't running or you don't share your Notes ID's password with addins, then you'll be asked for your Notes password to access databases on servers. Notes DLLs still need to do the access control stuff. It also means that it won't show you stuff that you don't have access to. It won't bypass ACLs, and it won't bypass reader fields. You also can't change data with it, so author fields don't come in to it.

I'm hooked, where do I get it?

Getting NotesPeek is easy. Just go to the Sandbox at Do a search on NotesPeek and download the latest version, 1.52 at the last time I looked. There's no specific support for Notes 6 yet, but because it reads Notes databases with the API, there are no problems accessing the stuff it knows about in ODS 43 databases.