Once the installation of the ROB-EX Scheduler Floating License Server has completed, the Floating License Server is pre-configured and ready to go.

The default configuration is located in the config.json file under the Floating License Server installation folder. Default location is C:\Program Files (x86)\ROB-EX\LicenseServer\config.json.
The config file can be edited using a text editor and the first time it is opened it will look like below:

{
  "hostName": "0.0.0.0",
  "port": 11900
}

The default Floating License Server config can be further supplemented with a lease configuration. The Lease configuration allows the user to sub-divide the base license into groups.

Lease configuration

The lease configuration consists of a number of lease groups.

Each lease group consists of a name and map of client types. The name can be any string, but the name “default” is reserved for the default group.

The default group is a special group that can be thought of as a basis for the other groups i.e. all other groups extends the default group, if present.

Each client type mapping maps a client type (PLANNER, VIEWER, INTEGRATION) to a client type configuration.

The client type configuration consists of two parameters, clients and disabled.

The clients parameter defines the number of clients, for the given client type and group, that is allowed to start at any given time. This number can never exceed that of the base license for the same client type, and if not defined, it will be inherited from the default group.
Note: The number of clients is allowed to be 0.

The disabled parameter is a list of modules that are not allowed to be used for that specific lease group and client type. If not defined, this will be inherited from the default group.

Below are some examples explaining the usage of these different concepts.

License evaluation

When a PLANNER client is started, using a specific lease group, we first check that the group has a client type configuration for PLANNER. If not, we check if the default group is present and has the client type. If this is also not the case, we evaluate against the base license.
Next, we check that the total sum of planners clients is below the limit for the base license and that the sum of planner clients for the group is below the defined clients limit, if so the client is allowed to start.

Setting the lease group

The lease group can be set in different ways

  • By adding the -DLeaseGroup=<group> property as one of the first lines of the GanttSetup.properties file
  • By setting the -DLeaseGroup=<group> property on the startup shortcut of ROB-EX Desktop Client.
  • Through the license activation process, see Activating a license – Floating license. This will persist the lease group into the common licenseConfig.xml file, making it more complicated to support in a multi-site setup. For a multi-site setup the above two solutions are a better fit.

List of modules

The full list of modules that can be disabled can be seen below:

[
	"SCHEDULER_APIDEVKIT",
	"SCHEDULER_BATCH",
	"SCHEDULER_BOM",
	"SCHEDULER_CSV_PROGRESS_IMPORT",
	"SCHEDULER_CSV1",
	"SCHEDULER_CSV2",
	"SCHEDULER_HTML",
	"SCHEDULER_MACRO",
	"SCHEDULER_MANPOWER",
	"SCHEDULER_MULTIUSER_SERVER",
	"SCHEDULER_PLUS",
	"SCHEDULER_PROJECT",
	"SCHEDULER_REST",
	"SCHEDULER_SEQUENCER",
	"SCHEDULER_SERIES",
	"SCHEDULER_SHOPFLOOR",
	"SCHEDULER_SOA",
	"SCHEDULER_SQL_MRP2",
	"SCHEDULER_SQL_XAL",
	"SCHEDULER_XML_MRP2"
]

Examples

Simple example

Here we have 2 lease group define, namely the “testgrp” and the “DEFAULT” group. The testgrp have mapped the PLANNER client type and given it 5 clients, meaning that for the users that start ROB-EX Scheduler using this group, they will never be able to use more than 5 clients at the same time, regardless of the base license having e.g 20 planner clients.

Furthermore, users that start ROB-EX Scheduler as a PLANNER and are using testgrp, will not be able to use the modules SCHEDULER_CSV1 and SCHEDULER_CSV2, since they are disabled.
Since the testgrp only have a mapping for the PLANNER client type, but the default group is defined with a VIEWER mapping, the testgrp will inherit this. So, if there are users that log in as viewers, using the testgrp, they can only ever have one viewer at a given time.
If the testgrp did not have a number of clients defined for the client type PLANNER, then this would be inherited from the default group and would hence be 2.

Since we have the default group defined and it has mappings for VIEWER and PLANNER, this means that planners and viewers that login without a lease group, will be using the default group.
The default group can also disable modules, just like any other group.

{
  "hostName": "0.0.0.0",
  "port": 11900,
  "leaseConfiguration": {
    "leaseGroups": [
      {
        "name": "testgrp",
        "clientTypes": {
          "PLANNER": {
            "clients": 5,
            "disabled": [
              "SCHEDULER_CSV1",
              "SCHEDULER_CSV2"
            ]
          }
        }
      },
      {
        "name": "DEFAULT",
        "clientTypes": {
          "PLANNER": {
            "clients": 2
          },
          "VIEWER": {
            "clients": 1
          }
        }
      }
    ]
  }
}

Site example

Below example shows a use case where a customer has e.g. 8 planner clients that have to be shared between their EU and Asia sites. To avoid that one site occupies all the licenses for the planner client type, they could create two groups like below and give each 5 clients. The total number of active planners can still only ever be 8, but they make sure that there will always be at least 3 planners available for each site, so that one site is not locked out of their ROB-EX Scheduler.

{
  "hostName": "0.0.0.0",
  "port": 11900,
  "leaseConfiguration": {
    "leaseGroups": [
      {
        "name": "EU",
        "clientTypes": {
          "PLANNER": {
            "clients": 5
          }
        }
      },
	  {
        "name": "Asia",
        "clientTypes": {
          "PLANNER": {
            "clients": 5
          }
        }
      }
    ]
  }
}

Disable integration modules

Below example shows a use case where a customer wants to disable all integration modules for normal users since they only want the integration client to handle integration.
Furthermore, they don’t want users to have to log in using a specific group. This can be handled with below configuration.

By disabling the modules for the PLANNER and VIEWER client type in the default group and not defining any other group, we allow the INTEGRATION client to use all available modules and for normal planners and viewers to login without having to define a group, but still limiting what modules they have available.

{
  "hostName": "0.0.0.0",
  "port": 11900,
  "leaseConfiguration": {
    "leaseGroups": [
      {
        "name": "DEFAULT",
        "clientTypes": {
          "PLANNER": {
            "disabled": [
              "SCHEDULER_CSV_PROGRESS_IMPORT",
              "SCHEDULER_CSV1",
              "SCHEDULER_CSV2",
              "SCHEDULER_SHOPFLOOR",
              "SCHEDULER_SOA",
              "SCHEDULER_SQL_MRP2",
              "SCHEDULER_SQL_XAL",
              "SCHEDULER_XML_MRP2"
            ]
          },
          "VIEWER": {
            "disabled": [
              "SCHEDULER_CSV_PROGRESS_IMPORT",
              "SCHEDULER_CSV1",
              "SCHEDULER_CSV2",
              "SCHEDULER_SHOPFLOOR",
              "SCHEDULER_SOA",
              "SCHEDULER_SQL_MRP2",
              "SCHEDULER_SQL_XAL",
              "SCHEDULER_XML_MRP2"
            ]
          }
        }
      }
    ]
  }
}

Feedback

Was this helpful?

Yes No
You indicated this topic was not helpful to you ...
Could you please leave a comment telling us why? Thank you!
Thanks for your feedback.

Post your comment on this topic.

Post Comment