Connection request component summary

It can be difficult to disentangle the various components used for a connection request. This summarises what components are required and how they are configured. The summary show what configuration would be required in the more complex case that the Relay product is used alongside the Process Client product.

The process client uses the "configuration" binding to identify the Configuration node. The Connection request account action reference field contains the node reference of an account action which will be in the account authority's account (i.e. the "accounts" account).

The account action links to a template for the type of account that will be created if the user does not have an account. The template lists the product or products that are required. For Relay, the template would list just the Relay product installer, which has a dependency on Process Client.

The account action inherits from Connection Request Account Action Prototype, which defines what will happen when the user accepts the account action. In this case, it will install the product set on the "product" binding of the account action. In our example, this would be a product installer for "Relay (with connection request)". The display action of the account action redirects to the init action, which means that the user will not be asked to confirm the account action, but will be taken straight to the action once they have signed up or signed in.

The "Relay (with connection request)" product has a dependency on Relay, so Relay and Process Client will be installed if necessary (it would not be necessary if the user is signing up, as these are installed from the account template). The "Relay (with connection request)" product itself uses the conventions described in Run once products. The template contains an an instance of Connection Request Run Once Product which is executed. Connection Request Run Once Product calls Connection Response Script to accept the connection request, and then deletes the product instance so that any susequent connection request will trigger a reinstall and rerun of the "Relay (with connection request)" product.