[Idea Forum] - Q2 2015 - CLOSED

9
Update 28-05-2015: Because of the amount of idea's this Forum is closed now. A new one will be started in the next quarter. Make sure to up vote the idea's you like the most within the coming 2 weeks, after that this list will be send to Mendix for processing. Because of the success of the first Idea Forum I'm very happy to launch it's successor which closes at the end of June. Mendix already implemented (and will implement) several idea's coming from the first Idea Forum. This thread is moderated, each quarter there will be a new thread. 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)
asked
49 answers
4

Thanks again for all the great ideas! We are currently looking into the top 3 ideas to estimate the effort and viability of implementing them. I will update this message next week when we know more.

Regarding the previous IdeaForum: the requested autospace feature for Microflows has been released in 5.17.0. I'm curious to your experiences with it!

UPDATE:

  • We will implement the first request (Simplifying Large Splits by using "Else") this quarter.
  • We will implement the suggestions for the "microflow autospace" feature that are in the comments of this answer this quarter.
  • We will implement the second request (Preserve mappings when changing create action into change action or vice versa) next quarter as we do not have enough time in this and next month to do it (Why? We are working on some other awesome stuff, stay tuned ;) ).
  • We will further discuss the third option (Make template grids editable so we can get rid of the formloader!). We do not know yet what the impact is and when we can best do this. We are in the process of reviewing our whole client architecture, which will impact how and when we can do this.
answered
43

Simplifying Large Splits by using "Else"

Large enums often make your microflows look like exploding stars: alt text

Same goes for inheritance splits: alt text

Userstory

As a a business engineer who loves sanity

I want an "Else" split in my splits

So that I only need to split paths I care about and divert the rest I don't care about making mendix splits more fun than banana splits

answered
39

When refactoring or just building I often like to change a 'Create' action with a lot of mappings into a 'Change' action with almost the same mappings. Or vice versa. So I would like a Modeler features that changes a change into a create or vice versa preserving the mappings.

Preserve mappings when changing create action into change action or vice versa

answered
37

Make template grids editable so we can get rid of the formloader!

Most applications are still using the formloader, because the need to edit inside a template grid. When the snippets where introduced, a false hope was created, that is will replace the formloader totally.

But it does NOT! And the support of the form loader was stopped by Mendix.

Please make the template grid editable just like the list view.

answered
30

Improve document generation in Mendix.

We all know that creating document templates in Mendix is not as easy and fast as creating and styling pages. We could use some usability improvements.

Some features I would like:

  • Better styling options, for instance standard styling for tables, ability to style a table in stead of each cell seperately
  • Ability to use layouts just like with pages
  • Property popup, instead of having to use the property panel
  • Ability to repeat table headers when a table is too long for one page
  • Ability to apply overlays, ie a "concept" background
  • Ability to show another header on first and other pages

I know some of the features are already possible with workarounds, nonetheless it would be a good idea to get the document templates to the same level of ease of use as the rest of the Mendix Modeler.

If you have some other ideas for nice features, please comment!

answered
19

Asynchronous and wait-for actions

Doing async actions could help the application to perform more efficiently, but you always have to drop into Java and do voodoo to make sense from a modeler point of view. We want something like this: alt text

User story

As a mendix business engineer

I want an async split and wait action

So that I can model threads visually

answered
18

For generic functionality like imports/exports, reporting and more I would like to use java actions that receive a list of AnyObject, so I don't have to create a wrapper java action for each time I want to use the generic function.

Java actions with List of AnyObject parameter

Even better would be to also let microflows receive an Anyobject(list) parameter, and maybe also use AnyObject(list) for return variables. And the cast action turning them into a specific object, but this is more of an idea for the future.

answered
17

Keep log levels after restarting app

For example: when you change a log level to 'TRACE' it will be reset after you restart your application. Especially when you're bug fixing and applying changes to your model, you need to set the log levels every time you restart. Maybe it's better to keep the log levels, till you close the mendix project. Alternatively an extra button to reset all log levels would be nice.

log levels

answered
15

Add new datatype Date The DateTime datatype can be cumbersome to use when storing data like birth dates, contract start dates etc... Especially in multi-timezone applications it can cause some serious challenges, especially since date picker and microflow defaults do not always handle the time component in the same way. Having a datatype Date would make life easier.

answered
14

On mouse over show Conditional visibility on containers/tables

Now if you want to see which condition is applicable you see a green bar but would be handsome to see what attribute+value on mouseover. Saves clicking 5 times each time.

answered
14

