Client scripts and UI extension applications (IRPCClientScript)
Lists, installs, enables, disables, licenses and removes the applications of the vault: vault applications (server side) and UI extension applications (client side), and downloads their packages and files.
| gRPC service | MFiles.IRPCClientScript |
|---|---|
| Book and level | Vault API, standard |
| Methods | 16 |
| Proto file | mfiles/IRPCClientScript.proto |
Overview
An application is a ZIP package with an application definition (appdef.xml). Its GUID
identifies it in every call. ExtApplication describes it;
type tells a vault application (EXT_APPLICATION_TYPE_SERVER) from a UI extension application
(EXT_APPLICATION_TYPE_CLIENT), and platforms (a bit mask of
ExtApplicationPlatform values) the clients it supports.
Reading:
- GetScriptApplicationsEx lists the applications; GetScriptApplication gets one.
- GetClientScriptApplicationsDetails lists the modules and dashboards of the UI extension applications of the new M-Files clients.
- DownloadScriptApplicationFile_Begin and DownloadScriptApplicationFile_ReadBlock download an application package; GetDownloadSessionIdOfScriptApplicationFile downloads one file of a UI extension application.
Managing (requires the vault right change_metadata_structure, see
VaultAccess; these are the operations of M-Files Admin):
- Install or upgrade: upload the package with UploadScriptApplicationFileBlockEx.
- Enable or disable a vault application: GetScriptApplicationServerEnable, SetScriptApplicationServerEnable.
- Restart a hot-swappable vault application: ReloadApplication.
- Licenses: SetVaultApplicationLicense, GetVaultApplicationLicenseStatus.
- Uninstall: RemoveScriptApplication.
Enabled state. ExtApplication.is_enabled is the default enabled state for clients, not
whether a vault application runs. A disabled vault application can show is_enabled true; ask
GetScriptApplicationServerEnable.
Methods
| Method | Summary | Facts |
|---|---|---|
| DownloadScriptApplication | Not implemented: fails with "Not implemented.". | write session |
| DownloadScriptApplicationFile_Begin | Starts downloading the package (ZIP file) of an application and returns its first block. | read session idempotent |
| DownloadScriptApplicationFile_ReadBlock | Reads the next block of an application download. | read session idempotent |
| GetClientScriptApplicationsDetails | Lists the enabled UI extension applications of the new M-Files clients with their modules, files and dashboards. | read session idempotent |
| GetDownloadSessionIdOfScriptApplicationFile | Starts downloading one file of a UI extension application of the new M-Files clients. | read session idempotent |
| GetScriptApplication | Gets one application by its GUID. | write session |
| GetScriptApplicationServerEnable | Tells whether an application is enabled in the vault. | write session |
| GetScriptApplicationsEx | Lists the applications installed in the vault, optionally only one type or platform. | read session idempotent |
| GetVaultApplicationLicense | Not implemented: always returns an empty license. | write session |
| GetVaultApplicationLicenseStatus | Gets the license status of a vault application, or checks a license before installing it. | read session idempotent |
| ReloadApplication | Restarts a hot-swappable vault application on all servers of the vault. | write session |
| RemoveScriptApplication | Uninstalls an application from the vault. | write session |
| SetScriptApplicationServerEnable | Enables or disables an application in the vault. | write session |
| SetVaultApplicationLicense | Installs or removes the license of a vault application. | write session idempotent |
| UploadScriptApplicationFileBlock | Uploads and installs an application package. Same as UploadScriptApplicationFileBlockEx without the list of outdated dependencies. | write session idempotent |
| UploadScriptApplicationFileBlockEx | Uploads an application package block by block and, with the last block, installs the application. | write session idempotent |