All Configuration Options for Pristy

All Pristy applications can be configured using a JSON configuration file: env-config.json.

Dynamic vs Static Parameters

Pristy configuration parameters are divided into two categories:

Dynamic Parameters

Dynamic parameters can be modified directly from the Pristy Espaces administration interface (Configuration menu). These parameters are defined in the application’s config-descriptions.json file and feature an intuitive graphical interface with:

  • Contextual descriptions in French and English
  • Data type validation (text, number, boolean, array, object)
  • Predefined default values
  • Ability to add or remove options
  • Automatic saving of modifications

List of dynamic parameters modifiable via the interface:

  • ALLOWED_FILE_EXTENSIONS - Allowed file extensions
  • APP_ROOT_TITLE - Application title
  • ASPECTS - Available Alfresco aspects
  • BREADCRUMB_ROOT_URL - Breadcrumb root URL
  • CONSTRAINTS - Metadata constraints
  • DEFAULT_ELEMENT_PER_PAGE - Default number of elements per page
  • EDIT_WITH_MSOFFICE - Microsoft Office editing
  • MATOMO_ENABLE, MATOMO_INSTANCE_URL, MATOMO_SITE_ID - Matomo configuration
  • METADATA - Metadata configuration
  • NEW_PASSWORD_RULES - Password validation rules
  • OPEN_PDF_WITH_COLLABORA - Open PDFs with Collabora
  • PRIMEVUE_THEMES_URL - PrimeVue themes URL
  • primeConfig - PrimeVue configuration
  • ROW_PER_PAGE_OPTIONS - Pagination options
  • SEARCH_BASE_FILTER_QUERIES - Search filter queries
  • SEARCH_FACET - Search facet configuration
  • SEARCH_FACET_QUERIES - Facet queries
  • SEARCH_USER_QUERY - User search query
  • SENTRY_DSN, SENTRY_ENABLE - Sentry configuration
  • SHOW_ACA_LOGIN_LINK - ACA link display
  • SHOW_FAVORITES - Favorites display
  • SHOW_RECENT - Recent files display
  • SHOW_SEARCH - Search display
  • THEME - Application theme

Static Parameters

Static parameters can only be modified by manually editing the env-config.json file on the server. These parameters typically concern:

  • URLs configuration for different Pristy applications
  • Authentication settings (Keycloak, LemonLDAP)
  • Critical system configurations
  • Module-specific parameters (Actes, Marchés, Social)

After modifying a static parameter, restarting the application may be necessary.


Complete Parameter List

This section presents all configuration parameters available in Pristy, organized by functional category. Parameters marked as Dynamic can be modified via the administration interface.

General Parameters

APP_ROOT (string) - Static
Application prefix corresponding to the base URL. Common values: /portail/, /espaces/, /actes/, /marches/, /social/.
APP_ROOT_TITLE (string) - Dynamic
Application name displayed in the user interface. Example: "Pristy Portal", "Pristy Espace", "Pristy Actes". Default value depends on the application.
BREADCRUMB_ROOT_URL (string) - Dynamic
Root URL for the breadcrumb navigation. Defines the starting point for tree navigation. Example: /mes-espaces, /admin, /mes-marches. Default value: /mes-espaces.
THEME (string) - Dynamic
Application theme. Default value: "auto" (automatically detects light or dark theme based on system preferences).

Alfresco Parameters

ALFRESCO_HOST (string) - Static
Full address of the Alfresco Content Services server. Example: "https://demo.pristy.net", "http://localhost:8010". Required.
ALFRESCO_ROOT (string) - Static
Base path of the Alfresco server. Default value: "alfresco".
ALFRESCO_AUTH (string) - Static
Alfresco authentication type. Default value: "BASIC".
PREVIEW_URL (string) - Static
Base URL for document preview. Example: "https://demo.pristy.net/portail/preview/".

Authentication Parameters

AUTH (string) - Static
Application authentication type. Possible values: "basic", "keycloak", "lemonldap". Default value: "basic".

Basic Mode

In basic mode, the user enters their username and password directly on the application’s login page.

Keycloak / OIDC Mode

In keycloak mode, authentication is delegated to a Keycloak server. The following parameters are required:

OIDC_REALM (string) - Static
Name of the Keycloak realm associated with the application. Example: "pristy-realm".
OIDC_CLIENT_ID (string) - Static
Application’s client ID in Keycloak. Example: "pristy-front".
OIDC_PROVIDER (string) - Static
Keycloak server URL. Example: "https://auth.jeci.tech/".
OIDC_RESPONSE_TYPE (string) - Static
OIDC response type. Default value: "id_token token".
OIDC_CUSTOM (object) - Static
Custom OIDC configuration. Structure:
{
  "realm": "alfresco-boule",
  "url": "https://auth.jeci.tech/",
  "clientId": "pristy-front"
}