Cross-module associations displayed as "objects" in domain model

I find cross-module associations most often affect the readability of domain model diagrams. Perhaps we could display other modules as objects in the domain model, with all cross-module associations to that module converging to that object, instead of pointing off the left hand side of the diagram.

So, instead of this:

alt text

We would have something like this:

alt text

Admittedly not the best example but I hope it gets my idea across!

answered
12

CTRL+Click behavior for certain microflow actions and buttons

In a browser, when you CTRL+Click a hyperlink, the link will open in a new tab page. I have wanted similar behavior in Mendix for a very long time.

A few examples:

  • CTRL+Click on a "Show page" action will open the called page in a new tab in the modeler
  • CTRL+Click on a "Microflow call" action will open the called microflow in a new tab in the modeler
  • CTRL+Click on one of the object action will open the Domain Model and select the entity on which the object action operates
  • CTRL+Click on a microflow button on a page will open the called microflow in a new tab in the modeler

There are probably more possibilities. Maybe other developers can chime in in the comments of this answer with ideas!

answered
11

View Microflow dependency/dependents graphically

In large projects, its often hard to visualize where all the microflows are being used and use others. Especially when you refactor, the 2 find tabs are insufficient to keep tabs on things I have changed and still need to change.

Userstory

As a Mendix Business Engineer,

I want a dependency graph of a single microflow

So that I can make better refactoring decisions and make refactoring a dream

answered
10

Bend and move domain model association lines, to avoid lines that move behind an entity that has no part in a given association. Move the association label, across the association line or close to it, with a small dotted line to keep them together.

This will result in domain models that are much easier to read and maintain.

answered
10

Disabling/Commenting steps in a microflow

Often times while debugging or tweaking a microflow, I'd like to disable a step or two without having to completely delete (and later recreate) that step. One workaround is to save multiple copies of a microflow, but some way to disable a step would be much easier.

answered
9

Push message to user/usergroups

From an admin perspective, it is usefull to push a message to user or usergroups for things like maintenance, upcoming deployment. The only way to do this now is to make an entity which is in each page and where a scheduled event is checking if there's a message to display. This slows down the App performance but the framework doens't support another way of push a message.

answered
8

Right click document -> move to other module Now you have to drag a lot or apply a drag-drop trick but this would be nice and more user friendly.

answered
7

Right click -> extract to snippet. As you have with sub microflows.

answered
5

Responsive template grid

A template grid has a fixed number of rows and columns. I would like to have a responsive template grid, that adjusts the number of rows and columns based on the screen size.

Especially useful for mobile development because device display sizes vary so much.

answered
5

Be able to conditionally display and hide default data grid columns. Currently you have to display a totally different datagrid if you want to display information in different views. If you had the ability to conditionally hide and show certain columns based on a boolean, you merely have to set the boolean before the page displaying the datagrid is shown.

This will result in less clutterred page development and easier management/manipulation of information in a datagrid.

answered
5

Drill down in debugger When looking at an object in the debugger I cannot drill down to related objects, if I want to see the values in those objects I'll have to retrieve them seperately. Of course the drill down itself would be done lazily so the retrieve is only done upon drill down.

answered
5

Make visibility of elements conditional based on an attribute in another object using an association.

Currently it is only possible to use an attribute that is in the current object. This sometimes forces us to add duplicate visibility attributes to objects that are not the real owner of this data.

answered
4

Domain models can get really complex and hard to read. When application modules reference each others entities a lot, it gets really confusing.

The idea: Allow creation of multiple entity relation diagrams at the project level:

  • Create as many diagrams as you want to create multiple views on the entities, across any and all modules.
  • Select entities from any module to include it in the diagram.
  • Deleting an entity from the diagram only removes it from the diagram.
  • Only show relations to entities visible on the diagram.
  • Double click an entity as in the domain model.
  • Right click an entity and select option to add all related entities to the diagram.
answered
4

Default value on project level for datagrid search bar render property.

Note: I'm almost always using the show expanded (always) option. That's because users don't get the double search button. After typing the search values they hit the search button and whoops the search fields are collapsed. It's not intuitive and therefor I always use expanded search fields but I have to put that on every single datagrid.

answered
4

Open tabs in the same order as they were left when closing the project after opening the project again project in the Modeler

When I start the day developing in Mendix and open a project, the tabs that were left open the previous day are opened in a totally random order from the day before. I would like the Modeler to remember the order of the tabs that were open when I open my project again.

answered
4

Rollback a list of Objects.

