5.18.0

Release date: August 3, 2015

Download

DX Features

Page templates

Page templates fill newly created pages with predefined content instead of starting with an empty page. Page templates are enabled by default for new projects and disabled for existing projects.

To enable page templates for your existing project, expand “Project” in the “Project Explorer” and open the “Settings”. Go to the second tab, “Model”, and set “Enable page templates” to “Yes (beta)”.

After enabling page templates, the new “Create Page” form allows the selection of the following aspects:

  • The type of layout the page uses: responsive, tablet specific or phone specific (see layout types below for more information).
  • The name of the page.
  • The navigation layout. Layouts are filtered by the selected layout type.
  • A page template. Page templates are filtered on layout type and grouped in categories. A preview of what they will look like in the browser is displayed.

Layout types

Each layout gets a type if page templates are enabled. If page templates are disabled, layouts work like they used to in Mendix 5.17.

Available layout types:

  • Responsive, use this layout for pages that will work fine on all types of devices. The layout grid and other responsive aspects of this release make it possible to create those pages.
  • Tablet specific, use this layout for pages on a tablet if the responsive option is not sufficient, e.g. if different use cases with different user interfaces have to be supported.
  • Phone specific, same as “tablet specific” but for phones.
  • Modal pop-up, use this layout for pages that should appear as modal pop-ups.
  • Pop-up, use this layout for pages that should appear as non-modal pop-ups.
  • Legacy, layouts created in older versions are of this type. It is recommended to assign the proper type to the layout.

Note: the property “Use main placeholder for pop-ups” can only be set to “Yes” for legacy layouts. It was meant for projects that were converted from Mendix 4 to Mendix 5 and it does not make sense for the new layout types anymore.

For pages based on non-legacy layouts, it is no longer necessary to specify how to open these because it is implied by the layout type. Note that when disabling page templates the page is opened based on a setting and can no longer be based on the layout type. The setting is not necessarily the same as the layout type implied and might change the behavior of your application!

Input forms

Input widgets have a optional, built-in label. This has a few advantages:

  • The input widget and label form a single unit which you can easily move around.
  • Input forms become responsive. If the label and input widget are rendered next to each other, they can still end up underneath each other if there is not enough space.

All input widgets have a new property “Show label” to enable or disable the label. If enabled, the “Label caption” property appears.

Data views determine the form orientation. Horizontal forms place the label next to the input widget while vertical forms place the label above the input widget. In the case of horizontal forms, the width of the label column can be specified using column weights from the layout grid.

If page templates are enabled, the modeler will generate the new input forms using input widgets with built-in label. If page templates are disabled, the old style forms using tables will be generated.

Everywhere on the page editor where an entity is available the connector is now enabled. Dragging an attribute from the connector creates an input widget with a label. A reference selector will be created if an associated attribute is selected.

Layout grids

A new widget called “layout grid” offers a modern way of structuring the contents of a page in rows and columns. Tables should not be used for layout purposes, but only to display tabular data. The layout grid uses the Bootstrap grid system.

The layout grid is responsive, which means that if the browser window is too narrow, columns can end up underneath each other.

Responsive images

The size of an image can now be specified in pixels, percentages or be set to “auto”. Additionally, images can be made responsive. This ensures that an image does not get bigger than its original size, but it does get scaled down if there is not enough space.

Scroll containers

The layout container is renamed to “scroll container” and can now be used on pages.

A “sidebar toggle” widget can toggle the left or right region of a scroll container. There are now three expansion modes which define how the sidebar appears and disappears.

  • Push content aside, the sidebar moves the rest of the content off-screen (only available mode in Mendix 5.17 and older).
  • Slide over content, the sidebar moves over the content.
  • Shrink content, the content shrinks to make space for the sidebar.

The sidebar can be configured to be initially open. The animation is done using a CSS transition instead of in JavaScript and can be customized in a theme.

Passing microflow parameters

It is no longer needed to specify which objects to pass to a microflow called by an action button. These are inferred from the parameters of the selected microflow.

Other improvements

  • In the “show page” action in microflows it is now possible to first select a variable and then generate a page with a data view based on that variable.
  • Support for glyph icons on menu items.
  • Data view and grid control bar buttons now also have the property “Button style” for influencing their look. Manually added btn-primary (and so on) classes are converted to the new button style property. The close button of the data view control bar is no longer indicated by a red background color, but by the postfix “ (close)”.
  • Data views listening to another widget keep the listening data source if an entity is dropped on the widget from the connector. Also auto-fill is checked by default if the setting is enabled in the Modeler.

