Skip to main content

Module

A Module is a purpose-oriented building block of the tSM Platform.
While a Microservice describes a technical deployable, a Module groups everything users experience around a business domain:

  • the primary microservice that powers it,
  • domain configuration elements (forms, processes, listings, notifications, widgets),
  • optional metadata and tags for governance and rollout.

Each module operates as an independent yet interoperable component on top of the shared tSM Core.

Typical uses:

  • Product structuring — present clear domains in admin UI (e.g., Privisioning, Service Assureance, DMS, Notifications, Integrations).
  • Configuration — add module-wide business configuration
  • Packaging — collect all UI/automation assets that belong to one domain for simpler promotion across environments.
  • Routing — record which microservice is the primary backend for a given domain.

Think of Modules as the what (business capability) and Microservices as the how (runtime unit).


Reference

Module (attributes)

FieldTypeRequiredRead-onlyDescription / Notes
idUUIDIdentifier (not intended for end-user display).
codeStringYesUnique ASCII code (no spaces). Used in configuration and cross-references.
nameStringYesDisplay name shown in admin UI.
descriptionStringOptional longer description/tool-tip.
validityFrom/ToDateTime window during which the module is considered active.
validBoolYesComputed from validity; not stored.
modulTypeStringClassification of the module type (taxonomy for your organization).
primaryMicroserviceStringCode of the Microservice that primarily implements this module.
formSpecificationMapExtra form-level specifications for this module (key/value).
configMapFree-form configuration used by admin/UI tooling (not a deployment substitute).
dataTagsListLabels for grouping/reporting (e.g., core, ops, external, pilot).
localizationDataObjectTranslations for name/description.
auditInfoObjectStandard audit metadata.

Good Practices

  • Stable code — treat it as an immutable key referenced by configs and automations.
  • One primary microservice — set primaryMicroservice for routing/ownership clarity; link others via documentation/tags.
  • Keep config lightweight — UI hints and small flags only; runtime knobs belong to deployment (Kubernetes).
  • Use validity for rollouts — stage modules with validityFrom/To across environments (DEV → UAT → PROD).
  • Tag consistently — establish a small controlled vocabulary for dataTags to power dashboards and access controls.
  • Bundle assets logically — store forms, processes, listings, notifications, and widgets under the module they belong to.

See Also

  • System Settings: Microservice — technical services inventory (backend URLs, tags)
  • Notifications, Logs, Attachments — common domain modules that appear in most installations
  • tSM Core — shared foundations modules build upon