Domino URL cheat sheet (Syntax guidelines sidebar)

[Back to "Domino URL cheat sheet"]

Syntax guidelines

The following are additional guidelines concerning URL syntax:

The server name is not used in Domino URLs; in the syntax examples, Host identifies the server.

In Domino 6, you can specify the maximum size of the URL command in the Server record under the Internet Protocols - HTTP tab. In previous Domino versions, the maximum size of a URL command 1024 bytes.

The following is a list of Domino special identifiers:

  • $defaultView
  • $defaultForm
  • $SearchForm
  • $File
  • $Icon
  • $Help
  • $About
  • $First

DominoObject can be any of the following: for a database, the database name or replica ID; for other objects, the DominoObject's name, universal ID, or special identifier. For example, to specify a view in a URL, you can use any of the following: the view name, view universal ID, or $defaultView.

A DominoObject's name and universal ID are identical in all replicas of a database, so it's best to use the DominoObject's name or universal ID in URLs. One name or alias can refer to two objects-for example, two forms with the same name when one is hidden from Notes users and one is hidden from Web users.

You can specify a Notes database by the file name or by placing a double underscore before the replica ID and adding an NSF suffix to the end, for example, __852562F3007ABFD6.nsf.

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. Note that an action can also be preceded by an exclamation point (!). For example, ?OpenDocument can also be written as !OpenDocument.

Append the &Login argument to any Domino URL command to require users to authenticate.

Because URLs cannot contain spaces, use either the plus sign (+) or the hex value %20 as a separator . For example, http://www.acme.com/discussion.nsf/By+Author.

Separate arguments with ampersands (&). For example, http://www.mercury.com/leads.nsf/By+Salesperson?OpenView&ExpandView.

Separate hierarchical names with slashes (/). For example, to open a view named Docs\By Author in a database named Discussion, enter http://www.mercury.com/discussion.nsf/Docs/By+Author.

Where a name or argument contains a symbol that is not part of the URL syntax and that would conflict with URL syntax-such as plus signs (+), slashes (\ or /), or ampersands (&)-use %xx (where xx is the hex ASCII value) as a separator. For example, http://www.mer%+maid.com/leads.nsf/By+Salesperson?OpenView&ExpandView.

When generating your own URLs for any part of an application, use simple aliases whenever possible to avoid URLs with unsupported characters. Domino will convert URLs containing unsupported non-ASCII characters to base32 encoding.

URL commands may also refer to databases with NSF4 or BOX suffixes. They may also refer to template files (NTF), but these may only be opened in preview mode.

Selecting "Web access: Use JavaScript when generating pages" in Database properties will let you compute URLs attached to buttons and hotspots on the Click event. If this option is not selected, URLs attached to buttons and hotspots will be computed when the page is generated. This can be useful if you're using editable fields on a form.

The following guidelines apply to Domino 5 servers, but not to Domino 6 servers:

  • When Domino is running as an extension to Microsoft Internet Information Server, a database is required in the URL syntax for server commands such as ?OpenServer, ?Login, ?Logout, and ?Redirect. You may use the name of a database that does not exist to supply the correct syntax without opening a database. For example, http://www.acme.com/dummy.nsf?Login.
  • You can use the ?OpenServer command to access a Domino 5 server.
  • You can specify the NoteID of a form, view, page, navigator, or document instead of the UNID or the name in a URL; however, the NoteID may change in database replicas, so it's best to use either the UNID or the name, which remain the same in each replica.

For more information about the ?OpenServer command and URL examples using the NoteID, see the Domino 5 Designer Help.