|
1 | 1 | # Glossary |
2 | 2 |
|
3 | | -Mendix-specific terms and concepts explained for developers who are new to the Mendix platform. |
| 3 | +Mendix-specific terms and concepts for developers who are new to the Mendix platform. |
| 4 | + |
| 5 | +## A |
| 6 | + |
| 7 | +**Association** |
| 8 | +A relationship between two entities. Analogous to a foreign key in relational databases. Mendix supports `Reference` (one-to-many or one-to-one) and `ReferenceSet` (many-to-many) types. |
| 9 | + |
| 10 | +**Attribute** |
| 11 | +A property of an entity. Equivalent to a column in a relational database table. Types include String, Integer, Long, Decimal, Boolean, DateTime, AutoNumber, Binary, Enumeration, and HashedString. |
| 12 | + |
| 13 | +**Access Rule** |
| 14 | +A security rule that controls which module roles can create, read, write, or delete instances of an entity, and which attributes they can access. |
| 15 | + |
| 16 | +## B |
| 17 | + |
| 18 | +**BSON** |
| 19 | +Binary JSON. The serialization format Mendix uses to store model elements inside MPR files. Each document (entity, microflow, page, etc.) is stored as a BSON blob. |
| 20 | + |
| 21 | +**Building Block** |
| 22 | +A reusable page fragment that can be dragged onto pages in Studio Pro. Similar to a Snippet but intended for the toolbox. |
| 23 | + |
| 24 | +## C |
| 25 | + |
| 26 | +**Catalog** |
| 27 | +In mxcli, an in-memory SQLite database that indexes project metadata for fast querying, full-text search, and cross-reference navigation. |
| 28 | + |
| 29 | +**Constant** |
| 30 | +A named value defined at the module level that can be configured per environment (development, acceptance, production). Used for API keys, URLs, feature flags, etc. |
| 31 | + |
| 32 | +## D |
| 33 | + |
| 34 | +**DataGrid** |
| 35 | +A widget that displays a list of objects in a tabular format with columns, sorting, and search. The classic DataGrid uses server-side rendering; DataGrid2 is the pluggable widget version. |
| 36 | + |
| 37 | +**DataView** |
| 38 | +A widget that displays a single object, providing a context for input widgets (TextBox, DatePicker, etc.) to read and write attributes. |
| 39 | + |
| 40 | +**Domain Model** |
| 41 | +The data model for a module, consisting of entities, their attributes, and associations between them. Analogous to an entity-relationship diagram. |
| 42 | + |
| 43 | +## E |
| 44 | + |
| 45 | +**Entity** |
| 46 | +A data type in the domain model. Equivalent to a table in a relational database. Entities can be persistent (stored in the database), non-persistent (in-memory only), or view (backed by an OQL query). |
| 47 | + |
| 48 | +**Enumeration** |
| 49 | +A fixed set of named values (e.g., OrderStatus with values Draft, Active, Closed). Used as attribute types when the set of possible values is known at design time. |
| 50 | + |
| 51 | +**Event Handler** |
| 52 | +Logic that runs automatically before or after a commit or delete operation on an entity. Configured on the entity in the domain model. |
| 53 | + |
| 54 | +## G |
| 55 | + |
| 56 | +**Gallery** |
| 57 | +A pluggable widget that displays a list of objects in a card/tile layout, as opposed to the tabular layout of a DataGrid. |
| 58 | + |
| 59 | +**Generalization** |
| 60 | +Entity inheritance. When entity B generalizes entity A, B inherits all of A's attributes and associations. Analogous to class inheritance in object-oriented programming. |
| 61 | + |
| 62 | +## L |
| 63 | + |
| 64 | +**Layout** |
| 65 | +A page template that defines the common structure (header, sidebar, footer) shared by multiple pages. Every page references a layout. |
| 66 | + |
| 67 | +**LayoutGrid** |
| 68 | +A responsive grid widget based on a 12-column system. Used to create multi-column layouts with breakpoints for phone, tablet, and desktop. |
| 69 | + |
| 70 | +## M |
| 71 | + |
| 72 | +**MDL (Mendix Definition Language)** |
| 73 | +A SQL-like text language for querying and modifying Mendix projects. The primary interface for mxcli. |
| 74 | + |
| 75 | +**Microflow** |
| 76 | +Server-side logic expressed as a visual flow of activities. Microflows can retrieve data, call actions, make decisions, loop over lists, and return values. They run on the Mendix runtime (server). |
| 77 | + |
| 78 | +**Module** |
| 79 | +A top-level organizational unit in a Mendix project. Each module contains its own domain model, microflows, pages, enumerations, and security settings. Analogous to a package or namespace. |
| 80 | + |
| 81 | +**Module Role** |
| 82 | +A permission role defined within a module. Module roles are assigned to user roles at the project level. Entity access rules, microflow access, and page access are granted to module roles. |
| 83 | + |
| 84 | +**MPR** |
| 85 | +Mendix Project Resource file. The binary file (`.mpr`) that contains the complete Mendix project model. It is a SQLite database with BSON-encoded documents. |
| 86 | + |
| 87 | +## N |
| 88 | + |
| 89 | +**Nanoflow** |
| 90 | +Client-side logic that runs in the browser (or native app). Syntactically similar to microflows but with restrictions (no database transactions, limited activity types). Used for offline-capable and low-latency operations. |
| 91 | + |
| 92 | +## P |
| 93 | + |
| 94 | +**Page** |
| 95 | +A user interface screen in a Mendix application. Pages contain widgets (TextBox, DataGrid, Button, etc.) and reference a layout for their outer structure. |
| 96 | + |
| 97 | +**Pluggable Widget** |
| 98 | +A widget built with the Mendix Pluggable Widget API (React-based). Examples: DataGrid2, ComboBox, Gallery. Pluggable widgets use JSON-based property schemas (PropertyTypes) stored in the MPR. |
| 99 | + |
| 100 | +## R |
| 101 | + |
| 102 | +**Runtime** |
| 103 | +The Mendix server-side execution environment (Java-based) that runs the application. It interprets the model, handles HTTP requests, executes microflows, and manages the database. |
| 104 | + |
| 105 | +## S |
| 106 | + |
| 107 | +**Scheduled Event** |
| 108 | +A microflow that runs automatically on a timer (e.g., every hour, daily at midnight). Configured with a start time and interval. |
| 109 | + |
| 110 | +**Snippet** |
| 111 | +A reusable UI fragment that can be embedded in multiple pages via a SnippetCall widget. Snippets can accept parameters. |
| 112 | + |
| 113 | +**Studio Pro** |
| 114 | +The visual IDE for building Mendix applications. It reads and writes `.mpr` files. mxcli provides a complementary text-based interface to the same project files. |
| 115 | + |
| 116 | +**Storage Name** |
| 117 | +The internal type identifier used in BSON `$Type` fields. Often the same as the qualified name, but not always (e.g., `DomainModels$EntityImpl` is the storage name for `DomainModels$Entity`). |
| 118 | + |
| 119 | +## U |
| 120 | + |
| 121 | +**User Role** |
| 122 | +A project-level role that aggregates module roles from one or more modules. End users are assigned user roles, which determine their permissions across the entire application. |
| 123 | + |
| 124 | +## W |
| 125 | + |
| 126 | +**Widget** |
| 127 | +A UI component on a page. Built-in widgets include TextBox, DataGrid, Button, Container, and LayoutGrid. Pluggable widgets extend this set with third-party components. |
| 128 | + |
| 129 | +**Workflow** |
| 130 | +A long-running process with user tasks, decisions, and parallel paths. Workflows model approval processes, multi-step procedures, and human-in-the-loop automation. |
0 commit comments