Currently you need to loop through all items and rollback individual items. Prefer to have one call named: Rollback Object(s) Just like "Commit Object(s)" and "Delete Object(s)"

https://modelshare.mendix.com/models/8134c7f0-7291-4333-b940-cdf783de5406/loop-for-rollback-objects

answered
4

Activity for creating a variable that holds one object

answered
4

Show Callstack in Debugger

When setting a breakpoint in a microflow, the modeler will stop execution at this point 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
3

Improved selections in Grid/Template Grid/List views

New selection option Grid/Template grid/List, single click and single selection and allow for triggering the default button (cannot have multiple buttons in the grid with this setting).

And allow a dataview to listen to the data grid / template grid / list view.

When having a template grid, clicking a item will give the item a "selected" class / identifier when the grid is set to no-selection single click. If you set the edit button to default with these settings, will open the edit page. But finishing editing the entity will not remove the selected state from the previously clicked item. So that if you click the next item two items will open an edit page.

Also when having a template grid's allow for setting child grid's / lists to no selection, single click, hide control bar which enables them to trigger the parent grid's click actions instead and having mouse over cursor changes as if they were clickable.

answered
3

Add loop counter variable in loop

I know I already added 3 suggestions, but if I have to sacrifice one, this would be it, but its a small enough feature that I think will slim down loop microflows by Adding a loop counter Int variable to your loops.

As a business engineer

I want a pseudo loop counter variable

So that I don't need to explicitly define one and reduce the size of my microflows

answered
3

Make a change list activity, like a change object activity.

Just like a change object activity I would like to be able to change all objects in a list without having to iterate over the list. This activity should also include a commit option.

For example useful if you want each object in a list to have the same value (a boolean set to true perhaps).

answered
3

In large projects better understand which module roles and user roles are related

When you have a large number of user and module roles the Modeler does not support you well to understand which roles are connected. It is easy to lose track of how your permissions and roles are setup and in case of troubleshooting permissions it might take a while to find the cause.

  1. There is no "Find usages" on a module role to see in which user role(s) it is used. The workaround is to delete it where the "Are you sure?" popup offers a "Find usages" button. So the button is there, but one step to deep.
  2. In the "User roles" popup add a "Quick find" option to quickly find the desired user role(s) and based on the role name and/or the module role(s) it is connected to. The latter is the reverse of #1.
answered
2

Add 'Go to page' option when right clicking a microflowbutton in the modeler, if the underlying microflow has a ShowPage action

I really love the 'Go to' actions when right clicking buttons or actions etc. and use it a lot to navigate through a project in the modeler. But it could use one improvement i.m.h.o.

I have quite a lot of microflowbuttons that open a page in the underlying microflow. Very often I want to open that target page in the modeler. Now I first have to open the microflow by right clicking the button => Go to Microflow and then in the microflow, open the page by right clicking the showpage action => goto page. It would be awesome if you could directly open the page by right clicking the microflowbutton and select Go to page. Off course, If there are multiple ShowPage Actions in the microflow, it would be awesome if you were able to select which page you'd want to go to.

I think this would greatly improve the speed and how to navigate through the project in the modeler, also keeping the modeler clean because no more unnecessary microflow-tabs are opened.

answered
2

Modeler batch actions (compare with photoshop batch actions)

As a more generic option for my other posts about datagrid search bars it would be create if there is a modeler bach executer which has 3 parameters:

  • What
  • Property
  • Value

With that you can:

  • Set all datagrids (what) the "Show search bar" property to "Expanded"
  • Set all datagrids columns of type currency to decimal precision 2
  • And a lot more..

Al this kind of default properties would also be great to have on project level.

answered
2

Custom widgets currently have no way to use the constraint by function even though it is a very usefull feature.

It would be nice if the constraint by form was added to the types of custom widget attributes xsd so that you are able to add it to your widgets.

answered
2

Paging and paging button changes for grid's and template grid's

Whenever a data grid / template grid is created, we can enable or disable paging buttons. Paging buttons are by far the best interaction practice for large collections of rows. But for smaller lists they are not, and also on mobile these paging buttons are not really usable as they currently only have top side positioning in the grid. Which will usually place them somewhere in the middle of a mobile device's screen.

Currently when i disable my paging buttons I just display a limited collection of the number of rows defined in the widget. For example I say it should show 7 rows, but i have 21 records total in my database. Usually i would get 2 more pages. But without the paging buttons I lose access to 14 results.

I would really like it that if my paging buttons are disabled, the widget's behavior would be changed so that the rows are scrollable instead or just "view more results" button instead like list views.

