m-Painter FAQ

Click here to review the legacy version of this documentation.


This document aims to provide developers a list of common questions and subsequent answers to various topics relating to using m-Power’s m-Painter editor. You may scroll through the questions in this document, or click on the navigation menu on the right of this document to jump to a particular question.

How do I use m-Painter to…?

  1. Click the field/image/icon/text etc. that you wish to apply the Smartlink.
  2. Select the “Insert Smartlink” button in the element panel.
  3. Choose m-Power Application, pick the desired application, then map the linking fields.
  4. Press Next to go to Link Options.
  5. Click Save.
  1. Click the element containing the link.
  2. Click the “Edit Smartlink” button in the element panel.
  3. Press Next to go to Link Options.
  4. Within the “Link Target” dropdown, choose “New Window/Tab”
  5. Click Save.

Change the text on a button?

  1. Left-click inside the button where the text is.
  2. Use the Backspace key to remove the text.
  3. Type your desired text.
  4. Click Save.

Stop a Column/Row/Table From Displaying in a Report?


  1. Select one of the cells in the column and click.
  2. In the blue menu that appears, press the trash can.
  3. Click Save.


  1. Select one of the cells in the row and click.
  2. Press the up icon within the blue menu. This action will select the cell’s parent: the table row element.
  3. Press the “Hide Element” button in the element panel on the right side of the screen.
  4. Click Save

Hiding the row will still show the row in m-Painter, however at runtime, the row will not be present.


  1. Select one of the cells in the table and click.
  2. Within the right side element panel, click the “Select Data Table” button.
  3. Press the “Hide Element” button in the element panel on the right side of the screen.
  4. Click Save.

Hiding the table will still show the table in m-Painter, however at runtime, the table will not be present.

Make an input field required?

  1. Find the proper input field and click in the textbox.
  2. Click the “Input Properties” button in the element panel.
  3. Check the ‘Required’ box within the “Additional Input Options” section.
  4. Press Save.

Make a dropdown list required?

  1. Find the proper dropdown list and left-click inside the dropdown.
  2. Click “List” in the m-Painter toolbar.
  3. Remove the value for “Blank Option Text”
  4. Press Ok.

Making a dropdown list required via this method is not supported for dropdowns that are utilizing ‘Is in the List’ relationships.

Increase the number of records allowed in a report?

  1. Open “Edit Properties”.
  2. Navigate to the “Options” tab (shown by default), and search for the “max_records” and “max_web_records” values.
  3. Modify these values up or down to your desired upper limits.
  4. Click OK.

Note: If the report is only run from batch, then only the “max_records” needs to be modified. If the report is only being run interactively (from a browser), only the “max_web_records” needs to be modified. However, both may be modified to ensure the limit is properly set.

Note: There is no “No Limit” setting for your protection.


After an application is first created, a compile is necessary to create the proper output files, such as the HTML presentation layer(s), the app properties XML file, and the Java and Class files which control the actual data portion of the application. Compiling an application, (also interchangeably referred to as “building”) is accomplished by pressing the ‘Build App‘ button as show in the following image.

If you are unsure if an application has been compiled, open the Application Specification for the application, and check the ‘Run App’ button. If is grayed out, this application has not been compiled yet and will show the following message when clicked:

The message shown here under the ‘Run App’ button will display when the application has not been compiled.

When to recompile?

Once the application has been initially compiled, only then can the look and feel of the application’s presentation (HTML) layer can be customized via m-Painter. “Edit UI (m-Painter)” is within the 3. Customize option of the Application Navigation Bar.

The Application Navigation Bar for an application, outlined in red.

As a whole, only when a change to the application is made in the  1. Data Model or 2. Additional Options options of the Application Navigation Bar, a recompile of the application is needed.

Changes made to any specifications in 1. Data Model or 2. Additional Options require a recompile.

Recompile after painting in m-Painter?

No. m-Painter changes require you to just press the Save button within the m-Painter editor. This is concept is also true for app property changes in Edit Properties, you only need to save your changes.

Once the change is saved, simply re-run the application to see the change.

m-Painter and Edit Properties, shown inside the 3. Customize option.

Changes made to either 3. Customize options, ‘Edit UI (m-Painter)’ and ‘Edit Properties’ only need to be saved.

When to overwrite the HTML?

When a user first begins to use the m-Power interface, one of the biggest questions they have is what to do when they come to this screen:

This screen is shown whenever someone tries to recompile an application that already exists (therefore, you will NOT see this screen when initially compiling a brand new application). Our logic checks to see if generated code already exists on the server, and if it does, we check to see how you want to proceed. Of course, we will update the back-end Java code to ensure your latest changes within the Application Menu screens are included, but we need to check with you to see how to handle the HTML presentation files (m-Painter).

When recompiling your application, with the “Overwrite existing HTML?” flag set to “Yes”, this will erase all the changes you have made to your application through m-Painter.

Ideally should make all the necessary changes within 1. Data Model or 2. Additional Options first, and compile. Then save any customizations and changes in m-Painter until last. However, since that rarely happens, the following is a non-inclusive check list of situations that would not require an overwrite of the HTML during a recompile.

If you make changes that will not affect the general structure and look of your application, you can specify “No” for this option. Here’s some examples of some changes this would pertain to:

  • Changing the display format of a numeric field in Field Settings
  • Changing the expression add/or conditions of a calculation
  • Adding/Updating/Deleting an External Object
  • Changing the join fields between two linked tables
  • Changing the join type between your linked tables (LEFT OUTER vs INNER JOIN)
  • Adding/Updating/Deleting a hard-coded Filter

However, there are some changes that do require you to specify “Yes” for this option, which will overwrite the HTML layer and any changes you have made within m-Painter. This could include:

  • Changing the selected template of the application.
  • Adding a new field and wanting it displayed to the screen
  • Changing the column headings descriptions in Field Settings
  • Reordering Fields in Field Settings
  • Adding/Updating/Deleting a runtime value prompt Filter
  • Adding a new field in a Maintainer application
  • Adding a Parameter type calculation

There is a very useful tip that can save countless hours regarding overwriting the HTML Skeleton. If you have spent a long time in m-Painter for an application, you probably don’t want to overwrite the HTML. If you need to add a field, you can always add the field through the interface, but specify “No” to not overwrite the HTML. Then, open m-Painter. You will not see your field, but you can still include it under the “Field Listing” from the “Data Options” panel.

Click on the arrow next to the field you want to add. Doing so will append this column to the end of your data table.

See also: When to Overwrite HTML/XML Flowchart

Updated on December 6, 2023

Was this article helpful?

Related Articles

Need Support?
Can’t find the answer you’re looking for? Don’t worry we’re here to help!
Contact Support