Lists Inside Lists
When you create your main list, press Enter on your keyboard to go to the next line, and then indent (F8, or
The animation below demonstrates the steps.
| | New Meeting Invitation | | Meeting | | From Invitee to Chair |
| | Accept | | Appointment | | From Invitee to Delegate |
| | Decline | | Anniversary | | Meeting Draft |
| | Counter Proposal | | All Day Event | | Meeting Update |
| | Meeting Cancelled | | Reminder | | Reschedule |
| | Meeting Confirmed | | Tentatively Accept |
Here's my latest tool/toy for you to download and play around with:
"What does it do", you ask? It monitors the web service traffic on your Domino 7.0 server!
SoapLog is a Lotus Notes/Domino DSAPI filter and accompanying database. The SoapLog filter can be copied to a Lotus Domino 7.0 server running on the Windows platform to track the contents of incoming SOAP requests, both the request and the response.
It can be very useful for tracking and debugging web services on the Domino server, and it requires no special configuration of any of the web services or databases that are already on the server. It just listens for any SOAP request and logs the transaction. Here's how you set it up:
SOAPLOG_DBNAME=SoapLog.nsf -- to the server's Notes.ini fileThat's it! All SOAP messages/web service transactions will be written to log documents in the database (see screenshots on the download page).
Version 1.0 is the initial release of this program and database. The program and database are currently unsupported but free for personal, development, and production use -- please test thoroughly before deploying to a production server for this 1.0 release. I am currently working out terms for support of the product, for companies that prefer to work with a well-supported version of this tool. The DSAPI filter itself is currently Windows-only, although I am also working on compiling a Linux version.
Instructions for setting up and using the DSAPI DLL file and database can be found in the "Using This Database" document within the database download.
According to this article, the patent for the GIF file format finally expired yesterday, and there can no longer be any patent claims against programs (or people) that generate GIF files without paying a license fee to Unisys.
Granted, almost none of us ever felt any pain or had to pay anything extra because of the GIF patent -- it was mostly a theoretical issue for end users -- but it's a good thing to happen anyway.
Now if we can just get the Notes client to natively support the PNG format without having to resort to strange hacks I'll be in happy graphics land (PNG is a fantastic format for screenshots).
So, this week I decided to use my infinite free time to start development on a Domino DSAPI filter. It's actually some code I started writing a couple years ago, and never got around to finishing. So I'm finishing it now.
Unfortunately, I didn't have a C compiler on my new laptop and I decided to check my options. The only "supported" compiler for Microsoft (the platform I'm initially developing for) is Visual Studio 6.0, but they mention using gcc on a few of the other platforms, so I thought it might be good to try developing with gcc on Windows to make it easier to port to other platforms later.
Since I already have Eclipse loaded up, I decided to try using Eclipse CDT as an IDE (which is now part of the Callisto package, so it was easy to find). I then loaded up MinGW to get the gcc compiler -- partially because I didn't feel like doing a whole Cygwin install just for gcc, and partially because MinGW automatically creates code with no reliance on other DLLs.
Well I got everything going on CDT/MinGW, but kept getting one or two compiler errors having to do with conflicting data types between the Notes and Windows header files, and a weird error about an incorrect #pragma definition, and finally just called it quits.
My second try (a successful one, if you're not going to read to the end) was the free Microsoft Visual C++ 2005 Express release. It's not quite as full-featured as the "real" Visual Studio release, but it looked like it would do the job and it was only a single CD image install.
Well, sort of. Here's what you have to do:
Now I had a working installation to start with, but the only "New Project" option I had for non-CLR programs was "Win32 Console Application". That's not what I wanted. I need to make a DLL. A little searching later, and I found out that you can indeed create a native (non-.NET) DLL, it's just not one of the menu options on the Express edition. What you have to do is create a console application project, and then after you're in the project you can change the "Configuration Type" to "Dynamic Library (dll)".
And there you go. I compiled, debugged, repeated the process a few dozen times, and got my working DSAPI filter. Happy days.
In the end, I'm actually very glad I ended up using Visual Studio, just because of its amazing debugger. I'd still be fiddling with code if it wasn't for the Visual Studio debugger.