Passing URL Parameters to Forms within Notes Client


Quick question:

Is it possible to pass parameters to a form via a notes url that will open the form in the notes client ie:  


If so, how can I accomplish this?
Who is Participating?
Bristan_Service_DeskAuthor Commented:
Hi guys,

I managed to do what I needed without having to pass any parameters in the end...
No, I don't think so. At least not with notes://  url.
I don't know where you're sending the URL from, but maybe you can use some kind of indirect way of passing the param, like setting environment variable and then reading it from your form, or something similar...
Bristan_Service_DeskAuthor Commented:
Hmmph......what about using a http url to call an agent and passing the parameters to the agent?  If that's possible I could create the document within the agent......but would still need to get it to open in the client somehow....
Cloud Class® Course: C++ 11 Fundamentals

This course will introduce you to C++ 11 and teach you about syntax fundamentals.

You can get the arguments by parsing the Query_String item in the document returned by agent property DocumentContext (or method getDocumentContext if you use Java).
Query_String item contains the entire URL command that started the agent.


Web agents:

See Example 6 here:

Who/From where/How sends the URL?
If the client is the one that sends URL, there's no problem with creating new document in UI using an agent.
Bristan_Service_DeskAuthor Commented:
The URL is to be called via our business system, IFS (windows app).  EAch screen has a right  click menu within the app and the URL will be called when selecting the option from the right click menu.  

This will pop open an IE window calling the URL and passing parameters pulled from the app.....and that's where I got stuck, as it's not a web document but is in the client I wasn't sure how to get the parameters into the document...
So you cannot use web access, since the Lotus app is developed only for the Notes client, is that what you're saying?
Then simply use a file (or windows registry):

 - in your application, after the client chooses the option in the right click menu:
    - store params in a (e.g. csv, ini, txt) file (or registry) that you'll create somewhere on your file system
    - send notes:// URL

 - in Lotus form:
    - in the form's PostOpen event, use LotusScript to read the params from the .csv file (or registry) and use them where needed

It's easier to read environment (Notes.ini file) from LotusScript, but you don't want to alter the notes.ini from outside Lotus.
Bristan_Service_DeskAuthor Commented:
I don't think storing the parameters outside of Notes is an option as the right clicks within the windows app are very limited (ie they can only create a new window inside the app, launch a URL or execute a SQL query).  Also the clicks can only run one command from the click (ie I can't store parameters AND launch a URL).

I'm thinking I may have to redevelop this to be a web enabled app to get it to do what the user wants.....
Maybe you can create a table in your db, then, after the client chooses the option in the right click menu, use SQL to fill it with params.
Then use @DbCommand (ODBC) formula (e.g. from a computed field on your Lotus form) to retrieve those values from the db using an SQL query.

How to use @DbCommand:

@DbCommand usage example:
I just something similar. What I did was to create an email from web and then open it in the Notes client in editmode. This requires the document to be saved before opened. Would this work for you? In brief:
-Pass arguments to a page: http://localhost/2011.nsf/XMLHTTP-test?OpenPage&subject=test subject&sdid1=SD104522&
-Parse arguments with javascript and send them with a XMLHTTP request to an agent.
-Agent create and save document and send an Notes URL back.
-The page receive this Notes URL and post it with javascript to the browser. If you have Notes it will open.
Bristan_Service_DeskAuthor Commented:
Found other ways...
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.