[Idea Forum] - Q1 2016 - CLOSED

6
Welcome to the first edition of the IdeaForum in 2016. The Q4 thread has been closed, we will analyze the top voted ideas, discuss them with the community MVPs, and come back to you with a plan shortly. We will also post an overview of the things we implemented last year based on the IdeaForum posts. 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 quarter a clear short list of the top features which are supported the most (this means: the most upvotes) by the community. Rules: 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 down-voting! Use the following layout to submit a new features in this thread: Short description Short motivation (mention business value, impact and urgency)
asked
56 answers
5

As promised I want to give you an update on the results of the IdeaForum in 2015. It is really amazing to see how many ideas have been posted! Also a bit overwhelming sometimes, I have to admit that ;) Our goal was to implement the top ideas of each quarter. Unfortunately we didn’t fully succeed in that mission. With the Mendix DX release and Mendix 6 a big part of our time was filled. We felt that we needed to invest in the features added in these releases as we have heard some of these for a long time from our users and customers as well.

However, we did implement a number of the suggestions. We didn’t just look at the top ideas, our product managers are following these threads closely and try to include ideas into our roadmap whenever possible. Here is what we implemented:

  • Automatically create space in a microflow for newly inserted elements.
  • List operations in microflow: head (get first) and tail.
  • Keep log levels after restart app: log levels can now be specified in the configuration.
  • Automatic mapping of enumeration -> string, string -> enumeration in 6.01.
  • We did a lot of mapping improvements in 6.1, see this blog post.
  • We did work on improving the start and re-start speed of apps.
  • Find and replace for (glyph)icons.

In addition to the above list we are working on the following ideas that have been posted in 2015:

  • Avoid unnecessary association tags when publishing web services.
  • In each quarterly IdeaForum we saw multiple requests regarding Java actions (e.g. other parameter types). We are working towards additional features in this area, stay tuned!
answered
51

A lot of times you have to use custom new, edit, delete, save, cancel and select buttons. This means you have to create an action button, choose MF, create a new MF, rebuild the standard functionality (for save it would be commit/refresh and close page) and choose the correct icon and caption.

I think it would save a lot of time if it would be possible to convert a standard button to an action button. The MF can be generated automatically with the standard buttons functionality, the caption and icon of the button can be kept and the only thing you need to do is add some functionality to the generated MF.

answered
43

Infinite scroll for list views

I really hate the more rows button on a listview. I want the listview to retrieve the next block when I scroll down far enough. Common way of handling lists in mobile apps and becoming really common in desktop apps.

I hope this could also be possible for data grids and template grids.

answered
41

In recent Mendix versions non-editable checkboxes are rendered as 'Yes/No' labels. In previous versions they were rendered as greyed-out checkboxes. It would be great if we could choose ourselves how those checkboxes are rendered: as a label or as a greyed-out box.

answered
31

Improve handling of Module Exporting and Importing

Exporting and Importing a module or use one from app store is a pain in Mendix. It is easy to do, however the lack of control is frustrating and cause many troubles.

1) Limit the export dependency list, When exporting a module, the list of ALL java libraries are shown, I would love to see only the libraries that are required in the exporting module.

Deselect All

2) Quick win, Please add a select/ deselect all option. (For everybody who annoyed deselecting all checkboxes individual, you can already use the key short cut CTR-A, SPACE)

3) Add a java dependency manager in Mendix like Maven. At the moment it is a total mess, when you import multiple module from the app store you end up with 5 jar file from the same library with different version or duplicates with different naming. This could lead to horrible unexpected runtime error, that are nearly impossible to trance. When a module is removed the jar files in the userlib will stay.

Tip: how to deal with class loader issues from the Mx Expert Series: https://www.youtube.com/watch?v=PZ718BAUPmU&t=52m04s

4) When importing, everybody need to MERGE module that will not overwrite the current module. I could bet that any developer reading this, has experienced that custom changes in a app store module were lost due to “replace” the module, throwing away all changes! Please add a indicator that shows that the current module, has custom changes.

Merge Module

5) Quick win: Select overwrite when importing allow the user, to select the userlib jar files and widgets that will be overwritten. Adding a version information would be helpful in the decision..

Replace file during Import

answered
29

Visibility based on microflow