The loading behavior should be set in the widget, for instance I want to limit a maximum of 50 rows to be loaded initially and any remaining rows just get loaded after scrolling down. So that whenever I scroll from the first 50 results to 50-100 the new results are then later retrieved from the database.

Also with paging buttons enabled, interaction options could be improved if the page number was editable. For instance i have 25 pages,I want to get to a page easily. Better interaction would be select the page number and scrolling or typing a new page number to get to the new page. Where the scrolling select of a number should not fire the loading event instantly but should wait till the scroll is finished by having a small delay.

answered
2

Automatic background coloring of microflow actions

We use a green bg color for commit actions, purple for a microflow call, etc. Doing this manually takes up a lot of time, and it would be awesome if this were configurable in your (personal) settings.

answered
2

When creating a new page from a microflow activity, or creating a microflow from a page, automatically duplicate the configured allowed roles to the new page/microflow.

answered
1

When adding mappings to a create or change object action, only show those attributes and relations that do not have a mapping yet. More overview, no chance on duplicate entries especially on larger entities.

answered
1

New view properties

All views: HasContents = Boolean, any view or list opening without any entity to show in it should have this set to true so it can be used for toggling the visibility of the grid / list or view.

Lists/Grids Empty list text, just like setting it for a empty dataview. Deletion of entity in list text, set the deletion warning text for the entity specific

Dataview MaximumHeight = Inherit parent view height

Images Show as background image, new show option, render as background image, allows for better positioning and scaling of the image in css.

Text Show as html paragraph, and if it is set as render as label give it html label functionality by giving it a name attribute. Which enables it to be clickable, and allow it for selecting the input field related to that name attribute.

answered
1

When moving microflows/forms/... across projects without merging because I want to reuse functionality on a different project I often run into the fact that it is not just 1 module, but a sometimes large series of individual exports/imports I have to do. So I would like a package import/export where a package can be any document in Mendix.

Package import/export

Off course a new option to import/export domain model entities as well would be awesome.

answered
1

Regression test suggester For non automated test environments like probably most of the projects, a "Regression test suggester" feature would be awesome.

How should it work: Mendix knows all the model changes and already has the feature Find Usages. If you changed one (sub)microflow the Suggester should automatically come up with all potential starting points with triggers this microflow (recursive find usages will almost always lead to UI button, SE or Event).

Applying this to a change set and you provide your tester with a full list of buttons he has to hit, screens/tab pages he has to check, SE's which needs to be tested, e.t.c.

answered
1

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
1

Test OQL in the Business Modeler

Currently the Modeler only identifies basic syntax errors. You have to run the application, navigate to the report, and attempt to run it before getting more specific information about what didn't work in the Console monitor. This is laborious. I would like to be able to submit it and view the result set or the db error message from within the Modeler where building the OQL/Java Action.

answered
0

Responsive template grid

A template grid has a fixed number of rows and columns. I would like to have a responsive template grid, that adjusts the number of rows and columns based on the screen size.

Especially useful for mobile development because device display sizes vary so much.

answered
0

1) Make objects aware of each other
This is kind of a broader request, but the goal is to make buttons, data grids, and the like, be able to pull context from anywhere else on the known page. Take, for example, the data view which can listen (subscribe) to any datagrid on the page.

I believe the below two are not custom widgets, but actually updates to the framework around them. But if still considered invalid, just consider my first suggestion.

2) Make custom widgets allow displaying of enum and boolean values where such attributes are selected


3) Make custom widgets allow displaying of module roles in a new type of field type



If you vote for my ideas, leave a comment for which one(s).

answered
0

Select all/Deselect all Dependencies when Exporting Module Package

When exporting a module package, the dependencies with other modules can be selected. A module might have lots of dependencies so having a select all/deselect all on this page would save quite some spacebar hits.

answered
0

Reporting - Report Pane Zoom

Currently there is no way to pass the parameter values, such as a $DateRange parameter from the parent report to the child report being "Zoom"-ed to. For example, if I have a report based on aggregating values counting the number of issues in a particular status and I want to see the details of the "10" issues in "Pending Status", I can't create a drill-down report because I can't pass the same $DateRange or other parameters into the 'Zoom' report.

answered
0

XPATH 2.0

Frequently when attempting to build the correct constraints to isolate the data needed in complex queries I find that I could solve the problem using XPATH 2.0, whereas XPATH 1.0 that Mendix currently uses doesn't have a solution or requires a complex multi-step process to do what could be done in one XPATH 2.0 function.

answered