Deeplinking

Normally when a user logs in, they are shown a dashboard or some other "Home" action configured through the UIMetaModel. Through special URL params, you can provide the user with a URL that will show the user any WebAction you would like instead of the default. This is called "deeplinking".

For example, the system might generate an email and provide the user with a direct link to a model detail page. To show the detail page upon login, you should create a URL with the following properties: startAction, startActionConfig, and startRoleType. (startActionCfg and startRoleType are optional)

https://myplatforminstance.com/oms/base/home.action?startAction=SHOW.SomeMenuItem&startActionCfg={sysId:12345}&startRoleType=SOME_ROL
  • startAction: the fully qualified web action to open instead of the default home action

  • startActionCfg: a JSON config which will be passed to the panel. (If the panel requires no config, you can omit this.)

  • startRoleType: one or more RoleTypes (delimited by comma) to switch to, to ensure the user access to the web action. If the user's last used role matches any of these, that last used role will be used. Otherwise, the list of role types is iterated in order, and the first matching role is switched to. If the user has no role matching a role type in the list, it will log them in using their last used role type. (If you don't care which of the user's roles should be used, you can omit this.)

Alternatively, you can link directly to a specific URL.

https://myplatforminstance.com/oms/base/home.action?startURL=/oms/SHOW/myUrl&startTitle=MyTabTitle&startRoleType=SOME_ROLE
  • startURL: URL to be opened in the new tab

  • startTitle: title to be given to the tab opened

  • startRoleType: one or more RoleTypes (delimited by comma) to switch to, to ensure the user access to the web action. If the user's last used role matches any of these, that last used role will be used. Otherwise, the list of role types is iterated in order, and the first matching role is switched to. If the user has no role matching a role type in the list, it will log them in using their last used role type. (If you don't care which of the user's roles should be used, you can omit this.)

A deeplink will always open the entire ONE NEO Dashboard window with the given tab selected. For this reason, if you're linking from one Platform instance to another, you'll need to open the link in a new top-level browser window. If you are generating the <a> tag, that means adding the "target" attribute. You can give that target attribute a value like target="otherinstance" to always target links to a particular window (overwriting the previous contents), or a value like target="_blank" to have every click of the link launch a new top-level window.