Right now, visibility can only be based on a module role or an attribute value. In that way, it is not possible to use, for example, a linked object's attribute value as visibility constraint.

It would be awesome to be able to use a microflow with boolean output as visibility constraint. Managing visibility will be much more flexible this way.

Condition for visibility alt text

answered
29

Conditional visibility on data grid columns

It's a quick win and will prevent many versions of the same data grid.

Thanks in advance!

answered
24

I would like to be able to generate search fields for a data grid based on the columns of this datagrid.

Generated search fields:

  • appear in the same order as the columns.
  • have a caption based on the column names.
  • rever to attributes based on the column attributes.

This way I don't have to manually add all searchfields or delete all unnecessary ones after auto-filling the datagrid on creation.

answered
22

Add the option for conditional captions to Tab containers.

alt text

answered
18

Mobile: swipe to the next or previous item

For mobile: For example a template grid with one item per page. I would very much like to swipe to move between items.

Also on dataview pages: swipe will then call a microflow that performs some logix. This will become really useful when we can build some sort of microflows in an offline enabled app.

answered
18

Show Callstack in Debugger

When setting a breakpoint in a microflow, the modeler will stop execution at this breakpoint and show the variables. In a complex application with many microflows and events it can be essential to know HOW a microflow was triggered (by another microflow, by an event, by the user).

It would be nice to see the full callstack in the debugger, up to the current microflow like this:

User Action / Event
---> Microflow A
    ---> Microflow B
         --> Microflow C
answered
18

Widgets Overview Screen

The Problem: Projects with a large group of widgets are becoming hard to keep track of when updating to new versions of Mendix. Example the change from 5 - 6 many widgets complained about model version support. The difficulty I ran into was widgets would have general names which would be similar to others, example: type treeview into the app store and see how many results you get. This took a bit of time to work out which version of the widget I had and from who.

The Solution A view within the model that breaks down all the important information about each of the widgets in your project.

mock:

alt text

additional information could include last update date & if compatible with your current version of Mendix.

Thank you

answered
16

Add the possibility to apply Error Handling within Microflow Loops

Currently when you want to apply error handling within loops, you will receive the warning:

Error handling type must be 'Rollback' inside a looped activity.

You could workaround this by applying it within submicroflows, but that can make it unclear.

Example MF: https://modelshare.mendix.com/models/3d56095f-e144-4cd5-a6c7-092b1af789f6/m-c-loop-with-error-handling

answered
13

Microflow Action to Update One Attribute for All Objects In a List

Idea: Create a new type of List action in a microflow to set one attribute to a given value for all objects in a list.

