KernelModule

Represents a functional module within the solution, grouping related entities and features into cohesive units. Each module can define dependencies on other modules, ensuring proper initialization order and enabling plugin-based architectures.

9 properties
Schema

Properties

PropertyTypeModeDescriptionRequired
namestring
calculated

Unique technical name of the module used for identification and references

Example: "dms"

Required
labelstring
calculated

Human-readable display name of the module

Example: "Document Management"

Required
descriptionstring
calculated

Detailed description of the module purpose and capabilities

Optional
versionstring
calculated

Current version of the module following semantic versioning

Example: "1.0.0"

Optional
dependenciesKernelModule[]
calculated

List of modules that this module depends on

Optional
ordernumber
calculated

Display order for sorting modules in UI

Example: 9

Optional
metadatajson
calculated

Additional module configuration and metadata

Optional
modelsKernelModel[]
calculated

List of entity models that belong to this module

Optional
modelCountnumber
calculated

Number of entity models in this module

Optional

Examples

Example 1

{
  "@type": "KernelModule",
  "name": "kernel",
  "label": "Kernel",
  "description": "Core system primitives and base abstractions - modules and models registry",
  "version": "1.0.0",
  "order": 0
}

Example 2

{
  "@type": "KernelModule",
  "name": "catalog",
  "label": "Product Catalog",
  "description": "Product and inventory management for e-commerce and retail",
  "version": "2.1.0",
  "dependencies": [
    {
      "@type": "KernelModule",
      "name": "core"
    }
  ],
  "order": 10
}

Example 3

{
  "@type": "KernelModule",
  "name": "billing",
  "label": "Billing & Invoicing",
  "description": "Subscription management, invoicing, and payment processing",
  "version": "1.5.0",
  "dependencies": [
    {
      "@type": "KernelModule",
      "name": "core"
    },
    {
      "@type": "KernelModule",
      "name": "tenant"
    }
  ],
  "order": 15
}

Example 4

{
  "@type": "KernelModule",
  "name": "legacy-reports",
  "label": "Legacy Reports",
  "description": "Deprecated reporting module - use analytics module instead",
  "version": "1.0.0",
  "order": 99
}