Skip to main content
Version: 7.0

System modules

A system module is a module shipped with the platform. An application project pulls these modules in via REQUIRE and uses their declarations (classes, properties, actions, forms) as a ready-made standard library. The platform never expects them to be redefined.

System modules live under server/src/main/lsfusion/ in the platform repository: core modules under the system/ subfolder, additional utility modules under utils/. The platform loads the core modules itself, whatever the launch parameters say, and marks them as system ones, while the utility modules are ordinary resources reached like any other. Being loaded is not being depended on: only System is an implicit dependency of every application module, and a declaration from any of the others is reached through a direct or transitive REQUIRE.

Inventory​

Core (system/)​

ModulePurpose
SystemRoot types, base classes, infrastructure. Pulled in automatically by every module
TimeDate and time properties and operations
AuthenticationUsers, contacts, sign-in, locale, passwords
SecurityRoles and access policies
ServiceService actions, database monitoring, aggregation recalculation, settings
SystemEventsServer-lifecycle events, connections, exceptions, appearance
UserEventsProgrammatic access to a form's filters and orders
ReflectionMetadata about the navigator, forms, properties, tables
SchedulerScheduled actions
EmailEmail accounts, sending, and receiving
IconUI icon catalogue and search
UtilsA collection of helper properties and actions: file system, encoding, strings, numbers, JSON, full-text search, and so on

Auxiliary (utils/)​

ModulePurpose
BackupDatabase backup and restore (see Backup and restore)
ChatIn-application chat (see Chat)
EvalRuntime execution of lsFusion code (see EVAL)
ExcelXLS / XLSX file handling
Document / WordPrintable documents and templates
Image / OpenCVImage processing
I18nMachine translation of strings
IntegrationGeneric integration actions
MasterDataBase templates for master-data classes
NumeratorGeneric number generators
HierarchyObject hierarchy by a parent[class] property: ancestors, levels, descendants, full name
HistorizableChange-history storage
GeoGeographic data and operations
Printer / QZTray / Sound / ComAccess to client-side hardware
ProcessMonitor / ProfilerServer management and monitoring
RabbitMQ / WebSocket / messengersExternal transports
SQLUtilsDatabase service operations
DefaultDataInitial demo data
ScheduleCalendars and working intervals

The full list follows the contents of server/src/main/lsfusion/{system,utils}/ in the platform repository. Modules with a dedicated article link there.

Language​

  • Module header — the MODULE / REQUIRE syntax used to pull in system modules.