Background: Often, I retrieve a List of Objects and then loop through each one to set the value of a given attribute. For instance, suppose I have an Order entity and OrderLineItems entity. Lets say that both entities have a boolean attribute called Taxable. When an Order is marked as Taxable, I want to ensure that all OrderLineItems are marked as taxable also to control the visibility of a TaxAmount attribute in the OrderLineItems new/edit page. I can use a calculated attributed, but this is not desirable for performance reasons (my OrderLineItems entity will have a large number of objects in it. Consequently, I need a microflow that is either called as an event handler or invoked from the page that retrieves all of the OrderLineItems for an Order and loops through them to set the Taxable boolean. Instead of needing to build a loop every time I need to do this, I would like to have a single microflow action that takes the List and enables me to change the Taxable attribute for all of the OrderLineItems in the list.

answered
12

Enable Placeholder Text for Reference Selector, Reference Set Selector and Drop Down input controls

To provide an enhanced user experience without having to add a separate widget to the page.

answered
11

Add search filtering functionality for datagrids populated via Association and Microflow

Often when I want to resort to non-persistent entities, I ultimately decide not to do it, because the non-persistent option has drawbacks. I.e. only when populating the DataGrid from database, you are able to configure search filters. It would be nice to also have this available for entitites which are stored in cache, hence datagrids populated by datasource microflow or association.

answered
11

Comments for xPaths

For every field where an xPath is entered there should be a comment box as well.

xPath expressions may be quite complex and in those cases will need extra clarification. When a retrieve is done in a microflow extra comments can be added by adding a comment box to the microflow, but for entity access rules or xPaths for datagrids this is not currently possible.

answered
11

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>

answered
10

Mobile: pull to refresh

A must have for mobile app development: pull down a list (or grid) to force a refresh. On an offline app this could trigger a sync.

answered
10

Filter/Find on multiple attributes

Problem

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.

But often, you 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, perhaps by being able to use an XPath constraint on a list.

answered
10

When an entity has a lot of associations the domain model becomes unreadable/unusable:

alt text

This makes it hard to find one particular association. Solution: Let the user decide how big an entity is portrayed. This will result in empty blue space within an entity but a more user-friendly domain model.

answered
7

Publish App Service on persistent entity

Even though App Services are of great use when communicating between mutliple Mendix apps, the App Service has a mayor drawback that it always needs non-persistent domain models as input and output, resulting in a lot of trivial clone-like actions and Mendix logic.

answered
7

Mobile: native UX

I would like a mobile Mendix app to behave like a native app. For the end user, it should not matter whether the app was built in a native platform IDE or in Mendix.

A few examples:

  • Placement of the new button: In a bar for iOS, floating button for Android
  • Listviews that allow the user to swipe or tap-and-hold of an item to perform actions on it. An example: the default mail client on your iOS or Android phone.
  • Animations
  • Also a default theme that matches the platform styling
answered
7

Import Json Response to generate domain model

Currently, it is possible to generate the domain model based on an xml file or wsdl. It would be great when you could generate the domain model based on a Json response. This would save quitte some on figuring out the entities and the associations between entities.

So far I tried to convert a JSON to XML, generated a XSD based on the XML and imported this one. But this doesn't always make sense.

alt text

answered
7

More control over conditional visibility

Might be that this has been mentioned at some earlier point, but in many of my recent projects it would have been tremendously helpful if there were a few more ways to control conditional visibility.

The simplest example is: Don't show element if value = empty But ideally I'd want to use a variety of xPath, so I could do things like "show this selector field only if the current user is a member of group X".

Of course, there's always workarounds, but I often feel things would be a lot easier with more visibility control :)

answered
6

Often I have data grids where I would like functionality that needs multiple rows (delete) combined with functionality that needs 1 row (view, edit).

So I would like the grid selection mechanism to remember the last selected row as well as multiple selected rows (and present the last selected row somewhat differently) and allow the choice on action buttons to pass (and thus in the microflow to receive):

  • Nothing
  • Last selected row
  • Selection of multiple rows
  • All rows presented (of current chunk)
  • All rows searched
answered
6

Easily change input type

Problem

Based on the Datatype, the Modeler chooses the default Input type (e.g. textbox or textarea, radiobutton or dropdown) when creating a page or dragging an attribute to a dataview. But often, this is not the desired input type. If you want to change this, you'd have to delete the current Input widget, add the Desired Input widget, and then select the attribute. This is relatively timeconsuming and could go a lot faster!

Solution

It would save a lot of time if you could change InputTypes by rightclicking the input WIdget, and Select the desired Input widget. This way you could easily and quickly change from a RadioButton to a Dropdown or a textBox to TextArea.

answered
5

Horizontal align button for microflows

Now that the modeller has some of idea of how much spacing it likes between microflow activities, it would be nice to have an auto spacing button. Pressing this would align all activities in the current microflow so that they all have the same (default) horizontal spacing. Vertical spacing could be left as it is.

I know this will never work perfectly for complex microflows, but for a lot of microflows this would come in handy.

answered
5

Allow closure of more than just one page from a microflow

As has been mentioned already elsewhere in the forums, it is currently impossible to 'fire' a close page action twice. This is especially troublesome when you have a in-content page, where a popup is triggered. In many cases the popup is used to create a custom confirmation to the user. What you would ideally like to do is not only close the popup after confirming, but also the in-content form

Though there are workarounds for this issue, they are never perfect.

(Inspired by the topic: Close in content form from popup)

answered
5

Multiselect search fields

Since Mx5.2 it's possible to allow multi-select on dropdown search fields. These are very handy for the end-user to filter the content in the datagrid. However in the modeler you can only select a single value as default, there no multiselect there.

It would be very handy if the multiselect searchfield would also allow multiple values when selecting the default setting. This would make the initial filter for e.g. datagrids much more powerful.

answered
4

A datagrid or Templategrid based on a MF has a lot of limitations. Why not open a grid with an optional ‘List’ or ‘Xpath’ as parameter on the same way you give an object as parameter to a dataview. So the list is build before opening form and not afterwards when you using a MF

answered
4

Integrate the Excel Export module from the Appstore in the platform

Make use of the speed, higher capacity and the export format (.xlsx) of the Export Module and make that the default for the "Export to Excel" button of a grid.

answered
4

Headers and Footers for List Views

For many reasons we don't want to use the data grid widget on mobile devices, mainly because of usability issues. We therefore mainly use the list view.

We would like the ability to set a header and the footer of the list view. For example by adding a option to the table widget 'Display at first record (yes/no)' and 'Display at last record (yes/no).

alt text

answered
4

Delta between Mx versions

The release speed of Mendix is very high and it is hard to keep track of the new features. Currently, I am working in Mx 5.21.1 and now Mx 6.2.0 is released. I can see on the release notes the added features, but I cannot see the delta between 6.2.0 and Mx 5.21.1. To convince my customer easily to upgrade to the newest version, I would be helpful if I could make a delta between Mx versions.

answered
4

Add the possiblity in the validation feedback activity to identify the field that has to be focused after validation. (when you return on the page)

alt text

Offcourse the FIRST 'set focus option' in the microflow will be the one that will be 'focused' when you have more triggered validation in your flow. (this will be the first field at the top of your page --> The first field the user had to change or fill.

answered
3

Concatenation of values of multiple attributes of same object

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.

answered
3

Set Layout Grid Column Widths in Properties Pane

Idea: Be able to set Layout Grid column widths for a row in the properties pane for that row.

Background: While using the new layout grids offers many advantages, it is tedious to change the column widths in a layout grid row when the need arises. I have to open the properties pane for each cell in the row and change the width. With a table, I could set all column widths in the properties pane as illustrated

here.

However, with a Layout Grid row selected, I don't have the same option available to me, as illustrated

here

answered
3

When I am using the Excel/CSV exporter it always exports all the columns shown in the grid. I would like have to have the option to export only a limited set of columns.

Maybe even a set of columns not even defined in the grid itselfs.

answered
3

Ability to change the display format of captions, such as the text widget

It is nice that you can now add parameters to the text widget and group box widget. There is however no way to set the display format of the parameters, which is necessary for decimals, dates/times, integers and booleans. Including the option what to display if the value is empty.

answered
2

I will like to suggest an addition to the edit data grid function. It would make life more easy if the column widths are calculated to a sum and displayed, Now we have to count al column widths manually to add it up to 100%

In Mendix terms, add to the column "widtth' the aggreate funtion "sum"

answered
2

Support for Decision Model And Notation(DMN), Version 1.0

More complex logic makes microflows hard to write, maintain and test. DMN is a new standard of the OMG, it stands for Decision Model and Notation. DMN defines an XML format and is executable on Decision/Business Rules Engines.

My initial idea was to request for Decision Table support but I think it makes sense if Mendix moves into this direction. Maybe a phased implementation

In DMN, all decision logic is represented as boxed expressions, boxed literal expressions and boxed invocations. DMN defines decision tables, a very important kind of boxed expression. This clause completes the graphical notation for decision logic, by defining other kinds of boxed expressions.

The expressions ‘in the boxes’ are FEEL expressions. FEEL stands for Friendly Enough Expression Language

Please have a look at http://www.omg.org/spec/DMN/1.0/PDF/

answered
2

Mobile support to save account credentials, so you don't need to login every time.

User just want to get stuff done, and to login every time the session has timed out is not really helping.

answered
2

Allow usage of placeholders within Snippets

It would be nice to allow the usage of placeholders not only in Layouts, but also within Snippets. Currently Snippets are very static. With the use of placeholders we could create more generic Snippets.

answered
2

Only display list view when there are records to show

In losts of cases you want the list view to be invisble when there no records to show, avoiding the 'No items found' message.

Currently the workaround is to use the visibility option using a calculated attribute or redundant attribute. However, this workaround doesn't work anymore when using the offline app.

Adding the option 'Show when empty (yes/no)' would solve this problem.

answered
2

Hi there,
Please consideration to support 2 Features ( Java Activity)

1) I would like to send List of any object to java compute node, please add this feature if you think it should be. Because I want to create java util
to copy all objects in list from source to target but java compute node doesn't support to send to list of any object. Now it support
only specific entity name when i select send by list.


2) Why don't Mendix provide get all values in microflow when I use java compute node? I would like to get other values in microflow by java but I don't want to send many input parameters. If you can make this behavior on your platform, it will be flexibility in the
future.