New features

  • OData provider support, a fast and simple way to enable access to the data in your Mendix applications that is compatible with a large number of third-party tools, including Tableau, SAS, R, Microsoft Power BI, Microsoft Excel and Tibco Spotfire. Please refer to our Mendix OData Support blog post.
  • Added the possibility to include data from the local database when deploying an app. Also, it’s now possible to add a snapshot from the current database (in addition to adding an existing snapshot) to an exported project package. Currently supported for databases up to 10 MB.
  • Replaced the ‘Start Page’ with ‘My Apps’ in the Business Modeler. This new page presents a combined, searchable overview of both your recently opened and Team Server apps. Also, the ‘New App’ button shows an improved overview of the available themes and sample apps that are available for creating a new app.

Improvements

  • Added Check Widgets menu item, which allows you to analyze your widgets to confirm whether they can be built.
  • When exposing the hashed password attribute of a System.User entity (or a specialization thereof) over a published web- or appservice, a warning icon is displayed in the member selection dialog stating that you need strong encryption methods like BCrypt.
  • Added a Documentation tab in Published Appservice versions. Documentation that is entered here will be visible when you publish an app service after deployment. It is also visible in the ‘Publisher Documentation’ tab of a Consumed Appservice.
  • Published Webservices contained a Documentation section in the ‘General’ tab. That has been moved to a seperate ‘Documentation’ tab as well.
  • In a published app service and published web service, the ‘Members…’ button title has been changed to ‘Select…’. After clicking the button a dialog appears where you select exposed attributes and associations. The title of the dialog has been changed as well.
  • If you import a WSDL in a Consumed Web Service document, a dialog will ask you to select a port for each service if a service contains multiple ports.
  • Formatting of numbers has been made more consistent between various ways of generating XML on the consumer and publisher side. We now also take the totalDigits and fractionDigits specification in an XSD into account. Please refer to the reference guide.
  • Changed the links at the right side of the Business Modeler’s menu bar:Updated pictures for phone and tablet preview.
    • Added a link to open ‘My Apps’.
    • Removed the ‘Launchpad’ link.
    • Added a link to the Developer Portal (developers.mendix.com).
    • Renamed ‘Developer Portal’ to ‘Project Dashboard’.
  • Updated pictures for phone and tablet preview.
  • New option in the context menu of an action button to generate a target page.
  • Improved performance of ReferenceSelector. If the widget is read-only the dropdown values are no longer requested (ticket 297360).
  • Edit action context menu added for action buttons pointing to a page or a microflow.
  • Allow a tooltip page to be an arbitrary page with a parameter of specific type, not only a page with a single data view.

Fixes

  • When rendering an XML attribute through a Domain-to-XML mapping, it will not incorrectly fall back to adding the XML attribute to the parent element anymore, but correctly find the element it should be added to. (ticket 286900)
  • In mapping documents, you can delete individual entities now.
  • Before, consistency errors for mapping documents that define more than one mapping with different types for a single element, would be incorrectly omitted if the mapping document had other consistency errors. This has been fixed.
  • Consistent numeric formatting for decimal and float when rendering to XML or SOAP requests. (ticket 274244)
  • Delete temporary file (which is used for image manipulation) immediately after image upload instead of on exit of the platform. This prevents a lot of disk consumption due to temporary files. (ticket 215734)
  • Prevent a crash that could occur in the Business Modeler when downloading from the App Store fails due to network problems.
  • Resolve an error that could occur when editing the JDK path in the Business Modeler’s preferences dialog.
  • Fixed html entities in captions on link buttons being escaped twice.
  • Fixed an exception that occurred while exporting a tab page in a snippet under certain circumstances.
  • Fixed exception that occurred under certain circumstances when editing microflow settings.
  • Fixed exception when choosing ‘None’ while selecting a microflow through the context-menu.
  • Fixed exception when editing an action button in a grid that is not connected to an entity yet.
  • Fixed flicker when collapsing sidebar (ticket 288531).

Known issues

  • In OData metadata (the description of the service), it will always show the user they have access to System.FileDocument or inheriting entities if you selected these to be exposed as a resource, even if that particular user may not have access rights. It also always shows they have access to the binary attribute ‘Contents’ of System.FileDocument. However, actual data will not be exposed if the user does not have the required access rights.
  • Indexes on system attributes are not correctly generated in the database.
  • When calling a microflow from a dataview using an image button the enclosing object is not passed correctly (fixed in 5.19)

Deprecations

  • Horizontal and vertical split panes are deprecated in favor of the more powerful scroll container.
  • Since the layout container is renamed to scroll container, the old classes with the “mx-layoutcontainer” prefix are deprecated. Use the “mx-scrollcontainer” prefix instead.
  • Widgets that are able to scroll their content (e.g. data view and groups box) no longer define overflow if they should not show a scrollbar. Floating dom nodes that relied on the overflow of their parent to clear the float will have to clear their float explicitly.