Tracking document deletion?

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.