Skip to main content

Overview

User Interface Extensibility Framework applications are JavaScript applications that run within the M-Files Web client. The framework provides a set of objects that allow you to interact with the user interface by adding commands to various menus, to add your own tabs/dashboards, or to react when various events fire within the user interface. Applications can also use the M-Files Vault API to perform tasks within the vault such as searching or creating objects.

What can be done using the User Interface Extensibility Framework?​

The User Interface Extensibility Framework allows third-party developers to extend the M-Files client interface in a number of ways:

  • By reacting when events fire within the user interface, such as reacting when a user selects an object of a known type.
  • By adding commands to either the main menu or context menu, and reacting when those commands are clicked.
  • By adding custom tabs to the user interface, allowing custom HTML pages ("dashboards") to be shown within M-Files.
  • By showing popup dashboards, for example when a command is clicked.
  • By interacting with other components of the user interface through the UIX API, or interacting with the vault via the Vault API.
  • Using any combination of the above.

How are UI applications structured?​

note

More information on the application structure is available in the dedicated page.

UI applications are deployed as a .mfappx file, which is a renamed .zip file. This archive contains the files that the application needs to run, including:

  • A manifest file named appdef.xml which defines the application ID, name, modules, and dashboards.
  • At least one module file which declares the application entry point.
  • Zero, one, or more dashboard HTML file, along with any supporting files such as CSS, JavaScript, or images.

How do I deploy and test my UI applications?​