[Idea Forum] - Q4 2015 - CLOSED

Welcome to the Q4 edition of the IdeaForum. The Q3 thread has been closed, we will analyze the top voted ideas and come back to you with a plan shortly. It's time for a new edition: so, please submit ideas, upvote, and discuss! Goal: Capture ideas from developers in the Mendix Community to give Mendix each month a clear short list of the top features which are supported the most (this means: the most upvotes) by the community. Rules: You can apply maximum of three features per quarter / thread. This is not a place for bug fixes, please use the support portal for that. Please don't post multiple ideas in one answer. This will make it harder to determine which are actually the best idea's. Upvote and motivate your upvote as a comment! Check the latest Mendix version if your feature is still applicable No custom widgets features No down-voting! Use the following layout to submit a new features in this thread: Short description Short motivation (mention business value, impact and urgency)
65 answers

Visual Comparing Revision/Branch Differences for Microflows

Reviewing changes in the Mendix Modeler is not easy. Changes are accessible via a change log and are only textual. When there are many changes, it is nearly impossible to compare your Mircroflow to historic revisions. And there is no way to compare 2 revisions, only commits logs are available.

A possibility to visual compare microflows, will make merges easier, will help you to find the changes and find causes for functional errors.

Image and video hosting by TinyPic

Image and video hosting by TinyPic

(Red, item is removed)

(Green, item is new)

(Orange, item is changed)


  • Visual compare 2 revisions
  • Do change reviews for other developers.
  • Visual compare branches
  • Easier merges branches
  • Blame on changes
  • Walk through history of a specific Microflow

Notes: Changed 'Activity' Relative middle point positions should be hidden/filtered to prevent an overwhelming amount of changes.

Currently it is possible to change the background of an activity, this may conflict my proposal. A border color change or an icon will probably be a better indicator.

Comparing Revision/Branch Differences for Form and Domain are welcome too

Though this request might be not easy to implement, it is lacking, and it would something that greatly befits working a tool like Mendix.


Update for the Document Templates in Mendix

Everyone who has worked with document templates in Mendix probably knows what I mean...I think it can use a big update

  • Styling features should be improved, currently it is very limited
  • Data, one can't use basic elements such as xPaths on e.g. template grids, Microflow as data source is the only option which gives some degree of freedom.
  • Preview of the document in Mendix (instead of re-deploying to visually check each change)
  • Predefine layouts (much like the layouts in Mx5, with masters, placeholders, re-usable blocks etc)
  • Broader support for different font types (otf)
  • Enable custom widgets
  • Clean characters when using XHTML so the PDF creation does not break breaks when it encounters characters it can not handle. Mendix should autimaticly sanitize the HTML

I really hate it when I want to split an enumeration in a microflow and have to catch all enum values. Why can't I have a default exit like in the switch/case statements in Java

