This entry was posted on Tuesday, November 27th, 2007 at 8:39 am and is filed under IBM Lotus Notes, LotusScript. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
BizzyBee’s BizzyThoughts
Think Outside The Hive - About Notes and Web
This design element has been modified by a later version of Notes
Saving any changes could cause a loss of design information.
I think you know this phrase. Handy. Necessary. A good thing. But sometimes a pain in the spot where the sun never shines.

With most design elements (if it’s save to do so) you just open the design element and save it and the message is gone next time
But what about image resources?
When I created the icon library, I did this in version 7.0 of Notes. When I then tried to go through the icons in an earlier version of Notes, I got that message for every icon. And no matter what I tried (refresh, open(?),…) the message kept appearing.
And if I got this message all the time, all other people with Notes versions prior to 7 would get the same re-appearing message. Which makes the library pretty useless. So I had to find a way around it.
On Notes.Net I discovered that there’s a field $DesignerVersion where design version information is stored. By creating a NotesNoteCollection with the image resources and setting this field, the problem was solved.
As version number I used 6.0. To my knowledge there wasn’t changed anything fundamental for these elements since this version.
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Set db = session.CurrentDatabase
'Create note collection with image resources
Dim nc As NotesNoteCollection
Set nc = db.CreateNoteCollection(False)
nc.SelectImageResources = True
Call nc.BuildCollection
'Modify the collection - change the $DesignerVersion field
nid = nc.GetFirstNoteId
For i = 1 To nc.Count
nextid = nc.GetNextNoteId(nid)
Set doc = db.GetDocumentByID(nid)
Call doc.ReplaceItemValue("$DesignerVersion","6.0")
Call doc.Save(True,True)
nid = nextid
Next
End Sub
Paste the code in an agent and let it role!
Articles
Da Honey Pot
About me

(3 votes, average: 4.67 out of 5)