I tried to write an agent to enter some usernames into a reader field using an agent. It works but the inserted data is not interpreted well : after i add the users to the reader fields , everyone can still access the document.
Only after i save the document , the access is restricted.
It looks that only after opening the doc in the UI the reader functionality is starting to work.
What am i doing wrong ?
Should i look out for some things ?
Lotus IBM
Last Comment
HemanthaKumar
8/22/2022 - Mon
Zvonko
Yes, there is a field attribut telling the field it is a Readers field.
You have to set this options too.
Like this:
Call item.AppendToTextList( "Jeffrey Kinnamon" )
item.IsReaders = True
Call doc.Save( True, False )
Good luck,
Zvonko
scottrma
Make sure your field type is set to READERS. Check how you are creating and/or updating the field. If you use:
Set field = New NotesItem(doc,field,"Admins",READERS)
that should make it a Readers field. You can also use NotesItem.IsReaders property to check to see if the field has the READERS type.
Check the document properties box for this field - I suspect it does not have the READERS property set. If not, you must set it in your agent as described above.
Hope this helps.
Scott
scottrma
Hello Zvonko,
Your comment was not there when I started writing....
Here is the sample code, which appends the a user to the readers field in canonical format
FIELD Readers := Readers : @Name([Canonicalize];"TestID/Company")
Also make your readers field as Computed, with default value as
Default Readers := @UserName;
Readers
~Hemanth
212f_h2o
ASKER
Thanx
works great , except that the Rader's are added it to the field. How can I change it so I replace the contents instead of adding it to the list of users already present in the reader's field.
I tried to delete the field using @Deletefield first , but apparently my agent executes the Delete at the end of the agent. I could do it with 2 agents but I guess there's a more elegant way to do it.
You have to set this options too.
Like this:
Call item.AppendToTextList( "Jeffrey Kinnamon" )
item.IsReaders = True
Call doc.Save( True, False )
Good luck,
Zvonko