Table of Contents

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>