Hi all,
I have been learning to develop for Lotus Notes. My current project has to do with handling contacts and calendar events data from the Notes client.
I’ve spent a few days accessing data in the various databases (such as
the mail db, and names.nsf), and I’m getting the hang of searching for
and retrieving data. I have been using both the Win32 COM api (using Python), as well as the Java (Notes.jar) API.
There is one thing that is next on my list, and that is deletion
tracking. Basically, my test application currently tracks newly
created and modified data in the db, but it doesn’t track deleted
data, because of course that data no longer exists in the db.
My first thought is to write an Agent that captures deletions for
things like events & contacts, and notifies my application.
However, if anybody knows of a better way to accomplish this, or if you
have any pointers on what API’s I should look at, it would be greatly
appreciated.
Thanks in advance,
Mani
Subject: nAuditTrail can solve this
Hi,
There is a nAuditTrail tool at www.dysant.com. You can monitor document deletion and keep any fields from deleted document.
Regards,
Grzegorz
ps.
You can also search for Dysant AuditLog what was previous name of that product.
Subject: False delete and other avenues
Mani, if you need to track and prevent deletions, you have a couple of options.
First, you can use the database ACL to restrict or completely block the ability to delete documents. Then you can create a “delete” button that does not actually delete documents, but flags them to be excluded from views. From here you have several options.
Or you can allow true deletion, but trap the attempt with the QueryDocumentDelete event (documented in Domino Designer). This allows you to get a handle on the document(s) to be deleted and do whatever you need with them, even so far as canceling the delete event.
For back-end deletions, you can use an event hook as described earlier.
If you have more questions contact me off-line, KNolen AT knProductions.com
Good luck,
Keith
Subject: I suggest you use Lotus C API
A Database Hook Driver will help you track changes in a DB very reliably if the DB resides on a Domino server and transaction logging is on.
Subject: PostDocumentDelete event
The NotesUIDatabase class contains the event PostDocumentDelete. Read the Domino Designer documentation to find out about this event. Because the event doesn’t really run after a document is deleted, you may want to run a scheduled agent, say, each evening to confirm that the documents you recorded as deleted were actually removed from the database.
Subject: PostDocumentDelete event
The PostDocumentDelete event cannot track all deletions, namely backend deletions.