Did you know ... Search Documentation:
Pack prologmud_samples -- prolog/prologmud_sample_games/config-enabled-swish/README.md

SWISH configuration

At startup, SWISH reads *.pl files from the directory config-enabled. The *.pl are loaded using ensure_loaded/1 in alphabetical order.

The directory config-available provides skeleton files for common configuration settings. These files may be linked from or copied to config-enabled.

Configure authentication

The following authentication scenarios may be configured

  • Without any authentication enabled, SWISH can be accessed without logging in and can only be used to execute safe goals.
  • Using auth_http_always.pl, any access to SWISH requires authentication. This config module is not compatible with one of the other auth_* configuration modules.
  • Load one or more of the auth_*.pl modules. This provides a Login button in the navigation bar. Note that the authentication modules require additional configuration.

Resource limitation

  • rlimit.pl supports limiting the memory (and optionally other resources) that can be used by the SWISH server.

Configure collaboration

A number of configuration modules contribute to enabling collaboration support such as managing users and get notifications.

  • email.pl needs to be installed to enable notifications using mail. This module needs to be configured for contacting a mail gateway. Email also requires the GIT submodule pack/smtp to be checked out.
  • notifications.pl and user_profile.pl need to be enabled to send notification and manage user profiles. The latter also requires the GIT submodule pack/profile to be checked out.
  • network.pl is often needed to tell swish about the public HTTP host and port at which it is accessible. This is notably the case if proxies or tunnels are involved.

R integration

  • The r_serve.pl config file provides R integration. See r_serve.pl for how to setup R itself for use with SWISH. R also requires the GIT submodule pack/rserve_client to be checked out and configured using
    ?- pack_rebuild(rserve_client).

Debugging and logging.

  • debug.pl provides several hints and tools to simplify server-side debugging of SWISH.
  • logging.pl configures the creation of HTTP and Pengine log files.