|
|
|
|
|
|
|
|
|
|
|
|
|
|
Mick's travel tricks: miscellaneous tools for your traveling needs (continued)
A couple of other mail agents that I created dealt with the side effects of using a PDA with the Notes calendar, in the days when PDA to Notes synchronization wasn't quite as clever as it appears to be these days. As noted in earlier articles, I use PylonPro 3, which works well for me.
Touch Documents
My Touch Document formula agent is a fudge to deal with an archive problem. This problem is that calendar entries sometimes get archived before they happen, which is just a little bit of a problem. Now this should not happen, because calendar entries should be created with a $NoPurge field, which stops the record from being archived. In the R4.6 mail file, just having the field there will stop the archive. In R5, because the archive code is not exposed, we can't check this, but it claims to pay attention to $NoPurge. The $NoPurge field should contain a date, and if it does, the record is regarded as able to be purged after that date.
So any calendar entry older than, in my case, 75 days, (even if the date of the calendar entry was in the future, but where there was no $NoPurge field) got archived and vanished. Now I'm not sure how I managed to get calendar entries created without the $NoPurge field, but this agent bypasses the problem. By touching the document, it updates the last modified date, which extends the time before archive will consider it for archive again. I guess that I could really solve the problem by writing an agent that adds a $NoPurge field, have it read date values from other fields, and use the latest value it can find. Nice, simple challenge; maybe I'll get on to it sometime. The code for my Touch Document formula agent is as follows:
Sub Initialize
Dim db As notesdatabase
Dim docs As notesdocumentcollection
Dim doc As notesdocument
Dim sess As New notessession
Set db = sess.currentdatabase
Set docs = db.unprocesseddocuments
Set doc = docs.getfirstdocument
Dim count As Integer
count = 1
Do While Not (doc Is Nothing)
Print "Touching " & count & " of " docs.count
doc.from = doc.from(0)
Call doc.save(True, True)
Set doc = docs.getnextdocument(doc)
count = count + 1
Loop
End Sub
|
Repeating meetings
Occasionally, having repeating meetings set up can also be a pain, depending on how they're set up and how you synchronize them to a PDA. Notes creates repeating meetings by creating a hidden parent and then creating a child document for each repeat. When you try to do things to one of the occurrences, you get asked if you want to do it to all occurrences or just this one. Notes then uses some internal fields to find the parent and from there the other children. The @function agent below, when run on one or more of the repeat children, disconnects it from the parent by deleting these fields and leaves a single stand-alone calendar entry. It does not go back to the repeat parent and clean up the RepeatDates field, though. I don't know what the impact of not doing that is. The code is as follows:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- Advertisement --
Find unused Lotus Notes groups and clean up your address book
Have you ever wanted to get rid of old Lotus Notes groups that were cluttering up your address book, but you weren't sure if they were used? Find Unused Groups can help.
Find Unused Groups will check your ACL, mail, multi purpose and server groups to help you determine if they are used, and who uses them.
Learn how to easily clean up your address book. |
-- Advertisement --
Mark your calendar for in-depth Lotus training, May 12-14, Boston
Join experts and peers May 12-14 in Boston for educational and networking events that deliver real-world Lotus training so you can increase productivity and efficiency in your company, advance your skills, and squeeze the most from your current environment. One registration gets you into THE VIEW's Admin2010 and Lotus Developer2010.
Register by April 10 to save $200. |
|
|
|
|
|
|
|
|
|
|