Manage Fluid Topics Configuration Directory Structure and Files - Fluid Topics - 3.1

Fluid Topics Installation and Administration Guide

Product
Fluid Topics
FT_Version
3.1
Platform
RHEL
Category
Reference Guide
language
English

In a multiple-server installation, all the files listed in this section are required on the Front and Indexing servers.

The following configuration files are required:

  • conf.json: defines business parameters (tenant name, data input type, and so on).
  • vhost.conf.json: indicates the domain name used to reach the Fluid Topics portal.

The following additional files may also be needed depending on the environment:

  • mongo.conf.json: declares MongoDB hosts and authentication required to reach them.
  • groups.conf.json: indicates user/group mapping
  • public: a folder to host files exposed and accessible from the Fluid Topics portal. Its organization is free. It can contain images, fonts, scripts, styles, and so on, such as:
    • custom.less: contains variable values and additional CSS rules that are injected in portal pages to enable display customization
    • fonts: customized fonts
    • images: logos, backgrounds, images that are referenced in specific styles, and so on
    • opensearch.xml: internal search engine description file that can be used by browsers to get a direct access to the search page
  • SAML configuration files: all mandatory files required to set up a SAML-based authentication (see SAML documentation)

All resources, e.g., configuration files, public images, and so on, located in the "/usr/local/afs7/Fluid-Topics/conf/-" special directory are factorized and shared between all tenants and statuses present on the server.

Files are not located in the same place weither they are related to tenant or not

Example of a configuration directory structure:

user@host:/usr/local/afs7/Fluid-Topics/conf$ tree
.
├── -
│ ├── conf.json <-- (1)
│ ├── public
│ │ └── images
│ │ └── promote
│ │ └── fluidtopics.png
│ └── ws.conf.json
├── $SERVICE_ID
│ ├── -
│ │ ├── conf.json <-- (2)
│ │ └── public
│ │ ├── custom.less
│ │ └── images
│ │ ├── favicon.png
│ │ ├── logo-antidot.svg
│ │ └── promote
│ │ └── fluidtopics.png
│ ├── beta
│ │ ├── conf.json <-- (3)
│ │ ├── vhost.conf.json
│ │ └── public
│ │ └── custom.less
│ └── stable
│ ├── conf.json
...

The conf.json can be split into fragments spread in different directory tree levels. Fluid Topics merges all matching files to get the final configuration and validate it.

For a beta status tenant, files are read and merged, if they exist, in the following order (from the most generic to the most specific):

  1. conf/-/conf.json
  2. conf/$SERVICE_ID/-/conf.json
  3. conf/$SERVICE_ID/beta/conf.json

Special folders (-) can also be used to factorize resources shared by all tenants or statuses.

The public folder can be created at any level of the hierarchy.

A file installed in a public directory and declared with my-directory/my-file.txt in the configuration of a beta status tenant is searched at the following paths:

  1. conf/$SERVICE_ID/beta/public/my-directory/my-file.txt
  2. conf/$SERVICE_ID/-/public/my-directory/my-file.txt
  3. conf/-/public/my-directory/my-file.txt

Example

In the above file hierarchy, a promote image is available for all tenants. Services with the $SERVICE_ID ID redefine this image by providing a file with the same path.

Access URL

public files can be accessed at the following URL:

http://$DOMAIN_NAME/public/$PATH

Where $PATH corresponds to their path in the public directory.

The file is opened in the browser window. If the format is not supported by the browser, the file is automatically downloaded.

For consistency reason, on multi-server installation, this configuration directory structure and files must be identical ON ALL SERVERS except the one(s) only hosting the MongoDB environment.