< Back

Document Subject: Using ?Open instead of ?OpenForm or ?OpenView - BEWARE
Hint Short Cut: Add this to your code & documentation to help you find this page.
http://#QuestionMarkOpen or http://A555F9/nn.nsf/ByAlias/QuestionMarkOpen

Weird functionality I have just found when using ?open instead of ?openform in coding.




A web database had a standard web interface with the "New Document" setting as DBURL+"/main?open".

This worked fine on the development and live server, all versions 6.5.2 .

I replicated the database to a server in the US, and ?open decide to open the navigator instead of the form.

 

In the help titled "Domino URL Commands", ?open is allowed as implicit, ie Notes guesses whether you mean ?openform,

?openview or whatever.

Action can be explicit or implicit. Examples of explicit actions include ?OpenDatabase, ?OpenView, ?OpenDocument, ?OpenForm, and ?EditDocument. Examples of implicit actions include ?Open, ?Edit, and ?Delete. If you do not specify an action, Domino defaults to the ?Open action.

The last bit says that if you don't put anything, the server resolves to ?Open .  So DBURL+"/Main" resolves to DBURL+"/Main?open"

So why is it a different result for the US server?

Why is ?open resolved to ?opennavigator instead of ?openform .

How does notes resolve this, I decided to guess on which is the oldest design element with that name.

In the US version the Navigator had been "added" 15 seconds earlier.

I copied, cut and replaced the navigator to make the form older. This then worked.

 

So ?open opens the oldest element of that name, and Added date is what is used.

This is fair, there has to be a way of doing it, but, surely replication needs to add elements in the same order as they were created in the database, to keep this consistent with the other databases?

Moral of story do not have 2 design elements of different types with the same name AND don't use ?open, use the full explicit command ?OpenForm , ?OpenView etc.