Let me explain for more detail in number 2.
In my meaning i just to get the value
eg. I set value in address model then set customer to address model. I have java action and send customer model to java.
JAVA cannot get object address because mendix doesn't like java model.

Mendix set parent to child but Java Model set child to parent. If I need to use reflection concept to get some value and set value to target
model by automatic. It's doesn't support Eg. input: PersistCustomer Model and set to output: NonPersistCustomer model.
Java Action cannot get value address

Please help to find out solution because it will help to make flexibility for Mendix. In my idea Mendix should provide.
Example. Core.getIMendixObjectInMicroflow(this.getContext(), "[AssociationName or etc..]"); return current object in MICROFLOW
and this will help me to get value from object.

Thanks

answered
2

Automatically remove unused spacing between microflow actions

Just like the newly added feature where you can simply drag a new action into your microflow and the necessary space is automatically created, I would like the platform to also do the opposite. For example when I create a subflow from some actions in a microflow. This often leaves a lot of unused spacing which you then need to adjust again.

alt text

answered
1

XPath retrieval and filtering on non-persistable entities

I would just like the same options available as on the regular persistent database entities and tables.

answered
1

Change Attribute Type From Float to Decimal For Group of Attributes

Idea: Provide the capability to change all attributes in a given entity from type Float to type Decimal via the context menu for an entity

