Concurrency Viewer
Introduction
Available only on MibFront in ASP .NET Core, the concurrency viewer allows one to see if there are other users editing or viewing the current data displayed in the page.
Concurrency Micro-Service
The concurrency micro-service is required for this to work. It stores the user information needed to properly display which user is interacting with the data, and is available as a Docker image from Amazon ECR.
Enabling the service
The service is only distributed as a Docker image, and can be downloaded from the following URL as long as the user has the correct credentials:
873339144623.dkr.ecr.us-east-1.amazonaws.com/agile/mib-cms-microservices-concurrency
Sample docker-compose.yml:
version: '3'
services:
mibconcurrency:
image: 873339144623.dkr.ecr.us-east-1.amazonaws.com/agile/mib-cms-microservices-concurrency-alpine
restart: unless-stopped
ports:
- 80:80
environment:
- mibauthorizationclientconfig_default_serverurl=http://cmsauth
- mibcacheconfig_default_app=true
- MibConcurrencyConfig_default_SlidingExpirationTime=00:05:00
Configurations
It needs the following configuration files or equivalent environment variables:
MibConcurrencyConfig (not all settings are required)
<?xml version="1.0" encoding="utf-8"?>
<mibConfig>
<default>
<slidingExpirationTime>00:04:00</slidingExpirationTime>
<inMemoryExpirationScanFrequency>00:10:00</inMemoryExpirationScanFrequency>
<userIdCacheExpirationTime>00:01:00</userIdCacheExpirationTime>
</default>
</mibConfig>
MibAuthorizationClientConfig
<?xml version="1.0" encoding="utf-8"?>
<mibConfig>
<default>
<serverurl>https://auth-url</serverurl>
</default>
</mibConfig>
MibCacheConfig
<?xml version="1.0" encoding="utf-8"?>
<mibConfig>
<default>
<app>true</app>
</default>
</mibConfig>
Configuration Files
Some configuration files are required to set the address of the concurrency micro-service.
MibCmsFrontEndServerBaseConfig
<?xml version="1.0" encoding="utf-8" ?>
<mibConfig>
<default>
<userConcurrencyServiceUrl>http://concurrency.microservice.example.org</userConcurrencyServiceUrl>
<userConcurrencyPollingTime>00:00:10</userConcurrencyPollingTime>
</default>
</mibConfig>