0
votes

I would like to create a LotusScript "script" which would add a specified database to a users workspace. What is the best way to create and , especially, distribute such a script to the users? The users have Microsoft Outlook email and do not use Lotus Notes mail.

2
Is opening Notes client an option? Then you could just call an URL like Notes://Server/Path/Database.nsf www-10.lotus.com/ldd/dominowiki.nsf/dx/notes-urlsKnut Herrmann
Thanks Knut, I will go with this solution.user1358852
Good. I added it as an answer so you can set this question as accepted.Knut Herrmann

2 Answers

1
votes

You can just call an URL like Notes://Server/Path/Database.nsf from an email you can send to your users.

You can find more details about URL syntax here

1
votes

In your answer you have two questions: create script and distribute it.

0. LotusScript for adding database icons
You can use NotesUIWorkspace.AddDatabase method to add database icons to a users workspace:

Dim ws As New NotesUIWorkspace

'...
ws.AddDatabase("Your DB0 Server", "Your DB0 FilePath")
ws.AddDatabase("Your DB1 Server", "Your DB1 FilePath")
ws.AddDatabase("Your DB2 Server", "Your DB2 FilePath")
'...

1. Distribution of any script
You can send the Notes URL to users which would run your script. For this you need to create a Form which run your script in the PostOpen event:

Sub Postopen(Source As Notesuidocument)

    Dim ws As New NotesUIWorkspace

    'Your script here

    Call ws.CurrentDocument.Close

End Sub

So, is better to create profile document with such a form and send URL of this document to users:

Dim ses As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim mdoc As NotesDocument
Dim body As NotesMIMEEntity
Dim stream As NotesStream
Dim nname As NotesName  

Set db = ses.CurrentDatabase
Set doc = db.GetProfileDocument("YourProfileDocument")

ses.ConvertMIME = False

Set mdoc = db.CreateDocument

mdoc.SendTo = "[email protected]"
mdoc.Subject = "Take a look"

Set stream = ses.CreateStream
Set body = mdoc.CreateMIMEEntity

Set nname = ses.CreateName(db.Server)

Call stream.WriteText({Please open this <a href="} & {notes://} & nname.Common & {/} & db.ReplicaID & {/-/} & doc.UniversalID & {">link</a>.})

Call body.SetContentFromText(stream, "text/html;charset=utf-8", ENC_IDENTITY_8BIT) 

Call mdoc.Send(False)

In other hand if you want just to add some databases without any computations then you don't need such a script. As suggested by Knut Herrmann:

You could just call an URL like Notes://Server/Path/Database.nsf.

But beware, it does not add database icons to workspace in earlier versions of Lotus Notes (7 or earlier).