Process client

The collaboration building blocks - channels and workers - can be used to build different portal applications. However, most user-facing solutions can take advantage of the process client approach, in which provides general-purpose client is used to run processes.

The process client is presented to the user as "the portal". It is called a process client because it runs processes provided by other partners and plug-in process modules (rather like an email client processes emails from others).

This section describes the minimum requirements for a portal application, and then outlines how the standard Metrici process client is put together.

Minimum requirements

The very minimum a portal application must have is:

  • A suitably configured instance of Channel.
  • One or more workers of Worker, which have been registered with the channel, and which hold appropriate processes.
  • A public/private key pair, to which the channel links.

The most simple solutions are those that integrate existing applications through channels. These would typically use a single, long-running worker using the alternative Dynamic Worker type. This worker would have a process identifier of "control" to indicate that it applies to the whole channel. This would be sufficient for partners (i.e. the other end of the channel) to interact with the worker, which can then interface with the application.

Process client structure

A process client is a configurable, general-purpose application used to run processes. The standard Metrici process client is known as the Metrici Portal and is described in the Portal user guide. The standard process client includes the following:

  • A folder of type Connections which contains nodes of type Connection (which extends Channel), and which allows the channels/connections to be managed.
  • A folder of type Workers Folder which contains the workers.
  • A folder of type Folders which contains Group.
  • Special groups: a Home group that contains other groups, a lost+found group that contains workers that are not in any groups, and a Settings group which contains workers that navigate to the various settings nodes.
  • Permission manifests to manage permissions.
  • Notifications to manage sending emails to users.
  • A scheduler that manages for how long after the last action on a worker that the worker should be considered of interest.
  • An overall main page. This uses a rich JavaScript front-end to present the application to the user, navigate groups, select workers, and run process actions.

The process client does not contain any capabilities to define processes or integrate into other applications. Instead, it uses connections to separate applications, known as "process modules" that provide these features.

Alternative process clients can be created. See Replacing the process client.