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/)
| Module | Purpose |
|---|---|
System | Root types, base classes, infrastructure. Pulled in automatically by every module |
Time | Date and time properties and operations |
Authentication | Users, contacts, sign-in, locale, passwords |
Security | Roles and access policies |
Service | Service actions, database monitoring, aggregation recalculation, settings |
SystemEvents | Server-lifecycle events, connections, exceptions, appearance |
UserEvents | Programmatic access to a form's filters and orders |
Reflection | Metadata about the navigator, forms, properties, tables |
Scheduler | Scheduled actions |
Email | Email accounts, sending, and receiving |
Icon | UI icon catalogue and search |
Utils | A collection of helper properties and actions: file system, encoding, strings, numbers, JSON, full-text search, and so on |
Auxiliary (utils/)
| Module | Purpose |
|---|---|
Backup | Database backup and restore (see Backup and restore) |
Chat | In-application chat (see Chat) |
Eval | Runtime execution of lsFusion code (see EVAL) |
Excel | XLS / XLSX file handling |
Document / Word | Printable documents and templates |
Image / OpenCV | Image processing |
I18n | Machine translation of strings |
Integration | Generic integration actions |
MasterData | Base templates for master-data classes |
Numerator | Generic number generators |
Hierarchy | Object hierarchy by a parent[class] property: ancestors, levels, descendants, full name |
Historizable | Change-history storage |
Geo | Geographic data and operations |
Printer / QZTray / Sound / Com | Access to client-side hardware |
ProcessMonitor / Profiler | Server management and monitoring |
RabbitMQ / WebSocket / messengers | External transports |
SQLUtils | Database service operations |
DefaultData | Initial demo data |
Schedule | Calendars 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/REQUIREsyntax used to pull in system modules.