If you would like to upgrade to a newer long-term support version of Studio Pro, see Moving from Mendix Studio Pro 8 to 9.
Modules
Introduction
A Mendix project consists of modules: a System module, a UI resources package, and one or more user-defined modules. Modules are a way to split the functionality of your application into separate parts. For example, a web shop can put order management in a different module than customer and product management. Studio Pro does not enforce any kind of module structure; it is up to you to choose logical modules for your application.
A module always contains exactly one domain model. The domain model is a data model that describes the information in your application domain in an abstract way.
Within a module you can define module security via module roles and specify security settings of those module roles for pages, microflows, entities and datasets.
Furthermore, a module can contain many different types of documents. Each type of document is described in its own domain-specific language (DSL). For example, user-interface forms are described by using a visual language with elements like text boxes, tables and grids. Below you see tables grouped by category of all the different kinds of documents you can create within a module.
Common
| Document type | Typical elements | Description |
|---|---|---|
| Pages | Data view, Data grid, Table, Text box | Forms are used to create a user interface for the end-user. They are composed of components that are called widgets. |
| Microflows | Activities, Sequence Flow | Microflows describe the logic of your application. They are composed of activities that manipulate objects, interact with the client etcetera. |
| Enumerations | An enumeration is a set of predefined values, for example: in a web shop, an enumeration called MemberType could have the values Gold and Silver. |
Page Resources
| Document type | Description |
|---|---|
| Images | Images can be used to brighten up your application. Navigation items and the various kinds of buttons have small images (icons) to left of their captions. |
| Layouts | Layouts specify what comes where. Each page is based on a layout. The layout contains widgets and structures that return on every page based on that layout. |
| Menus | A menu document defines a navigation menu that can be used by a menu widget. |
| Snippets | Snippets define reusable interface parts. They can be used on pages and layouts. |
Resources
| Document type | Description |
|---|---|
| Constants | Constants are used to define a constant value, for example: to store an URL to a webservice. |
| Datasets | A dataset can be used for reporting and is defined using either an OQL query or a custom Java action. |
| Document Templates | Document Templates are used to model a template needed as input for a document export action which can generate all kinds of documents based on application data. They are composed much in the same way as Forms. |
| Java Actions | With Java actions you can extend the functionality of your application in situations where it would be hard to implement this functionality in microflows. You can call a Java action from a microflow. |
| Regular Expressions | A regular expression is used by validation rules on an entity to describe a set of criteria that a string can match. |
| Rules | A rule defines a set of criteria, with a certain input the rule will result in a Boolean or enumeration depending on the criteria met. It can be called from a decision to determine the direction the microflow should go once the decision is reached. |
| Scheduled Events | A scheduled event is used to execute a microflow at a certain point in time. You can also schedule it to repeat after a given time. For example, a scheduled event can run every morning at 6 AM |
Consumed Services
| Document type | Description |
|---|---|
| Consumed Web Services | Importing web services of other applications (Mendix or otherwise) allows you to call those web services from your microflows. |
| A domain-to-XML mapping defines a translation from domain model objects to XML objects. | |
| An XML-to-domain mapping defines a translation from XML objects to domain model objects. | |
| XML Schemas | An XML schema is defined in an XML Schema Definition (XSD) file and can be imported in your model. It describes what a certain XML document should look like. |
Published Services
| Document type | Description |
|---|---|
| Published REST Services | A microflow can be published as a REST service operation so that it can be consumed by other Mendix applications. |
| Published OData Services | Persistable entities can be exposed as an OData resource, so that they can be imported by third-party applications such as Excel. |
| Published Web Services | A microflow can be published as a web service operation so that it can be called by third-party applications. |