Make Create object and Change object faster, easier and less error-prone - Mendix Forum

Make Create object and Change object faster, easier and less error-prone


Imagine the following situation - you have an entity with quite a few attributes and associations:




You want to create or change an object of Entity. This means you have to take the following steps:


  1. In a microflow (or nanoflow), add a create object or change object action
  2. Select the correct entity
  3. For each attribute:
    1. Click New
    2. Click the drop-down under "Member"
    3. Find your attribute and click it
    4. Set the value of your attribute
    5. Click OK


This can lead to quite a lot of clicks to get the desired result, and it also has some disadvantages:



What I propose is a complete redesign of the create object / change object dialog to make it a lot quicker and more user-friendly. Below is a screenshot of the full idea, then I'll explain the individual parts below:




Available attributes




  1. This list shows all available attributes and associations that can be set for this entity. Having this list available makes sure you don't inadvertently miss any attributes. The total number of attributes and associations is shown at the top, as well as how many are still available for adding.
  2. Adding attributes / associations to be changed is as easy as selecting them and clicking "Add" in the middle part of the screen (and clicking "remove" for removing them). This will move them to the right part of the screen, where they can be edited. Keeping the available and selected attributes separate makes it easy to see which attributes are actually changed in this microflow action
  3. A button to "collapse" the new "available attributes" pane. This means you can easily switch back to the "old" view if you want to.
  4. Not pictured here: it might be nice to show default values per attribute on hover or in a separate column


Filters and sorting




  1. Filters above each column mean that it's always easy to find the attirbute or association you're looking for, even if your entity has dozens of attributes.
  2. Sorting buttons next to each column title mean you can sort alphabetically or reverse alphabetically with a single click. As change order matters sometimes, it might be necessary to add numbers for the execution order to the right part of the screen (not pictured)


Selected Attributes




  1. Shows the attributes that you're editing. I would love to see in-line editing here so you don't always have to open a separate dialog if you want to add a simple value.
  2. The familiar icons showing you what was changed or added. I feel like this would be a useful addition to keep track of what changed. This could also help show accidental edits.
  3. The familiar icons we used to have. Double-clicking or clicking the edit button would pop up the old dialog for editing an attribute. This would be useful for more complicated logic over multiple lines. As mentioned above, for the "move up" and "move down" buttons to be useful, there would need to be some sort of column keeping track of change order (not pictured in my mock-up)
  4. An undo button to undo the changes you made to a particular attribute 


Overall I believe that a rework of this dialog could significantly speed up development, while being flexible enough that it won't bother people who are used to "the old ways" (since they can just leave the left panel collapsed most of the time). 


Please let me know what you think of this idea and if you have any further ideas for improvements or changes!


2 answers

The dialog UX you suggest reminds me of the tooling for multilaguage support in the modeler. This optional view can enhance the modeling of entity operations when there are more complex sets of attributes.  +1


FYI, you can already search when you press button New just start typing and your attribute will be search based on your input. Like the idea everybody have they own preferences for me that pop-up will look to complex it's look like a datagrid for basic thing to do.