Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Desktop integration
The Smart Client can automatically integrate with the desktop of the client machine. Whether or not this happens depends on both client-side settings in the Java environment as well as server-side settings on the Application Server. See #Java settings for more information on the client-side Java settings and Smart Client Settings for more information on the Application Server settings.

Starting Smart Clients

...

By default, the Servoy Application Server comes with a web page for starting Smart Clients, located at {serverUrl}/index.html. This web page also provides a link to check if a Java Standard Edition Runtime Environment is installed.

Servoy Smart Client can also be started by accessing a URL on the Servoy Application Server. Depending on the configuration of the Servoy Application Server, an icon might be placed on the users desktop to start the application thereafter. 

Deeplink Smart Client Start URL

What is does

{serverUrl}/servoy-client/servoy_client.jnlp

Opens a Smart Client and shows the "Select Solution" dialog. The "Select Solution" dialog will not be displayed if solution browsing is disabled, see #Solution browsing. In this case the user will not be able to open a solution.

{serverUrl}/servoy-client/{mySolutionName}.jnlp

Opens a Smart Client and launches the specified solution

{serverUrl}/servoy-client/mySolutionName.jnlp?a={value}

Opens a Smart Client and launches the specified solution. The argument value is passed into the Solutions onOpen event handler.

{serverUrl}/servoy-client/{mySolutionName}.jnlp?a={value}&{name1}={value1}&{name2}={value2}

The same as the previous scenario, but with additional custom keys for additional arguments

{serverUrl}/servoy-client/{mySolutionName}.jnlp?m={myMethodName}

Opens a new Smart Client OR activates an already running Smart Client. Activation of an existing Client is only possible when enabled, see #Deeplinking into existing Smart Client for more info.

In case of activating an existing Smart Client, the specified deeplink method will be fired.
In case of a new Smart Client, the deeplink method will be fired once the onOpen event handler of the solution has fired

{serverUrl}/servoy-client/{mySolutionName}.jnlp?m={myMethodName}&a={value}

The same as the previous scenario, but specifying a single value to be passed as an argument into the onOpen event handler and deeplink method

{serverUrl}/servoy-client/{mySolutionName}.jnlp?m={myMethodName}&a={value}&{name1}={value1}&{name2}={value2}

The same as the previous scenario, but with additional custom keys for additional arguments


Include Page
DOCS:shorthandLinkSyntax
DOCS:shorthandLinkSyntax

Solution browsing

}By default, when using the first option above to launch a Servoy Smart Client (or through the default web page for starting Smart Clients mentioned earlier), when the Smart Client is started, the user will be presented with a list of all available solutions. Through the servoy.allowSolutionBrowsing option under Solution Settingson  on the Admin page of the Application Server, this dialog can be disabled. When disabled, the deeplink options that specify the solution must be used .

...

Profiles

...

The Application Server provides settings that influence the Smart Client behavior, for example in the area of how the Application Servoy and the Smart Client communicate. When one (group of) Smart Client(s) require different settings than the other one, the Application Server provided Profiles. Using Profiles, settings can be bundled under a named Profile. Smart Clients can connect to the Application Server using a particular profile by adding the Profile name to the URLs mentioned above. For example:

Code Block
titleDeeplink into specific solution using a named Profile
<serverUrl>/servoy-client/<profileName>/mySolutionName.jnlp

Profiles can be used in all the above mentioned URL's to start or deeplink to Smart Clients.

Profiles can also contain all the additional arguments that can be specified on the above mentioned URLs, like solution, method, arguments, named arguments (name1, name2 etc.). Both the short and long syntax are supported.

For more information on Profiles, see Profiles.

...

Deeplinking into existing Smart Client

...

When a user already has a Smart Client open, it's possible to provide the user with a URL that deeplinks to a method in the open solution. When the URL is opened, it will access the Application Server and the Application Server then contacts the existing Smart Client and executes the specified method.

To enable deeplinking into existing Smart Clients, the servoy.allowExistingClientActivate setting or else the user is presented with a Smart client without an option to start a solution.

...

...

Servoy provides the ability to execute a method in an already running Smart Client using the standard Smart Client start url's, if the url contains a deeplink method ("&m={methodName}"). In order for a deeplink into an existing Smart Client to work, the following conditions need to be met:

...

  • The already running Smart Client needs to be started using a URL
  • The deeplink url to activate the already running Smart Client needs to be handled through the same browser/application with which the already running Smart Client was launched 
  • The browser/application used to handle the deeplink url/launch the already running Smart Client must support Cookies
  • The deeplink url must contain a deeplink method: "&m={methodName}"

If any of these conditions are not met, the deeplink will result in the opening of a new Smart Client

Note
title?x=x

The deeplinking into an existing Smart Client is partly based on browser cookies. When starting the Smart Client from, for example a desktop shortcut, while deeplink from within an email in a mail client, it can happen that the first deeplink from the mail client opens a new Smart Client anyway. A possible workaround for this is added '?x=x' to the shortcut's URL, like <serverUrl>{serverUrl}/servoy-client/{mySolutionName}.jnlp?x=x

...

Profiles

...

The Admin page of the Servoy Application Server exposes several settings that determine how the Smart Client communicates with the Application Server. As it can happen that one (group of) Smart client(s) requires different settings than other Smart Clients, the Application Server supports so-called Profiles.

Profiles, identified by a unique name, can contain one or more settings relevant to the Smart Client. The values for settings specified in a Profile override the value for those settings set on Application server level, when the Smart Client is connecting to the Application Server through the Profile 

In order for a Smart Clients to connect to the Application Server using a particular profile, the Profile name needs to be added to the URLs mentioned above. For example:

Smart Client Start URL

What is does

{serverUrl}/servoy-client/{profileName}/{mySolutionName}.jnlp

Opens a Smart Client and launches the specified solution, while using the settings provided in the specified Profile

For more information on Profiles and an overview of which settings can be controlled through them, see Profiles.

Smart Client settings

  • Server-side settings
  • Client-side settings

...