Install process

Product builder

The Relay install is configured in the product builder.

This defines a dependency on the process client (known as the "Portal" to the user).

It also links to the Relay Post Install Script as the post install script.

Post-install script

The script does creates a module connection from the process client to the Relay module. The process type for the connection group in the process client is set to "relay_connection". This provides options to set and remove Relay as the default module for the process client. Once the connection has been made, the post install script runs the setRelay action on the connection group.

Setting Relay as the default module

The setRelay action does the following:

  • Set the config connection on the home folder to Relay, meaning that Relay is available as the default config for all folders.
  • Set the process type reference on the home folder to relay_home. This provides only the Edit group and New project options for Home.
  • In the configuration node, sets the connection request account action to "accountActionRelayConnectionRequest".

The removeRelay removes the settings on the home folder, and resets the connection request account action to "accountActionConnectionRequest".

If you don't want Relay across the whole of an account, find the Relay module connection group in Settings/Folders, and run the "Remove Relay as default module" option. You can then set up a Relay project using the "New project" option, and move this to where you want in the folder structure.

Account action

The Connection Request Account Action Prototype defines a prototype for an account action that can take a request to connect and install the portal. To use this for Relay, create an inherited copy of this within the account authority, and:

  • Set the "product" binding to metrici.products.relay.install
  • Set an account-level binding for accountActionRelayConnectionRequest to the account action

If you want to install a Relay account even if the requesting party has removed Relay as the default module, then bind "accountActionConnectionRequest" to the Relay account action, as well as to the "accountActionRelayConnectionRequest".