On the low-level, SimpleOne is a big relational database that has an interface to manage this database.
The database consists of the tables and columns interconnected in many ways.
Tables are divided into two sets: system tables and functional tables.
The system tables are used for business logic implementation. They store the inner mechanisms placed there by administrators of the system.
Most of them are write-protected to prevent system disruption.
The purpose of functional tables is to store the data models used in the business logic implementation.
System tables, in turn, are divided into several groups, called "layers". In these layers, tables are grouped functionally.
On this layer, the tables keep information about the system structure (tables relationships and dependencies, fields relationships, access rights allocation, and so on).
This table group stores information about the table structure of the system.
This table group stores information about the fields structure in the tables.
This table group contains specific parameters reliable for the system behavior as a whole, or for the specified modules, for example, the system locale or the timezone,
This table group stores information about access control lists (ACLs). Particularly, the structure of roles and groups is specified.
This is the dictionary of the applications implemented on the SimpleOne base and installed on the current instance. All the dependencies and components constituting the application are stored here.
Schedules
This table group contains information about the system schedules needed for different tasks related to the
This table group contains information about scripts, how they interact with the tables, and how it realizes the business logic.
This table group contains information about the business rules
UI Actions
Events
URL Actions
API
Events