For the Simplified Chinese translation, click 中文译文.
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.
|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 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.|
3 Page Resources
|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 .|
|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 A.M.|
5 Consumed Services
|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.|
6 Published Services
|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.|