Version: 2023.1.1

Feature Flags

Feature flags

Feature flags (also called Toggles) allow to globally enable or disable specific application features (that are by default disabled), either:

You can globally enable/disable the feature for everyone, or specify conditional filters to toggle filters only to a subset of users.

Syntax

"FeatureManagement": {
"searchStatistics": true/false/enabledFor,
"homeActions": true/false/enabledFor,
"searchAdvanced": true/false/enabledFor,
"searchCalendar": true/false/enabledFor,
"searchAsYouType": true/false/enabledFor,
"offline": {
"enabledFor": [
{
"name": "Client",
"parameters": {
"allowBrowsers": [ ... ],
"allowIPs": [ ... ],
"allowUsers": [ ... ],
"allowOnlyAdmins": true/false
}
}
]
},
"uppyLexmark": {
"enabledFor": [
{
"name": "Client",
"parameters": {
"allowIPs": [ ... ]
}
}
]
},
"archiveTargetsWithItemFlows": true/false/enabledFor
},

Each feature is identified by it's name, and can either:

  • be globally enabled for everyone by setting it to true
  • be globally disabled for everyone by settings it to false
  • be dynamically evaluated based on a list of pre-configured filters

Conditional Filters

Filters are identified by name and a set of parameters. Note that filters are evaluated using OR conditions (unfortunately a current Microsoft limitation), so the first match will overrule the others.

Client filter

Evaluate Client requirements: used browser, specific remote IP address or IP ranges.

Evaluate User requirements: specific users, group memberships, admins.

All the specified parameters are evaluated using an AND condition.

allowBrowsers

Evaluates the currently used browser by the user. Any combination of the following values is possible: Chrome, Internet Explorer 11, Edge, EdgeChromium, Opera, Safari, Firefox

Example:

"offline": {
"enabledFor": [{
"name": "Client",
"parameters": {
"allowBrowsers": [ "Chrome", "EdgeChromium", "Firefox" ],
}
}]
}
allowIPs

List of target remote IP addresses to enable the feature toggle.

allowIPRanges

List of target remote IP address ranges as CIDR notation to enable the feature toggle.

allowUsers

List of User IDs to enable the feature toggle.

allowGroups

List of Group IPs to enable the feature toggle.

allowOnlyAdmins

Default: false
Specify true to toggle this feature only for either Root or Tenant Admins.

TimeWindow filter

Toggle feature only during the specified time window.

"EnabledFor": [{
"Name": "TimeWindow",
"Parameters": {
"Start": "Wed, 01 May 2019 13:59:59 GMT",
"End": "Mon, 01 July 2019 00:00:00 GMT"
}
}]

Microsoft.Percentage

Toggle feature only for a random percentage subset of users.

"EnabledFor": [{
"Name": "Microsoft.Percentage",
"Parameters": {
"Value": 50
}
}]

Configuration Migration

IMPORTANT
Starting inPoint.Web 2021.1 Spring you must manually migrate from the old settings to the new format otherwise all features will be disabled!

The previous features flags were defined in the General/features list (only the ones you wanted to globally enable):

"General": {
"features": [ "searchStatistics", "searchAdvanced", "homeActions", "searchAsYouType" ],
...

The reasoning behind migrating to the new format is:

  • new built-in functionality supplied by Microsoft
  • allows more flexibility than a simple on/off switch
  • includes a pre-defined list of conditional filters
  • will eventually allow remote toggling of features (e.g. via Azure)

Available Features

Search Statistics

Named searchStatistics – hits the Fulltext server and tries to get search result counts in several places, like:

  • Home Favorite / Recent searches
  • While typing in the GlobalSearch dropdown (on top)
  • While typing in the Freetext search (within the Search view)

NOTE: this requires a Fulltext server capable of handling this and is not recommended for customers running their Fulltext Server on the same Server as inPoint (unless capable)

Named searchAdvanced – extends the normal "freetext" search with a guided keyword search (see Advanced Search).

Auto-Execute searches

Named searchAsYouType - will automatically execute search forms on any edit (without the user having to click on the Search button).

Home QuickActions

Named homeActions – enables the Home / Actions toggle which requires extra configuration (see Quick Actions).

img

Projects search results on a Calendar

Named searchCalendar - adds a new view mode to any search results to project any attribute dates it can find onto a Calendar. The user can also select which Date field he would like to see, and whether to show a Daily / Weekly / Monthly / Agenda Calendar view.
NOTE: still very experimental and more features are planned.

img

Offline

Named offline - enables all offline functionalities. These include:

  • running as a Progressive Web Application
  • suggests installing inPoint.Web as a desktop application
  • pre-fetching all required files to be able to start/run without a network connection (happens only once and on version updates)
  • marking folders as "Available Offline" (recursive - including all subfolders and all documents)
  • network resilience (unstable internet connection while on mobile)
  • partial offline editing:
    • Saving a Folder and/or Document's Classification (not all Fields are supported)
    • Adding notes to Folders and/or Documents
    • Uploading files

IMPORTANT Due to the requirement of pre-fetching application files before user authentication, the offline Client conditional feature flags filters work a bit differently:

  • Client filters (allowBrowsers, allowIPs, allowIPRanges) are evaluated first and if all matched a pre-fetch on first login will occur;
  • User filters (allowUsers, allowGroups, allowOnlyAdmins) can only be evaluated after login and will only apply to the "Make available offline" commands

Uppy Lexmark

External Uppy Plugin from WegenerIT (named uppyLexmark) that allows accessing the Lexmark MFP API to scan (and archive) directly into inPoint.Web while using the MFPs User Interface.

NOTE: This Plugin should only be enabled on the MFPs IP address

Archive targets with ItemFlows

Enable fetching and using ItemFlows to generate the upload classification form.

Note: If only one flow is returned it is auto-selected.

Deprecated Features

The following feature flags have been removed and are ignored:

Search Facets

Evaluation phase is over. We decided to remove the search facets in favor of refactoring the search mask.