LemonLDAP-NG / OIDC Mode

In lemonldap mode, authentication is delegated to LemonLDAP-NG (OIDC parameters similar to Keycloak mode).

Application URLs

ACTES_HOST (string) - Static
Full URL of the Pristy Actes application. Example: "https://demo.pristy.net", "http://localhost:8011".
ESPACES_HOST (string) - Static
Full URL of the Pristy Espaces application. Example: "https://demo.pristy.net", "http://localhost:8010".
PORTAIL_HOST (string) - Static
Full URL of the Pristy Portail application. Example: "https://demo.pristy.net", "http://localhost:8009".
MARCHES_HOST (string) - Static
Full URL of the Pristy Marches application. Example: "https://demo.pristy.net", "http://localhost:8012".
SOCIAL_HOST (string) - Static
Full URL of the Pristy Social application. Example: "https://demo.pristy.net", "http://localhost:8013".
ACA_HOST (string) - Static
Full URL of the Alfresco Content Application interface. Example: "https://demo.pristy.net", "http://localhost:8010".
ACA_LINK (string) - Static
Link to the ACA interface. Example: "https://demo.pristy.net/aca/", "http://localhost:8080/aca/".

Pristy Menu Parameters

MENU_ESPACES (boolean) - Static
Displays the “Workspaces” menu in the portal. Default value: true.
MENU_ACTES (boolean) - Static
Displays the “Administrative Acts” menu in the portal. Default value: true.
MENU_MARCHES (boolean) - Static
Displays the “Public Markets” menu in the portal. Default value: true.
MENU_SOCIAL (boolean) - Static
Displays the “Social” menu in the portal. Default value: true.

Metadata and Data Models

METADATA (array) - Dynamic
Complete configuration of metadata fields displayed in the application. Each entry defines a field with its properties. Field structure:
{
  "id": "cm:title",
  "labelId": "field.title",
  "display": ["popup", "details", "advancedSearch"],
  "input": "text",
  "readOnly": false,
  "modelAspect": "cm:titled",
  "order": 2
}

Available properties:

  • id (string, required): Alfresco field identifier (e.g., "name", "cm:title", "exif:flash")
  • labelId (string): i18n translation key for the label
  • title (string): Alternative title if labelId is not provided
  • display (array): Where to display the field. Values: "popup", "details", "advancedSearch", "datatable"
  • input (string): Input type. Values: "text", "datetime", "date", "boolean", "int", "float", "double", "list"
  • readOnly (boolean): Read-only field
  • modelType (string): Concerned Alfresco content type (e.g., "cm:content", "cm:folder")
  • modelAspect (string): Concerned Alfresco aspect (e.g., "cm:titled", "cm:author", "exif:exif")
  • constraint (string): Associated constraint name (if input = "list")
  • order (number): Display order

Common field examples:

  • Document name: "name"
  • Title: "cm:title"
  • Description: "cm:description"
  • Author: "cm:author"
  • Creation date: "createdAt"
  • Modification date: "modifiedAt"
  • Creator: "createdByUser"
  • Modifier: "modifiedByUser"
  • Version: "cm:versionLabel"
  • Size: "size"
  • MIME type: "mimeType"
ASPECTS (array) - Dynamic
List of Alfresco aspects available for manual addition to documents via the interface. Structure:
[
  {
    "id": "exif:exif",
    "title": "EXIF",
    "labelId": "exif_exif"
  },
  {
    "id": "cm:author",
    "title": "Author",
    "labelId": "cm_author"
  },
  {
    "id": "cm:titled",
    "title": "Title",
    "labelId": "cm_titled"
  }
]

Default value: [] (empty list).

CONSTRAINTS (array) - Dynamic
Defines constrained value lists for metadata fields. Two types of constraints are supported:
  1. Static constraint: Hard-coded value list
{
  "name": "authors",
  "type": "static",
  "list": [
    {
      "id": "jlesage",
      "label": "Jérémie Lesage",
      "labelId": ""
    },
    {
      "id": "cpiassale",
      "label": "Cindy Piassale",
      "labelId": ""
    }
  ]
}
  1. Dynamic constraint: List loaded via an Alfresco webscript
{
  "name": "sample",
  "type": "webscript",
  "uri": "/s/constraints/sample"
}

Default value: example static constraint with 3 values.

Pagination