switch($Ordertype) {
    case 'PURCHASE':    DoYourThing();

    case 'SALES':       DoYourThing();

    default:            break;

Now I have to add a merge activity and draw all the lines like a onion... frustration

See below how it could work.



It would be nice to be able to create an expression that results in a boolean for conditional visibility based on objects/attributes in context instead of only using attributes that are enumerations or booleans.

This will just allow for much more flexibile conditional visibility without having to resort to virtual attributes or having to parse enumerations from non normalized strings received from a web service.


Being a more effective developer

(sorry for my bad English)


I am developing with Mendix for over 5 years now and i realize that i spend too much time on changing simple things. I have done some research and found out that that our customers want to change 2 things often:

  1. Changing search field
  2. Changing columns in a grid

Of course it is a simple change but it happens often and you don’t want to know how much time is spend on handling a request like this (users give their feedback continually -> project manager customer give priority’s to all request -> project manager customer and our project manager decides what will be build in which release -> our project manager communicate with developer -> release / updating model (takes about 20 minutes) -> testing -> feedback -> release in production bla bla).


Please give end-user to change the search field and columns their selves, a rough (!) example:.

Screen capture

Users can already move / resize / sort columns so just adding and deleting columns would be enough

Nice to have:

  • It would be great if it becomes a end-user setting, but if it only works temporarily it is ok
  • It would be great if there is no limitations on how deep you go on the references ('depth level’)

Requirements / limitations:

  • You can only select fields/ columns when the user have read-rights


This change will:

  1. Give end-users more control and flexibility an so more satisfactory
  2. Give end-users more information
  3. Reduce feedback process with 30%
  4. Reduce number of feedback items with 20%
  5. Get me be earlier at the Friday afternoon ‘borrel / drink’!

Avoid unnecessary association tags when publishing webservices

When we publish webservices (and we do this a lot), Mendix creates unnecessary tags for associations. These tags are really not needed and especially in larger operations with many associations the xml requests are getting quite large. Calling a Mendix webservice from a middleware solution takes us more time to create all those tags. And this is annoying because the tags are not useful and also not avoidable. We're getting also commentary from third parties about the large structure of our operations in a wsdl. XML is already large and fat when you compare it to other data-interchange formats like JSON and when Mendix adds more tags than needed, integrating with Mendix takes more time.

I really would like it when this behavior could be configurable when publishing a default webservice in Mendix. I don't ask for eliminiation of this default behaviour of Mendix, just a way to disable the unnecessary association tags. I know there are workarounds with custom request handlers and things like that, but this is a feature request for the out-of-the-box webservice publisher in Mendix.

In the example below, I found a couple of unnecessary association tags in such a small request:

  1. Orderline_Order
  2. Orderline_Product
  3. Warehouse_Product

XML Request:

<?xml version="1.0" encoding="utf-8"?>

Improve batch support: Commit transaction

Mendix will only actually update and commit the database when the microflow ends. I know about the transaction Java Actions in Community Commons but these don't work either. I found older discussions about this and the reply was to create a new transaction in Java, call the microflow from that Java action and end the transaction.

I would like to keep all that in the microflow editor and enhance the official batching guideline:

After processing each block of retrieved objects a new activity: Commit transaction This would essentially do everything that happens when the topmost microflow ends and start a new transaction.


  • Even when processing huge lists, the number of objects in memory and database transaction size remains acceptable.
  • Easier to build and maintain: No hassle with Java or scheduled events to break up large batches.
  • For application processing but also greatly simplifies onetime conversions during deployment of a new release.

I often create multiple rows with variants of a grid, because I cannot place conditional visibility on a grid column.

So I would like conditional visibility on a grid column


Nice to have productivity tool:

Enable easier moving of files (between modules) in the project explorer. The only way to move files right now is by selecting one file (limited to just one, would be nice to have multi-select) and dragging and dropping it in the right module/folder.

Instead, it would be really nice if we could at least right-click one or more files, select Move to, followed by for example the Modules present in the project.


Auto-fix Domain Model Layout

I've used multiple metadata modeling tools over the years that operate similarly to the Domain Model in the Modeler. Nearly all of them have an option to auto-sort the model, usually with two options: Normalized or Star-Schema, depending on the type of model you are building. A press of the button reorganizes the domain layout accordingly with very little need for additional manual clean up. I've worked with quite a few projects at different clients now and always spend a lot of time "cleaning up" their models.


Proper URLs

Currently all pages in an app look the same in the browser URL bar, either "/" or "index.html". Implement something like https://github.com/defunkt/jquery-pjax or use the HTML history API to give each page a unique (or configurable) URL that you can see where you are, and bookmark it.

A bit like an enhanced deeplinks module but built in, where the url stays in the address bar, and you can configure the url on the page properties rather than needing a microflow.


Faster Restart

When making many small changes to microflows etc it takes ~30 seconds to tear down the runtime, recompile and restart. This can mean much of a day's work can be lost to waiting for this to happen.

If there were any optimisations (e.g. only compile what's changed) that could be made here it would make us all more productive!


When designing form I often place tables in tables to accomplish conditional formatting on the column level, so

I would like conditional formatting on the column level and if on the cell level


I find myself typing 'empty', 'true', and 'false' way to often in Mendix.

Add buttons for them besides generate in places where expressions are. Or a checkbox (empty, constant, expression) and on constant show for booleans true/false and for enums their values and for references variables that apply


When customers place support calls I always have to create a branch of the version that is currently in production for that client. It would be nice if I had the option "Run at revision". The model would then run at the specified revision of that branch instead of the latest revision.


Use a data set in a Microflow

Sometimes I need to simply group and count a query result for use of a value in a process. Currently, you have to jump through a lot of loops and counter variables to get the same value in a standard microflow.

I'd like to be able to use Data sets as objects in a microflow.


Add the show progress bar functionality to the menu items in a navigation menu. By progress bar I mean the same functionality that is available on the microflow settings of an action button.


Create XSD/XML Schema from domain model

When I want to built functionality to import and export date, for example configuration data that doesn't really fit an Excel file. It is difficult to define the XML Schema. In the past I've abused the webservice functionality to define the schema for the webservice and than download that and import it as a new XSD file.

It would be helpfull if there is an option, either in the domain model or from the Create XML Schema page to select data from you domain model.


Automatically adjust column weight in layoutgrid

When I have a blank layout grid. It has one column of size 12. When I add a new column The first column still has size 12 and the new column has been added with size 1. This results in a total size of 13 and gives an error.

To me it would be more logical to automatically adjust the first column to 11, so the grid is still valid.

Now when i change the first column to have a size of 6. The last column sill has a size of 1. While it is pretty obvious that i need a total of 12. It would be helpful if this time the second column is adjusted to 6, so the total remains at 12.


XPath constraint on list when using Filter/Find

When working with lists, you often have to use the List Operation Filter or Find. However, currently you can only Filter/Find on 1 attribute, and only check if it equals a certain value.

Problem But often, I have to Filter/Find on multiple attributes. Currently, this requires multiple Filter/Find Actions. Also, sometimes you want to Find/Filter on a different operation than equals, for example not equal, greater/smaller than etc. This is not possible with List operations, and would require looping through the entire list.

Solution Having more advanced Filter/Find options, by being able to use an XPath constraint on a list.


Configurable scheduled events

It would be great if the start time of a scheduled event would be configurable so that a new time does not require a new deployment.


Deploy without shutting app down

I would like to be able to deploy a new app without the application having to be shut down.

Similar to the quick start in the local modeler it would be nice that if you only have minor changes, that the application does not have to be shut down.


Static or default data in entities

In many projects we use module data like excel import definitions or complex custom application settings.

This data is required to run the application. Examples are:

  • Application settings
  • Configurable defaults
  • Templates for financial bookings
  • End-user modifyable mappings.
  • Excel export definitions
  • Database replication settings

We often need to write import/export microflows for that. This is needed to keep all developers and the OTAP street synced. A process that easily causes errors.

It is not a matter of syncing a table but multiple related entities.

I would like to have a way that Mendix takes care of this.

EDIT 1: a suggestion that would simplify this

  1. Option to create a schema/xsd for one or more related entities
  2. Read and write Enumerations with automatic conversion by mendix.

Expansion on microflow message activity

In a microflow you an call the message activity with the option of Info, Error, or Warning.

I'd like to have additional options for example to send notification messages which can be sent to a specific user, and will then pop up in that user's browser (maybe even with a notification sound), which can be used instead of sending a billion emails.



Feature 1: Mendix implementation of customizable system text and improvements to displayed elements overall for multiple languages

Problem: Managing system text & values inside mendix for multiple languages and different views is currently not possible or at least very limited.

Goal: Create a flexible management system for creating and customizing system texts used throughout the Mendix platform.

Business value: By creating a good and easy system to manage system text for multiple languages the mendix platform can be more flexible and one system can be used among multiple cultures which will expand application availability and user friendliness.

Where should these system texts be defined inside Mendix?

System texts should be set on module level, so that these texts can be exported along with the module. They should be set next to the domain model and security.

Any system text defined on module level automatically is accessible throughout other modules.

Also widgets should be able to set their own variables/system texts, for example one of my empty list views should display a different empty message as another list view.

Aspects of text that are language dependant, locale dependant or system text related

  • Left to right or right to left direction for interfaces
  • Diacritics enabled or disabled on
    database level for searching text.
  • Currency symbol
  • Font families per language, allow for adding font files in the project.
  • Colour codes
  • Set regular expressions per language
  • Date notation
  • Singular entity or multiple occurrences of an entity
  • Address format
  • Interface text variables used for any text H1, H2, H3, H4, H5, H6, p ,
  • Button captions
  • Tooltip text
  • ARIA text
  • Loading messages
  • Validation messages
  • Error feedback & messages to include stack trace information for
    application failure ( Include notify administrator button )

How should these system texts be defined inside Mendix?

All system text is needed as feedback and for displaying information for the user, these system texts describe what is shown or what action can be performed with an element/widget.

This automatically makes it required that system text is associated to elements of the interface. This automatically gives it a context, because Mendix is model driven.

Meaning each object in my database gets translated to the user interface based on its attributes.

Each attribute should have a default caption property which can be picked from system text variables created in the module. Or can be custom written with the option to add it to system texts library in case it is a caption that can be re-used.

When multiple languages are enabled the user should be given input fields for the other languages immediately so that you don’t build up a billion warnings.

Desired implementation Expand current Mendix 5.20 Text field implementation with similar functionality to the groupbox header caption, this widget already includes the possibility to select attributes as parameters for the header. Besides the attributes of the object, add a second column showing caption properties for the object attributes. These are defined by system texts so this is just for quick reference. And underneath the entity attributes show a second section showing all system texts in the application, sorted by module.

Suggestions related to system texts

Grids / Templategrid

Allow the use of system text variables for a grid to format paging text as it currently always is showing number of records inside grid: 1 to 6 from 12

Paging text above paging buttons:

{%displayedRecordsRange%} (equivalent of 1 to 6)

{%recordsCount%} (equivalent to 12)

{%currentPage%} (current page number)

{%previousPage%} (previous page number)

{%nextPage%} (next page number)

{%lastPage%} (last page number)

{%pageCount%} (total page count)

Tabs placeholder

Instead of captions for each tab, allow to place the new Mendix 5.20 text element into it or images.

Groupbox placeholder

Instead of caption allow to place the new Mendix 5.20 text element into it or images.

All empty widgets

Set is empty boolean and set empty caption for the entity display.

Application URL as default system text value to use

If it is localhost set current IP as application URL

PS*Surely there are things I've missed or need to elaborate on the description. In this case please leave a comment.


For a table grid, it would be nice to have the possibility to automatically generate the used column fields from the datagrid as new search fields. (in the same order if possible, including references)

Just like it is possible to automatically add all attributes of the entity right now. So, add an option in the context menu: 'add column fields as search fields'

This way, i'll only have to define the column/search fields once on a table grid.


Allow external JS in widgets

Currently, all referenced JavaScript must be included in the widget package. Externally referenced JS will cause the build to fail, also visible because the Check Widgets tool wil reject the widget.

However, this is not always necessary, like the GoogleMaps widget where the Google JS can be referenced online rather than copying it into the widget package.


  • No need to update external JS in the widget package when the third party changes their scripts.
  • Smaller widget packages
  • Smaller widgets.js file in the project deployment
  • Faster load of the application

Mobile compatible Feedback WIdget

I really would like a mobile version of the feedback widget. The current feedback widget doesn't work on my mobile (iPhone 5S with Chrome/Safari). If Mendix wants to support mobile, the feedback widget for mobile is an essential part of the whole development cycle.

If you search on the forum you can also find a few topic requesting this, also referring to some feature request tickets.


Load specific tab from microflow

It would be nice if we could show a specific tab based on an activity in the microflow, perhaps an extra parameter on show page.


When creating microflow is miss the option to copy the size of an action. I hate it when splits have all kind of different sizes. So I would like to have the Excel kind of option to paste formatting (colour and size).


Confirmation of Changes when Running in Sandbox

If you have local changes and accidentally Run in Sandbox instead of locally, those changes are automatically committed. It would be nice if there was a confirmation dialog to prevent this.


Add visual wrappers to domain model

While keeping logical domain model structures separate by module, often I need to keep entities and relationships separate withing a single domain model. I would like to be a able to draw a box around entities, color it, and give it a name so that I can easily discern what I'm looking for. If you think about a very large model, you would be able to zoom out, find the color box you know you need, and zoom in quickly to what you are looking for.


Menu integration in generic or appstore modules

When I import a module I have to read the documentation to see what menu options must be created. I would like to can mark a microflow or form as module menu option and get a popup after importing to create the required menu options.


Keyboard shortcuts in widgets properties, the KeyboardShortcutWidget is driving me nuts


Feature 3: Input field types, autocomplete attribute as text and capitalize on/off

Problem: Email/Tel/Number/URL/Time/Date/Datetime input on mobile devices is extremely unfriendly to the user. And nobody likes user unfriendly forms.

Goal: Add 3 new settings for input fields:

  1. Allow to set input type: text / email / tel / number / url / date / time / datetime for mobile devices
  2. Allow to turn off auto capitalize.
  3. Allow to set autocomplete attribute as text value



Business value: Makes forms easier to fill in especially in customer facing applications this is very beneficial for user experience.


For performance analysis and improvements, it would be extremely useful to have an overview of often used attributes and how often an attribute is used. This should provide a list of candidate attributes for creating an index on the database.


Dynamic FileName for 'Export to Excel'-button

The standard 'Export to Excel'-button of Mendix generates a confusing filename. Best would be that it could be configured dynamically, like for instance: <datetime> - Export <entityname>


Remove unused items I have always wondered why am i able to stop an application that is no longer running?

If this has no specific use case i would opt to remove this option as it looks confusing. Why can i stop this


Add default layout to Project conventions

It would be great of the default page layout could be added as a convention. The default layout is Sidebar_Left, which just seems to be the highest layout in the list. Now i have to change it manually every time. If would be great if i could configure a default layout, so i don't have to change it manually for every page.


Microflow can return multiple values

A microflow can currently return only one value. It would be great if a microflow could return multiple values. Current workarounds are not always ideal:

  • Model a complex return value as a nonpersistent entity. Downside: this clutters the domain model.
  • Create multiple microflows, one per result. Downside: this could be less efficient.
  • Let the microflow directly write to several objects instead of returning values. Downside: the microflow could become less readable and less reusable.

Currently it is not possible to pass 2 objects of the same entity type to a microflow unless one is within a list and the other is a seperate object. So when a microflow is called from within 2 dataviews of the same type, Mendix can't distinguish which object is passed from which dataview. This may result in unwanted behaviour of the application because you have to build the logic in such way that you're always working with a list of objects instead of only one object, thus forcing us to give the end user the option to select multiple objects when we may only want the users to select only 1 object. Therefore it would be nice if you could directly link your input parameter objects to specific dataviews within the modeler.


Collapse groupbox based on enum values

Currently groupboxes can be made collapsible via No, Yes (start expanded) Yes (start collapsed). To make pages more dynamic, it would be helpful to make the groupbox collapsible based on enum values.


Show paging buttons when more then number of rows

Currently, the paging buttons in a datagrid are always visible when enabled. The page would be more quiet when the paging buttons are only visible when the records exceed the number or rows option.


Extend the 'Extract Submicroflow' functionality

At the moment it is possible to extract a sub microflow from a piece of an existing microflow. This is a very handy option in my opinion, however the actual solution could be improved.

At the moment you can only extract 'simple' pieces of the microflows. No splits / merges / end events can be included in the microflow, eventhough (especially in a large flow, where you would use this functionality) these are valid activities.

Therefor I request an extended 'Extract Submicroflow' function, which isn't to strict in the things I want to extract.


Find usages of images and glyphicons

Recently, I have made a conversion from Mx4 to Mx5. All the images on buttons (edit, new, delete etc) are now replaces to Glypicons. It was quite a job to find all the usages of the used images. In this case, it would be helpful to have a button called find usages on images and glyphicons.


I would like to be able to export my domain model structure to a PDF (or something similar), which shows me all the entities and associations (this could even be a "screenshot" of the entire domain model). Recently someone asked me for a simple overview of my domain model, but there was no easy way to export this from the project.


Find advanced per module

Edit/Find Advanced provides great functionality to track unused items, large microflows etc. It would be nice to have this option when right-clicking on a module. This would help to scope the search.


It would be great if there is an option that allows you to sort attributes of an entity alphabetically in the entity properties window.


Prior to 5.20 you can create a project with no mouse clicks

type/paste path

This impressiveness has now vanished, I now have to stroke mouse fur at the start of this sequence...uncool




Feature 2: Export CSV/Excel action

Problem: XLS file / CSV export button downloads immediately only, and its not possible to create a document of this type.

Goal: Treat XLS / CSV files similar to the other file document types so that it can also be used as attachment to emails


Since Mendix 5.19 you can edit the button captions based on templates with parameters that will be replaced by attribute values.

This awesome feature should be available on tabs too, because then the tab caption will be replaced by the values of the attributes.


Font Icon

I would like to add css class of font icon by myself, not only open icon window for selecting bootstrap's Glyphicon , on any components of mendix. For example, I'm using FontAwesome I want to add css class like this :

fa fa-university fa-2x

on css class property of any mendix's components and it would be nice if I can position the icon on left or right on the component that icon composed

Thank you.


Currently it is possible to insert 1 microflow action in an existing microflow while the other (already present) actions are automatically moved so there is room for the new inserted action, yet this is not possible when selecting 2 or more microflow actions. I would like to see that this is made possible for this would improve productivity when copying/changing/merging microflows.


Concatenation of values of multiple attributes of same object in one textbox

It would be nice when using a Textbox in a dataview on a page, to actually display the value of multiple attributes of that same entity but then concatenated with a, to be set, delimiter in between.

In all kinds of (not optimal) ways this can now be achieved, but would be a nice feature to be able to configure this in the setting of the textbox.


Please improve inline editing in datagrid.

I've used this feature a lot but I found that it was not easy to use when I had any dropdowns in the line. My business users always use keyboard by tapping to the next component to input their data into the web form. They also stuck on it. So, if you improve that it will make mendix useful and efficiency than before.

Thank you.


Use Rule to set entity value

We create rules to normalize and reused it in microflows. But, I was very nice if we can set an attribute value with a rule too.


It needs to be possible for multiple people to open the mendix server console at the same time. I understand the limitations on the console, but it would be useful to have the option to open the console for "reading only" for multiple people and if it's required to change something, flip a switch to "write" mode.

This would be especially useful for the testing phase of projects, where multiple people need to be able to see the console.


Feature 4: Grid Column Attribute Values

Problem: When setting column width to 0 it hides the column from being displayed in the page, but will be included in data exports. Editing these grids is a hassle, because the modeler does no longer show these hidden columns either.

Goal: Add a 4th column in > Edit data grid > General besides default "caption", "width", "unit" that allows to select the attribute displayed in this column.


Add functions to List Operations Find and Filter

When doing a Find or Filter List Operation on a list in a microflow, you are only able to do an exact match on some variable or attribute. A nice feature would be to be able to use functions like 'contains', 'toUpperCase', 'substr', regular expressions, etc.


Conditional visibility based on Xpath constraint on CurrentObject

Conditinional visibility on a page can only be set via an Enumeration or a boolean. A lot of times it should be based on for instance an existing association, sometimes depending on the specialization type or maybe a DateTime.

Best would be to implement the possibility to add the option 'Xpath constraint on CurrentObject', so developers could write an Xpath returning a boolean to show or hide some element on the page.


Have it that data driven widgets may be placed in a snippet without a dataview and that it does not produce compile time errors, such that one may place the snippet within a dataview on a page, making for greater reusibility and less duplication and maintainance.

For example:

alt text

Here the snippet has no dataview, the dataview is only given in the snippet call.



Pass the name of the microflow button into the microflow as a system variable that can be used by an inheritance or exclusive split to determine direction. This would reduce the number of microflows needed to perform functions on an entity.


In MBM, "restart" in "run" menu item (as opposed to "run" in run menu item, which manipulates deployment).


mbm for linux