lsFusion Documentation
website·Indexed 33 days ago
https://docs.lsfusion.org/Documentation for the lsFusion platform, covering its unique paradigm, language syntax, and operators. Includes guides on creating properties and actions using statements like = and ACTION, managing aggregations, and implementing system interactions via the Action API for both internal and external systems.
What's inside lsFusion
- The lsFusion platform provides a structured learning path consisting of a step-by-step tutorial series, documentation on the platform's paradigm and language syntax, IDE usage guides, and an online demo featuring live applications.
Overview of lsFusion Form Operator categories
Form operators in lsFusion are categorized by their primary function:
- Value input: Used for inputting values into the form.
- Object group operators: Used to operate on object groups within a form structure.
- Focus operators: Used to manage and report on the activity/focus of form elements.
- Capture: Used to create actions that capture the current visual state of the user interface (screenshots).
- Container visibility: Used to control whether the contents of collapsible form containers are visible or hidden.
Overview of Class Operators in LSFusion
LSFusion provides class operators to handle object classification and property validation. The primary operators include:
- Classification (
IS/AS): Used to determine if a specific object belongs to a given class. - Signature matching (
ISCLASS): Used to determine if a property can have a value for specific objects based on their classes.
- Classification (
Overview of the lsfusion Chat mechanism
The chat is a built-in platform mechanism used for exchanging text messages between system users and broadcasting system notifications. It supports group rooms, one-to-one dialogs, file attachments, replies, and push notifications. Text formatting and links in the message feed are rendered automatically. The chat is available in both web and desktop clients.Overview of Property Extension in lsFusion
Property extension allows an abstract property to be declared in one module and its implementations to be defined in other modules. This acts as a deferred construction of a property, similar to a selection operator: the base module defines the contract (result class and parameter classes), and other modules add specific implementations. This technique is used to implement property polymorphism and reduce dependencies between modules by creating entry points for future property calculation changes.Overview of lsFusion Print view
The Print view of a form consists of a set of templates called reports. When data is substituted into these templates, a document is generated in either graphic (pixel positioning) or pseudographic (cell positioning) format. This document can be displayed in a special graphic component for navigation, zooming, and printing, or it can be exported directly to formats like PDF or Excel without being displayed to the user.Overview of available file operators
The platform provides four primary file operators for handling data movement and file system interactions:READfor reading files,WRITEfor writing files,IMPORTfor importing data into the system, andEXPORTfor exporting data from the system.Overview of the Icon system module
TheIconmodule stores a catalogue of UI icons from Font Awesome and Bootstrap Icons. It allows developers to find the best icon for a text query using full-text search. To use this module, it must be pulled in viaREQUIRE Icon(which also requiresUtils,Reflection, andSystemEvents).Overview of Action Operators in lsFusion
An Action operator is a syntax construct used to create an action. These operators are categorized into two types based on their ability to access external context:
- Context Dependent Operators: These can use external context parameters and are used wherever an action needs to be defined, such as when creating other actions or events.
- Context Independent Operators: These cannot use external context parameters and are restricted for use only within the
ACTIONstatement.
Overview of lsFusion statements
In lsFusion, the code within any module consists of a sequence of statements. Most statements must end with a semicolon (;), except for theMETAstatement and any statement immediately followed by a closing brace}.Overview of lsFusion AI guidance
lsFusion provides specific guidance to help AI assistants and developers generate correct lsFusion code. This includes a 'Brief' (a concise map of properties, actions, forms, and operators for quick code generation) and a set of 'Rules' (mandatory conventions for module structure, naming, and common pitfalls) that should be followed before generating.lsfcode.Overview of LS Fusion structured view formats
LS Fusion supports two primary types of structured views (formats) for exporting and importing form data:
- Hierarchical (XML, JSON): Data is stored in a single text file. Information for object groups is nested as lists inside their parent groups.
- Flat (DBF, CSV, XLS, XLSX, TABLE): Each object group has its own table file. For groups with nesting deeper than one level, a
parentcolumn must be included to reference the row number of the parent group. Flat formats are generally recommended only for simple forms with a hierarchy depth of less than one.
Format Classifications:
- Human-readable vs. Binary: Hierarchical formats and CSV are human-readable (UTF-8 by default). DBF, TABLE, XLS, and XLSX are binary.
- Standardized vs. Internal:
TABLEis the only internal format, used for specific integration operations (like SQL calls) and inter-system communication. All others are standardized.