DEFAULT_ELEMENT_PER_PAGE (number) - Dynamic
Default number of elements displayed per page. User’s choice is stored in the browser. Default value: 10.
ROW_PER_PAGE_OPTIONS (array) - Dynamic
Pagination choices offered to the user in the interface. Default value: [5, 10, 20, 40].
SEARCH_BASE_FILTER_QUERIES (array) - Dynamic
Solr filter queries applied by default to all searches. Allows excluding certain content types. Default value:
[
  { "query": "+TYPE:'cm:folder' OR +TYPE:'cm:content'" },
  { "query": "-TYPE:'cm:thumbnail' AND -TYPE:'cm:failedThumbnail' AND -TYPE:'cm:rating'" },
  { "query": "-cm:creator:System AND -QNAME:comment" },
  { "query": "-TYPE:'st:site' AND -ASPECT:'st:siteContainer' AND -ASPECT:'sys:hidden'" },
  { "query": "-TYPE:'dl:dataList' AND -TYPE:'dl:todoList' AND -TYPE:'dl:issue'" },
  { "query": "-TYPE:'fm:topic' AND -TYPE:'fm:post' AND -TYPE:'fm:forum'" },
  { "query": "-TYPE:'lnk:link'" },
  { "query": "-PNAME:'0/wiki'" }
]
SEARCH_FACET (array) - Dynamic
Configuration of facets (filters) displayed in search results. Structure:
[
  {
    "field": "content.mimetype",
    "mincount": 1,
    "label": "facets.fields.file_type"
  },
  {
    "field": "creator",
    "mincount": 1,
    "label": "facets.fields.creator"
  },
  {
    "field": "modifier",
    "mincount": 1,
    "label": "facets.fields.modifier"
  },
  {
    "field": "SITE",
    "mincount": 1,
    "label": "facets.fields.location"
  },
  {
    "field": "TYPE",
    "mincount": 1,
    "label": "facets.fields.type"
  }
]

Properties:

  • field (string): Solr field on which to build the facet
  • mincount (number): Minimum number of occurrences to display a value
  • label (string): i18n key for the facet label
SEARCH_FACET_QUERIES (array) - Dynamic
Facets based on complex Solr queries, typically for date filters. Default value (for Espaces):
[
  {
    "label": "facets.queries.today",
    "query": "cm:modified:[TODAY to TODAY]",
    "group": "facets.categories.modified_date"
  },
  {
    "label": "facets.queries.this_week",
    "query": "cm:modified:[NOW/DAY-7DAYS TO NOW/DAY+1DAY]",
    "group": "facets.categories.modified_date"
  },
  {
    "label": "facets.queries.this_month",
    "query": "cm:modified:[NOW/DAY-1MONTH TO NOW/DAY+1DAY]",
    "group": "facets.categories.modified_date"
  },
  {
    "label": "facets.queries.last_6_months",
    "query": "cm:modified:[NOW/DAY-6MONTHS TO NOW/DAY+1DAY]",
    "group": "facets.categories.modified_date"
  },
  {
    "label": "facets.queries.this_year",
    "query": "cm:modified:[NOW/DAY-1YEAR TO NOW/DAY+1DAY]",
    "group": "facets.categories.modified_date"
  }
]

Pristy Marches uses specific facets for market creation and notification dates (mm:dateCreation, mm:dateNotification).

SEARCH_USER_QUERY (string) - Dynamic
Solr query template for user search. The %s string is replaced by the search term. Default value (Espaces): "((cm:name:\"%s*\" OR cm:title:\"%s*\" OR cm:description:\"%s*\" OR TEXT:\"%s*\" OR TAG:\"%s*\"))".

Example for Marches (includes business fields): "((cm:name:\"%s*\" OR cm:title:\"%s*\" OR cm:description:\"%s*\" OR TEXT:\"%s*\" OR TAG:\"%s*\" OR mm:objetMarche:\"%s*\" OR mm:numMarche:\"%s*\") AND TYPE:\"mm:documentMarche\" OR (TYPE:\"cm:content\" AND ASPECT:\"mm:repriseMarches\"))".

PrimeVue Themes

Users can choose a theme according to their preferences. By default, Lara themes from PrimeVue 3.53 are loaded.

PRIMEVUE_THEMES_URL (string) - Dynamic
Base URL for downloading PrimeVue theme CSS stylesheets. Default value: "https://cdnjs.cloudflare.com/ajax/libs/primevue/3.53.1/resources/themes".

For offline installation, point to the portal application: "https://demo.pristy.net/portail/themes/".

primeConfig (object) - Dynamic
Global PrimeVue configuration. Default value:
{
  "ripple": true,
  "inputStyle": "outlined"
}

