ModuleLicense Table (237)
Module licenses, belonging to one single ownerFields
| Name | Description | Type | Nullable |
|---|---|---|---|
| ModuleLicense_id | Primary key | PK | No |
| moduleName | The name of the module, not visible in GUI but used in the code. This must be in UPPER CASE and only contain A-Z and 0-9. NO EXTENDED CHARACTERS please. | String(239) | No |
| moduleDescription | Human-readable description of module, shown in GUI, default language. Additional languages can be added to LocaleText, resource type 25 | String(254) | No |
| moduleVersion | Version string for this module | String(254) | Yes |
| tooltip | Tooltip text, anything you want; shown when the cursor hovers over the line in the GUI. Default language. Additional languages can be added to LocaleText, resource type 27 | String(254) | No |
| licenseType | Entire system, per database, or per associate | Enum LicenseType | No |
| licenseNumber | Number of systems, databases or associates licensed | UInt | No |
| allowedAssocsMask | Bitmask of allowed associate types who can have this kind of license | UInt | No |
| extraFlags | Unspecified extra flags of license, part of checksum. Value=1 means this a ‘user plan’; such licenses cause the admin gui to switch to radiobutton view | UInt | No |
| extraInfo | Free field, can be used by the module owner (example: host domain, for eJournal). NOTE: For rows with extraFlags=1 this field contains the list of modules that this plan comprises | String(3999) | Yes |
| encryptedCheck | Encrypted checksum that stops tampering and copying between databases | String(254) | No |
| registered | Registered when | UtcDateTime | No |
| registered_associate_id | Registered by whom | FK associate | No |
| updated | Last updated when | UtcDateTime | No |
| updated_associate_id | Last updated by whom | FK associate | No |
| updatedCount | Number of updates made to this record | UShort | No |
| ModuleOwner_id | Link to owner of this module | FK ModuleOwner | No |
| sortOrder | Ordering value - generated by SuperLicense and transferred here. Must be followed for signatures to be correct | Id | Yes |
| signature | Signature that verifies that this row is correctly transferred from SuperLicense | String(254) | Yes |
| unrestricted | If true, then there is no licenseNumber limit on how many of these modules may be assigned | Bool | Yes |
| hidden | If true, then this module should not appear in GUI and is not assignable by users | Bool | Yes |
| prerequisiteModule | If set, specifies a module license needed before this license can be granted | String(239) | Yes |

Indexes
| Fields | Types | Description |
|---|---|---|
| moduleName, moduleVersion, ModuleOwner_id | String(239), String(254), FK | Unique |
Relationships
| Table | Description |
|---|---|
| associate | Employees, resources and other users - except for External persons |
| LicenseAssocLink | Link between ModuleLicense and Associate, for per-assoc licenses; this is how licenses are assigned/consumed |
| LicenseSatlLink | Link between License and Satellite, for per-database licenses |
| ModuleOwner | Unique owner of a set of licensed modules |
Replication Flags
- Replicate changes DOWN from central to satellites and travellers.
- Copy to satellite and travel prototypes.
Security Flags
- No access control via user’s Role.