Background: Having just completed conversion of 2 modules in one of my projects from Float to Decimal (due to the fact that Float as a type will be deprecated in a future release), I think this feature would be very useful. I still have other modules and projects to convert. The conversion process consists of 2 major steps:

  • edit each entity and change each attribute from Float to Decimal type (manually)
  • resolve the resulting errors

I think resolving the errors is a useful exercise as it gives the business engineer an opportunity to revisit microflows that they may not have looked at recently, delete unneeded elements of the business model and refactor microflows as appropriate. However, changing each attribute from Float to Decimal is a tedious task that adds no value to the process. Having the ability to change all attributes in an entity would make the process go much more quickly and smoothly.

answered
1

Pass Widget Name Into Microflow

Add a system property to microflows called "$WidgetName" and set it using the widget from which the microflow was triggered. Then in the mcroflow, we would be able to use exclusive splits to determine the function of a microflow. This would allow us to make small custom tweaks to microflows rather than creating multiple copies of similar microflows.

answered
1

Add an indicator to show in the modeler whether Constant values are used out of the Project Settings > Configurations > Database settings or out of the constant definitions in the module sidebar.

Or show the value defined in the database settings when you start to edit the constant in the module sidebar.

answered
1

Configurable default deployment mode

The problem:

When available, the default deployment mode when opening the modeler is set to 'sandbox'. When you switch to local it will remember this as long as the modeler is still open. However, when you close and reopen the modeler sandbox is the default again. Deploying to sandbox automatically commits your work, without the ability to add comments. For me this has resulted in several unwanted commits, which can be quite frustrating.

Possible solutions:

  1. Make the default deployment mode configurable
  2. Let the modeler always remember the last used deployment mode
answered
0

List View Commits

Add an option to editable list views to only commit the current item rather than the entire list which is a current resource hog that slows the responsiveness of the app.

answered
0

More prominent role for OQL within the platform. See forum post: https://forum.mendix.com/questions/9341/Is-there-a-future-for-OQL

answered
0

This request looks to exist already when you're debugging within mendixcloud. Within the monitor page, the running-now tab shows what you need. The only thing here is that you want it to be visible within the modeler on local environments?

answered
0

Split our "up/down votes on the idea-forum" from those on the regular posts ??

To many great ideas and suggestions here....... B-)

answered
0

Import enumeration

Creating an enumeration can be a lot of work (mouse clicks + typing) while usually the data is already available in some other format. So it would be great if it would be possible to import the names and/or captions, for example by copy-pasting from a text file or from Excel.

answered