Properties:

  • ripple (boolean): Enables ripple effect on buttons
  • inputStyle (string): Input field style ("outlined" or "filled")

Collabora Online

Configuration for online editing with Collabora Online (LibreOffice Online).

COLLABORA_HOSTING_DISCOVERY (string) - Static
URL of the Collabora Online discovery file. Example: "https://demo.pristy.net/espaces/hosting/discovery.xml", "http://localhost:8010/espaces/hosting/discovery.xml".
OPEN_PDF_WITH_COLLABORA (boolean) - Dynamic
Opens PDF files with Collabora Online instead of the native PDF reader. Default value: false.
EDIT_WITH_MSOFFICE (boolean) - Dynamic
Displays the “Open with Microsoft Office” button to edit Office documents directly (MS-OFBA protocol). Only works on Windows with Office installed. This component is not free. Default value: true.

Analytics and Monitoring

Sentry

Requires a self-hosted Sentry instance or a subscription on sentry.io for error monitoring.

SENTRY_ENABLE (boolean) - Dynamic
Enables or disables Sentry integration. Default value: false.
SENTRY_DSN (string) - Dynamic
Data Source Name for Sentry connection. Format: "https://<key>@<organization>.ingest.sentry.io/<project>". Example: "https://abcdefghabcdefghabcdefgh12345678@o0000000000000000.ingest.sentry.io/0000000000000000".

Matomo

Configuration for the Matomo web analytics tool (free alternative to Google Analytics).

MATOMO_ENABLE (boolean) - Dynamic
Enables or disables Matomo integration. Default value: false.
MATOMO_INSTANCE_URL (string) - Dynamic
URL of the Matomo instance. Example: "https://matomo.example.com".
MATOMO_SITE_ID (string or number) - Dynamic
Site identifier in Matomo. Example: "1" or 1.

Interface Options

SHOW_ACA_LOGIN_LINK (boolean) - Dynamic
Displays a link to the Alfresco Content Application (ACA) interface in the menu. Default value: false.
SHOW_FAVORITES (boolean) - Dynamic
Displays the “Favorites” section in the Espaces interface. Default value: true.
SHOW_RECENT (boolean) - Dynamic
Displays the “Recent Files” section in the Espaces interface. Default value: true.
SHOW_SEARCH (boolean) - Dynamic
Displays the search field in the interface. Default value: true.
ALLOWED_FILE_EXTENSIONS (array) - Dynamic
List of file extensions allowed for upload. Default value: [] (all extensions allowed). Example: [".pdf", ".doc", ".docx", ".xls", ".xlsx", ".jpg", ".png"].

Security

NEW_PASSWORD_RULES (string) - Dynamic
Password validation rules displayed to the user when changing their password. Default value: "Password must contain at least 8 characters, one uppercase letter, one lowercase letter, one number and one special character". French version: "Le mot de passe doit contenir au moins une lettre majuscule, un chiffre, et un caractère spécial.".

Pristy Actes

Parameters specific to the Pristy Actes application for administrative acts management.

WEBDELIB (boolean) - Static
Enables WebDelib integration. Default value: false.
DELIB_PUBLICATION (string) - Static
Deliberation publication mode. Default value: "add-tampon-actes".
HIDE_SEANCE (boolean) - Static
Hides the display of sessions. Default value: false.

Dashboard Configuration (Portal only)

DASHBOARD_CONFIG (array) - Static
Advanced portal dashboard configuration. Defines widgets, their positioning, and their parameters. This complex parameter allows creating custom layouts with a flexible grid.

Configuration structure:

{
  "key": "configA",
  "configJson": {
    "gridSettings": {
      "columns": 6,
      "rows": 14
    },
    "blocConfig": [
      {
        "id": "favoriteSite",
        "title": "My favorite workspaces",
        "type": "favoriteSite",
        "gridPosition": {
          "colStart": 1,
          "colEnd": 4,
          "rowStart": 1,
          "rowEnd": 3
        }
      }
    ]
  }
}

Available widget types:

  • favoriteSite: Favorite workspaces
  • favoriteFile: Favorite files
  • tasksKnob: Circular task indicator
  • tasksCalendar: Task calendar
  • myActivity: Activity history
  • bookmarks: Custom quick links
  • externalApps: Links to external applications
  • markdown: Custom Markdown content (announcements)
  • listApp: List of Pristy applications
  • siteMembershipRequest: Workspace access requests

Last Update - July 30, 2026
Call To Action 📣

Try Pristy

You can try the Pristy demo by signing up using the link below.

Demander une démo