Batch Updating Page Layouts
Batch Updating Page Layouts by Arjan van IJzendoorn
Mendix 6 will be released soon, and I would like to talk about a feature that eases a transition you have to make before making the jump to this new version. If you have moved from 4 to 5, and you haven’t made the switch to real layouts yet, this feature can save you a lot of work.
In Mendix 5 we made page structure and navigation explicit by adding layouts. To be able to convert Mendix 4 projects, we added an – immediately deprecated – property to layouts to simulate the Mendix 4 behavior: when opening a page in content the layout is visible, when opening in a pop-up it is not. This property is called ‘Use main placeholder for pop-ups’ and in Mendix 6 we are retiring it.
For more background information you can read one of my previous blogs. In that post I wrote about a feature that allows you to determine the ways in which a page is opened. This helps in finding out what layout a page should be based on, but it does not help you actually update the pages. In large projects this can still be a lot of work and in Mendix 5.21.1 and Mendix 6.0.0 we will add a feature to substantially reduce the work required: batch update of layouts. You can find it in the Tools menu.
You choose the current layout and the new layout and then select which pages to update. After conversion from Mendix 4, all pages will be based on the desktop layout, so that is what we select as the current layout. The configuration above will update pages that are always opened in content to point to the layout called Responsive.
After you switched all pages to modern layouts, you can get rid of the old DesktopLayout and the deprecation warning about the ‘Use main placeholder for pop-up’ property.
Note that pages that are opened both in content and as a pop-up will not be updated by using this procedure. Hopefully your project contains no such pages, but if it does you will have to update those manually.
We hope you enjoy this feature and if you have questions let us know in the comments!