From c77365eee4d5889481a4f107719547d5e2457053 Mon Sep 17 00:00:00 2001 From: SofiaBili Date: Fri, 20 Mar 2026 16:02:56 +0100 Subject: [PATCH 01/21] Add runtime api s and permissions to docs --- .../web/web-extensions-howtos/permissions.md | 61 +++++++++ .../runtime-configuration-api.md | 119 ++++++++++++++++++ .../runtime-controller-api.md | 65 ++++++++++ .../studio-pro/web-extensibility-api.md | 6 + 4 files changed, 251 insertions(+) create mode 100644 content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md create mode 100644 content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md create mode 100644 content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md diff --git a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md new file mode 100644 index 00000000000..e02ebbbb74e --- /dev/null +++ b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md @@ -0,0 +1,61 @@ +--- +title: "Extension Permissions in Overview Pane" +linktitle: "Extension Permissions Guide" +url: /apidocs-mxsdk/apidocs/web-extensibility-api-11/extension-permissions/ +--- + +## Introduction + +This how-to describes how the permission system works for web extensions in Studio Pro. Permissions allow extensions to request access to sensitive APIs or data that require explicit user consent. + +## How Permissions Work + +Web extensions can request permissions to access sensitive functionality. The permission system follows these principles: + +* **Opt-in by default** — Extensions cannot access protected APIs unless they explicitly request the permission and the user grants it. +* **User control** — Users decide which permissions to grant through the Extensions Overview pane in Studio Pro. +* **Per-project settings** — Permission grants are stored per project, so users can have different permission settings for the same extension across different projects. + +## Requesting Permissions +To request a permission, declare it in your extension's `package.json` file under the `mendix.permissions` object: + +```json +{ + "mendixComponent": { + "entryPoints": { + "main": "main.js", + "ui": { + "tab": "tab.js" + } + }, + "permissions": { + "runtime-configuration-private": true + } + } +} +``` + +Setting a permission to true indicates that your extension requests this permission. The user must grant it before your extension can use the protected functionality. + +## Granting Permissions (User Flow) + +When a user installs an extension that requests permissions, they can manage those permissions through the Extensions Overview pane: + +1. Open Studio Pro and load a project with the extension installed. +2. Go to View > Extensions Overview to open the Extensions Overview pane. +3. Find the extension in the list. +4. Under the extension details, a Permissions section displays the requested permissions. +5. Check or uncheck the checkbox next to each permission to grant or revoke access. + +## Available Permissions + +Currently, the following permissions are available for web extensions: +| Permission | Description | +|------------|-------------| +| `runtime-configuration-private` | Allows the extension to access the values of private constants from the active runtime configuration. Without this permission, private constants are returned with `isPrivate: true` and no value. | + +## Extensibility Feedback + +If you would like to provide additional feedback, you can complete a small [survey](https://survey.alchemer.eu/s3/90801191/Extensibility-Feedback). + +Any feedback is appreciated. diff --git a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md new file mode 100644 index 00000000000..cdef097e0e8 --- /dev/null +++ b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md @@ -0,0 +1,119 @@ +--- +title: "Access Runtime Constants Using Web API" +linktitle: "Runtime Constants" +url: /apidocs-mxsdk/apidocs/web-extensibility-api-11/runtime-configuration-api/ +--- + +## Introduction + +This how-to describes how to create a simple menu that retrieves and displays the runtime constants from the active configuration in a message box. + +## Prerequisites + +Before starting this how-to, make sure you have completed the following prerequisites: + +* This how-to uses the results of [Get Started with the Web Extensibility API](/apidocs-mxsdk/apidocs/web-extensibility-api-11/getting-started/). Complete that how-to before starting this one. +* Make sure you are familiar with creating menus as described in [Create a Menu Using Web API](/apidocs-mxsdk/apidocs/web-extensibility-api-11/menu-api/) and message boxes as described in [Show a Message Box Using Web API](/apidocs-mxsdk/apidocs/web-extensibility-api-11/messagebox-api/). + +## Set Up the Extension Structure + +Create a menu that will display the runtime constants in the `loaded` method in the main entry point (`src/main/index.ts`). This can be done by following the steps in [Create a Menu Using Web API](/apidocs-mxsdk/apidocs/web-extensibility-api-11/menu-api/). + +In the example below, you create one menu item that will show a message box with the runtime constants from the active configuration. + +Replace your `src/main/index.ts` file with the following: + +```typescript +import { IComponent, Menu, getStudioProApi } from "@mendix/extensions-api"; + +export const component: IComponent = { + async loaded(componentContext) { + const studioPro = getStudioProApi(componentContext); + const menuApi = studioPro.ui.extensionsMenu; + const runtimeConfigApi = studioPro.runtime.configuration; + const messageBoxApi = studioPro.ui.messageBoxes; + + const menuId = "show-constants-menu"; + const caption = "Show Runtime Constants"; + + // Get and show the constants when the menu item is clicked + const action = async () => { + const constants = await runtimeConfigApi.getConstants(); + + if (constants.length === 0) { + await messageBoxApi.show("info", "No constants found in the active configuration."); + return; + } + + const accessibleConstants = constants.filter(c => c.isPrivate === false); + const privateConstants = constants.filter(c => c.isPrivate === true); + + let message = ""; + + if (accessibleConstants.length > 0) { + message += "Accessible Constants:\n"; + message += accessibleConstants.map(c => ` ${c.constantName}: ${c.value}`).join("\n"); + } + + if (privateConstants.length > 0) { + message += `\n\n${privateConstants.length} private constant(s) not accessible.`; + } + + await messageBoxApi.show("info", `Runtime Constants:\n\n${message}`); + }; + + const menu: Menu = { caption, menuId, action }; + + await menuApi.add(menu); + } +}; +``` + +The code uses the: + +* `menuApi` from `studioPro.ui.extensionsMenu` to allow you to use the menu API +* `messageBoxApi` from `studioPro.ui.messageBoxes` to show a dialog +* `runtimeConfigApi` from studioPro.runtime.configuration to retrieve the runtime constants + +{{% alert color="info" %}} The function is `async` in order for you to use `await` when executing the preview action. +{{% /alert %}} + +The `getConstants()` function returns an array of constant objects, each with the following properties: +* isPrivate — a boolean indicating whether the constant value is hidden (true) or accessible (false) +* constantName — the fully qualified name of the constant (e.g., `MyModule.MyConstant`) +* value — the constant value as a string (only present when isPrivate is false) + +## Accessing Private Constants + +By default, private constants are not accessible and will have isPrivate set to true with no value. To access private constant values, your extension must request the runtime-configuration-private permission. + +Add the permission to your extension's package.json after the entrypoints: + +```json +{ + "mendixComponent": { + "entryPoints": { + "main": "main.js", + "ui": { + "tab": "tab.js" + } + }, + "permissions": { + "runtime-configuration-private": true + } + } +} + +``` + +You have to set the permission to true if you want the permission to appear in the Overview Pane. + +When a user installs your extension, they can grant this permission through the Extensions Overview pane(View->Extensions) in Studio Pro. Once granted, private constants will be returned with isPrivate set to false and their value included. + +You can read more about permissions in the [Permission Guide](/apidocs-mxsdk/apidocs/web-extensibility-api-11/extension-permissions/). + +## Extensibility Feedback + +If you would like to provide additional feedback, you can complete a small [survey](https://survey.alchemer.eu/s3/90801191/Extensibility-Feedback). + +Any feedback is appreciated. diff --git a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md new file mode 100644 index 00000000000..6edee96a204 --- /dev/null +++ b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md @@ -0,0 +1,65 @@ +--- +title: "Listen for Connection Changes" +linktitle: "Runtime Controller" +url: /apidocs-mxsdk/apidocs/web-extensibility-api-11/runtime-controller-api/ +--- + +## Introduction + +This how-to describes how to create a simple menu that displays when the connection changed in a message box. + +## Prerequisites + +Before starting this how-to, make sure you have completed the following prerequisites: + +* This how-to uses the results of [Get Started with the Web Extensibility API](/apidocs-mxsdk/apidocs/web-extensibility-api-11/getting-started/). Complete that how-to before starting this one. +* Make sure you are familiar with creating menus as described in [Create a Menu Using Web API](/apidocs-mxsdk/apidocs/web-extensibility-api-11/menu-api/) and message boxes as described in [Show a Message Box Using Web API](/apidocs-mxsdk/apidocs/web-extensibility-api-11/messagebox-api/). +* Your app must be running locally in Studio Pro to use the Runtime Controller API. + +## Listening for Connection Changes + +You can listen for runtime connection state changes to know when the app starts or stops running. Add an event listener to respond when the connection state changes. + +Replace your `src/main/index.ts` file with the following: + +```typescript +import { IComponent, getStudioProApi } from "@mendix/extensions-api"; + +export const component: IComponent = { + async loaded(componentContext) { + const studioPro = getStudioProApi(componentContext); + const runtimeControllerApi = studioPro.runtime.controller; + const messageBoxApi = studioPro.ui.messageBoxes; + + // Listen for connection state changes + runtimeControllerApi.addEventListener("connectionChanged", (args) => { + messageBoxApi.show( + "info", + `Runtime connection: ${args.isConnected ? "Connected" : "Disconnected"}` + ); + }); + } +}; +``` + +The code uses the: + +* `menuApi` from `studioPro.ui.extensionsMenu` to allow you to use the menu API +* `messageBoxApi` from `studioPro.ui.messageBoxes` to show a dialog +* `runtimeControllerApi` from `studioPro.runtime.controller` to check if the connection changed. + +{{% alert color="info" %}} The function is `async` in order for you to use `await` when executing the preview action. +{{% /alert %}} + +The connectionChanged event provides an object with: + +* isConnected — a boolean indicating whether the runtime is currently connected (true) or disconnected (false) + +{{% alert color="info" %}} Take into consideration that you can currently only detect when the runtime connects/disconnects, but before the runtime setup is completed. +{{% /alert %}} + +## Extensibility Feedback + +If you would like to provide additional feedback, you can complete a small [survey](https://survey.alchemer.eu/s3/90801191/Extensibility-Feedback). + +Any feedback is appreciated. diff --git a/content/en/docs/releasenotes/studio-pro/web-extensibility-api.md b/content/en/docs/releasenotes/studio-pro/web-extensibility-api.md index c40fe1c4cfa..5f27f2a3de4 100644 --- a/content/en/docs/releasenotes/studio-pro/web-extensibility-api.md +++ b/content/en/docs/releasenotes/studio-pro/web-extensibility-api.md @@ -8,6 +8,12 @@ numberless_headings: true These release notes cover changes to the [Extensibility API for Web Developers](/apidocs-mxsdk/apidocs/extensibility-api/). +## Version 11.9.0 + +* We introduced a new Runtime Configuration API under `studioPro.runtime.configuration`, which allows you to retrieve runtime constants from the active configuration. For more information, see [Access Runtime Constants Using Web API](/apidocs-mxsdk/apidocs/web-extensibility-api-11/runtime-configuration-api/). +* We introduced a new Runtime Controller API under `studioPro.runtime.controller`, which allows you to listen for runtime connection state changes to detect when your app starts or stops running. For more information, see [Listen for Connection Changes](/apidocs-mxsdk/apidocs/web-extensibility-api-11/runtime-controller-api/). +* We introduced a permission system for web extensions. Extensions can now request access to sensitive APIs, and users can grant or revoke permissions through the Extensions Overview pane. For more information, see [Extension Permissions Guide](/apidocs-mxsdk/apidocs/web-extensibility-api-11/extension-permissions/). + ## Version 11.8.0 * We introduced a change in the [Progress Dialog API](/apidocs-mxsdk/apidocs/web-extensibility-api-11/dialog-api/), so when the progress dialog only has one step, only the progress bar is shown. From 284527a9cef610328cc9fceb8fb90aee78a26e38 Mon Sep 17 00:00:00 2001 From: SofiaBili Date: Mon, 23 Mar 2026 10:39:45 +0100 Subject: [PATCH 02/21] Update index --- .../apidocs/studio-pro-11/extensibility-api/web/_index.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/_index.md b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/_index.md index 7748418ea88..ebb151802c9 100644 --- a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/_index.md +++ b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/_index.md @@ -51,3 +51,6 @@ Below is a list of how-tos for you to begin with: * [How to Exchange Information Between Active Views](/apidocs-mxsdk/apidocs/web-extensibility-api-11/message-passing-api/) * [How to Show Version Control Information](/apidocs-mxsdk/apidocs/web-extensibility-api-11/version-control-api/) * [How to Introduce a New Document Type](/apidocs-mxsdk/apidocs/web-extensibility-api-11/custom-blob-document-api/) +* [How to Listen for Connection Changes](/apidocs-mxsdk/apidocs/web-extensibility-api-11/runtime-controller-api/) +* [How to Access Runtime Constants](/apidocs-mxsdk/apidocs/web-extensibility-api-11/runtime-configuration-api/) +* [How to Use Extension Permissions in Overview Pane](/apidocs-mxsdk/apidocs/web-extensibility-api-11/extension-permissions) From 6901484695e28334b0cf5c833d0270c038f91fb6 Mon Sep 17 00:00:00 2001 From: quinntracy Date: Mon, 23 Mar 2026 13:43:44 +0100 Subject: [PATCH 03/21] Permissions review --- .../web/web-extensions-howtos/permissions.md | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md index e02ebbbb74e..f8e886ba4f4 100644 --- a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md +++ b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md @@ -1,6 +1,6 @@ --- title: "Extension Permissions in Overview Pane" -linktitle: "Extension Permissions Guide" +linktitle: "Extension Permissions" url: /apidocs-mxsdk/apidocs/web-extensibility-api-11/extension-permissions/ --- @@ -10,13 +10,14 @@ This how-to describes how the permission system works for web extensions in Stud ## How Permissions Work -Web extensions can request permissions to access sensitive functionality. The permission system follows these principles: +Web extensions can request permissions to access sensitive functionalities. The permission system follows these principles: -* **Opt-in by default** — Extensions cannot access protected APIs unless they explicitly request the permission and the user grants it. -* **User control** — Users decide which permissions to grant through the Extensions Overview pane in Studio Pro. -* **Per-project settings** — Permission grants are stored per project, so users can have different permission settings for the same extension across different projects. +* **Opt-in by default** — Extensions cannot access protected APIs unless they explicitly request the permission and the user grants it +* **User control** — Users decide which permissions to grant through the Extensions Overview pane in Studio Pro +* **Per-project settings** — Permission grants are stored per project so users can have different permission settings for the same extension across different projects ## Requesting Permissions + To request a permission, declare it in your extension's `package.json` file under the `mendix.permissions` object: ```json @@ -35,21 +36,21 @@ To request a permission, declare it in your extension's `package.json` file unde } ``` -Setting a permission to true indicates that your extension requests this permission. The user must grant it before your extension can use the protected functionality. +Setting a permission to **true** indicates that your extension requests this permission. The user must grant it before your extension can use the protected functionality. ## Granting Permissions (User Flow) -When a user installs an extension that requests permissions, they can manage those permissions through the Extensions Overview pane: +When a user installs an extension that requests permissions, they can manage those permissions through the Extensions Overview pane. Follow the steps below: 1. Open Studio Pro and load a project with the extension installed. -2. Go to View > Extensions Overview to open the Extensions Overview pane. -3. Find the extension in the list. -4. Under the extension details, a Permissions section displays the requested permissions. -5. Check or uncheck the checkbox next to each permission to grant or revoke access. +2. Go to **View** > **Extensions Overview** to open the Extensions Overview pane. +3. Find the extension in the list. Under the extension details, the **Permissions** section displays the requested permissions. +4. Check or uncheck the checkbox next to each permission to grant or revoke access. ## Available Permissions Currently, the following permissions are available for web extensions: + | Permission | Description | |------------|-------------| | `runtime-configuration-private` | Allows the extension to access the values of private constants from the active runtime configuration. Without this permission, private constants are returned with `isPrivate: true` and no value. | From 34510b94580da934f98b6085dd6e99d10006d1fe Mon Sep 17 00:00:00 2001 From: quinntracy Date: Mon, 23 Mar 2026 14:40:06 +0100 Subject: [PATCH 04/21] Runtime Constants review --- .../runtime-configuration-api.md | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md index cdef097e0e8..b88b7147e6b 100644 --- a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md +++ b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md @@ -17,11 +17,10 @@ Before starting this how-to, make sure you have completed the following prerequi ## Set Up the Extension Structure -Create a menu that will display the runtime constants in the `loaded` method in the main entry point (`src/main/index.ts`). This can be done by following the steps in [Create a Menu Using Web API](/apidocs-mxsdk/apidocs/web-extensibility-api-11/menu-api/). +Set up the extension structure by following the steps below: -In the example below, you create one menu item that will show a message box with the runtime constants from the active configuration. - -Replace your `src/main/index.ts` file with the following: +1. Create a menu that will display the runtime constants in the `loaded` method in the main entry point (`src/main/index.ts`). This can be done by following the steps in [Create a Menu Using Web API](/apidocs-mxsdk/apidocs/web-extensibility-api-11/menu-api/). +2. Replace your `src/main/index.ts` file with the following: ```typescript import { IComponent, Menu, getStudioProApi } from "@mendix/extensions-api"; @@ -69,6 +68,8 @@ export const component: IComponent = { }; ``` +In this example, you create one menu item that will show a message box with the runtime constants from the active configuration. + The code uses the: * `menuApi` from `studioPro.ui.extensionsMenu` to allow you to use the menu API @@ -79,15 +80,15 @@ The code uses the: {{% /alert %}} The `getConstants()` function returns an array of constant objects, each with the following properties: -* isPrivate — a boolean indicating whether the constant value is hidden (true) or accessible (false) -* constantName — the fully qualified name of the constant (e.g., `MyModule.MyConstant`) -* value — the constant value as a string (only present when isPrivate is false) +* `isPrivate` – a boolean indicating whether the constant value is hidden (true) or accessible (false) +* `constantName` – the fully qualified name of the constant (for example, `MyModule.MyConstant`) +* `value` – the constant value as a string (only present when `isPrivate` is false) ## Accessing Private Constants -By default, private constants are not accessible and will have isPrivate set to true with no value. To access private constant values, your extension must request the runtime-configuration-private permission. +By default, private constants are not accessible and will have `isPrivate` set to true with no value. To access private constant values, your extension must request the `runtime-configuration-private` permission. -Add the permission to your extension's package.json after the entrypoints: +Add the permission to your extension's `package.json` after the entry points: ```json { @@ -106,11 +107,11 @@ Add the permission to your extension's package.json after the entrypoints: ``` -You have to set the permission to true if you want the permission to appear in the Overview Pane. +You have to set the permission to true if you want the permission to appear in the Extensions Overview pane. -When a user installs your extension, they can grant this permission through the Extensions Overview pane(View->Extensions) in Studio Pro. Once granted, private constants will be returned with isPrivate set to false and their value included. +When a user installs your extension, they can grant this permission through the Extensions Overview pane (**View** > **Extensions**) in Studio Pro. Once granted, private constants will be returned with `isPrivate` set to false and their value included. -You can read more about permissions in the [Permission Guide](/apidocs-mxsdk/apidocs/web-extensibility-api-11/extension-permissions/). +You can read more about permissions in [Extension Permission](/apidocs-mxsdk/apidocs/web-extensibility-api-11/extension-permissions/). ## Extensibility Feedback From 870322c1d340a997ec1a0d1956f591c8e05de1bf Mon Sep 17 00:00:00 2001 From: quinntracy Date: Mon, 23 Mar 2026 15:08:37 +0100 Subject: [PATCH 05/21] Controller review --- .../web/web-extensions-howtos/runtime-controller-api.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md index 6edee96a204..27d498f7e06 100644 --- a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md +++ b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md @@ -18,9 +18,10 @@ Before starting this how-to, make sure you have completed the following prerequi ## Listening for Connection Changes -You can listen for runtime connection state changes to know when the app starts or stops running. Add an event listener to respond when the connection state changes. +You can listen for runtime connection state changes to know when the app starts or stops running. To do this, follow the steps below: -Replace your `src/main/index.ts` file with the following: +1. Add an event listener to respond when the connection state changes. +2. Replace your `src/main/index.ts` file with the following: ```typescript import { IComponent, getStudioProApi } from "@mendix/extensions-api"; @@ -51,9 +52,9 @@ The code uses the: {{% alert color="info" %}} The function is `async` in order for you to use `await` when executing the preview action. {{% /alert %}} -The connectionChanged event provides an object with: +The `connectionChanged` event provides an object with: -* isConnected — a boolean indicating whether the runtime is currently connected (true) or disconnected (false) +* `isConnected` – a boolean indicating whether the runtime is currently connected (true) or disconnected (false) {{% alert color="info" %}} Take into consideration that you can currently only detect when the runtime connects/disconnects, but before the runtime setup is completed. {{% /alert %}} From d440cf8609cf86a749ee494699a9ee42154a0330 Mon Sep 17 00:00:00 2001 From: quinntracy Date: Mon, 23 Mar 2026 15:11:22 +0100 Subject: [PATCH 06/21] RN review --- .../en/docs/releasenotes/studio-pro/web-extensibility-api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/releasenotes/studio-pro/web-extensibility-api.md b/content/en/docs/releasenotes/studio-pro/web-extensibility-api.md index 5f27f2a3de4..21afcf8e9ad 100644 --- a/content/en/docs/releasenotes/studio-pro/web-extensibility-api.md +++ b/content/en/docs/releasenotes/studio-pro/web-extensibility-api.md @@ -12,7 +12,7 @@ These release notes cover changes to the [Extensibility API for Web Developers]( * We introduced a new Runtime Configuration API under `studioPro.runtime.configuration`, which allows you to retrieve runtime constants from the active configuration. For more information, see [Access Runtime Constants Using Web API](/apidocs-mxsdk/apidocs/web-extensibility-api-11/runtime-configuration-api/). * We introduced a new Runtime Controller API under `studioPro.runtime.controller`, which allows you to listen for runtime connection state changes to detect when your app starts or stops running. For more information, see [Listen for Connection Changes](/apidocs-mxsdk/apidocs/web-extensibility-api-11/runtime-controller-api/). -* We introduced a permission system for web extensions. Extensions can now request access to sensitive APIs, and users can grant or revoke permissions through the Extensions Overview pane. For more information, see [Extension Permissions Guide](/apidocs-mxsdk/apidocs/web-extensibility-api-11/extension-permissions/). +* We introduced a permission system for web extensions. Extensions can now request access to sensitive APIs and users can grant or revoke permissions through the Extensions Overview pane. For more information, see [Extension Permissions](/apidocs-mxsdk/apidocs/web-extensibility-api-11/extension-permissions/). ## Version 11.8.0 From 5ee80f453a0ecd2f5c14fff3a65ac70b73e1865a Mon Sep 17 00:00:00 2001 From: Quinn Tracy <142489060+quinntracy@users.noreply.github.com> Date: Mon, 23 Mar 2026 15:35:27 +0100 Subject: [PATCH 07/21] Revise --- .../web/web-extensions-howtos/runtime-controller-api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md index 27d498f7e06..bb1e0b2fa4e 100644 --- a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md +++ b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md @@ -56,7 +56,7 @@ The `connectionChanged` event provides an object with: * `isConnected` – a boolean indicating whether the runtime is currently connected (true) or disconnected (false) -{{% alert color="info" %}} Take into consideration that you can currently only detect when the runtime connects/disconnects, but before the runtime setup is completed. +{{% alert color="info" %}} The event only detects when the runtime connects or disconnects. It cannot be used to determine when the runtime is completely initialized. {{% /alert %}} ## Extensibility Feedback From f8decb6915fd0ad7a0e7529acb17e02bd7a1e204 Mon Sep 17 00:00:00 2001 From: Quinn Tracy <142489060+quinntracy@users.noreply.github.com> Date: Thu, 26 Mar 2026 15:12:50 +0100 Subject: [PATCH 08/21] Update content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md Co-authored-by: Mark van Ments <35492184+MarkvanMents@users.noreply.github.com> --- .../web/web-extensions-howtos/permissions.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md index f8e886ba4f4..bbc0cf95e02 100644 --- a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md +++ b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md @@ -8,6 +8,10 @@ url: /apidocs-mxsdk/apidocs/web-extensibility-api-11/extension-permissions/ This how-to describes how the permission system works for web extensions in Studio Pro. Permissions allow extensions to request access to sensitive APIs or data that require explicit user consent. +{{% alert color="info" %}} +Extension permissions were introduced in version 11.9.0. +{{% /alert %}} + ## How Permissions Work Web extensions can request permissions to access sensitive functionalities. The permission system follows these principles: From 27eda1ca33e1005057b31da412b548ea714c5468 Mon Sep 17 00:00:00 2001 From: Quinn Tracy <142489060+quinntracy@users.noreply.github.com> Date: Thu, 26 Mar 2026 15:12:58 +0100 Subject: [PATCH 09/21] Update content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md Co-authored-by: Mark van Ments <35492184+MarkvanMents@users.noreply.github.com> --- .../web/web-extensions-howtos/runtime-controller-api.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md index bb1e0b2fa4e..6a00849f227 100644 --- a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md +++ b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md @@ -8,6 +8,10 @@ url: /apidocs-mxsdk/apidocs/web-extensibility-api-11/runtime-controller-api/ This how-to describes how to create a simple menu that displays when the connection changed in a message box. +{{% alert color="info" %}} +Listening for connection changes was introduced in version 11.9.0. +{{% /alert %}} + ## Prerequisites Before starting this how-to, make sure you have completed the following prerequisites: From d35bab408ece3a9520e11f40f1f11bc92131bb40 Mon Sep 17 00:00:00 2001 From: Quinn Tracy <142489060+quinntracy@users.noreply.github.com> Date: Thu, 26 Mar 2026 15:13:06 +0100 Subject: [PATCH 10/21] Update content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md Co-authored-by: Mark van Ments <35492184+MarkvanMents@users.noreply.github.com> --- .../web/web-extensions-howtos/runtime-configuration-api.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md index b88b7147e6b..f20860d1d9b 100644 --- a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md +++ b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md @@ -8,6 +8,10 @@ url: /apidocs-mxsdk/apidocs/web-extensibility-api-11/runtime-configuration-api/ This how-to describes how to create a simple menu that retrieves and displays the runtime constants from the active configuration in a message box. +{{% alert color="info" %}} +Access to runtime constants using the web API was introduced in version 11.9.0. +{{% /alert %}} + ## Prerequisites Before starting this how-to, make sure you have completed the following prerequisites: From 035e58480b5f56e54643e1d9397c1ca7b490266b Mon Sep 17 00:00:00 2001 From: Quinn Tracy <142489060+quinntracy@users.noreply.github.com> Date: Thu, 26 Mar 2026 15:13:17 +0100 Subject: [PATCH 11/21] Update content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md Co-authored-by: Mark van Ments <35492184+MarkvanMents@users.noreply.github.com> --- .../extensibility-api/web/web-extensions-howtos/permissions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md index bbc0cf95e02..967ff1d5f45 100644 --- a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md +++ b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md @@ -14,7 +14,7 @@ Extension permissions were introduced in version 11.9.0. ## How Permissions Work -Web extensions can request permissions to access sensitive functionalities. The permission system follows these principles: +Web extensions can request permissions to access sensitive functionality. The permission system follows these principles: * **Opt-in by default** — Extensions cannot access protected APIs unless they explicitly request the permission and the user grants it * **User control** — Users decide which permissions to grant through the Extensions Overview pane in Studio Pro From 41765e950e89e77f3462886b117d48f4101c0ce6 Mon Sep 17 00:00:00 2001 From: Quinn Tracy <142489060+quinntracy@users.noreply.github.com> Date: Thu, 26 Mar 2026 15:13:39 +0100 Subject: [PATCH 12/21] Update content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md Co-authored-by: Mark van Ments <35492184+MarkvanMents@users.noreply.github.com> --- .../web/web-extensions-howtos/runtime-controller-api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md index 6a00849f227..90d7b62bdaa 100644 --- a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md +++ b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md @@ -56,7 +56,7 @@ The code uses the: {{% alert color="info" %}} The function is `async` in order for you to use `await` when executing the preview action. {{% /alert %}} -The `connectionChanged` event provides an object with: +The `connectionChanged` event returns an object with: * `isConnected` – a boolean indicating whether the runtime is currently connected (true) or disconnected (false) From 81f747a050a1d49394069b393b74cbaf2eaf69bd Mon Sep 17 00:00:00 2001 From: Quinn Tracy <142489060+quinntracy@users.noreply.github.com> Date: Thu, 26 Mar 2026 15:13:57 +0100 Subject: [PATCH 13/21] Update content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md Co-authored-by: Mark van Ments <35492184+MarkvanMents@users.noreply.github.com> --- .../web/web-extensions-howtos/runtime-configuration-api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md index f20860d1d9b..31fa494a427 100644 --- a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md +++ b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md @@ -115,7 +115,7 @@ You have to set the permission to true if you want the permission to appear in t When a user installs your extension, they can grant this permission through the Extensions Overview pane (**View** > **Extensions**) in Studio Pro. Once granted, private constants will be returned with `isPrivate` set to false and their value included. -You can read more about permissions in [Extension Permission](/apidocs-mxsdk/apidocs/web-extensibility-api-11/extension-permissions/). +You can read more about permissions in [Extension Permissions in Overview Pane](/apidocs-mxsdk/apidocs/web-extensibility-api-11/extension-permissions/). ## Extensibility Feedback From 89a3abb81540a6b6bac1d5ba4a96184027485f78 Mon Sep 17 00:00:00 2001 From: Quinn Tracy <142489060+quinntracy@users.noreply.github.com> Date: Thu, 26 Mar 2026 15:32:57 +0100 Subject: [PATCH 14/21] Update content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md Co-authored-by: Mark van Ments <35492184+MarkvanMents@users.noreply.github.com> --- .../web/web-extensions-howtos/runtime-controller-api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md index 90d7b62bdaa..be004f8db67 100644 --- a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md +++ b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-controller-api.md @@ -25,7 +25,7 @@ Before starting this how-to, make sure you have completed the following prerequi You can listen for runtime connection state changes to know when the app starts or stops running. To do this, follow the steps below: 1. Add an event listener to respond when the connection state changes. -2. Replace your `src/main/index.ts` file with the following: +2. Replace the content of your `src/main/index.ts` file with the following: ```typescript import { IComponent, getStudioProApi } from "@mendix/extensions-api"; From 344d9dcd283f387b39eff4e576f83801b79eb8d6 Mon Sep 17 00:00:00 2001 From: Quinn Tracy <142489060+quinntracy@users.noreply.github.com> Date: Thu, 26 Mar 2026 15:34:14 +0100 Subject: [PATCH 15/21] Update content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md Co-authored-by: Mark van Ments <35492184+MarkvanMents@users.noreply.github.com> --- .../web/web-extensions-howtos/runtime-configuration-api.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md index 31fa494a427..543cb469e36 100644 --- a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md +++ b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md @@ -84,6 +84,7 @@ The code uses the: {{% /alert %}} The `getConstants()` function returns an array of constant objects, each with the following properties: + * `isPrivate` – a boolean indicating whether the constant value is hidden (true) or accessible (false) * `constantName` – the fully qualified name of the constant (for example, `MyModule.MyConstant`) * `value` – the constant value as a string (only present when `isPrivate` is false) From 8cf5a006b520784d774acf35d983e6c0fc8618d6 Mon Sep 17 00:00:00 2001 From: Quinn Tracy <142489060+quinntracy@users.noreply.github.com> Date: Thu, 26 Mar 2026 16:22:00 +0100 Subject: [PATCH 16/21] Apply suggestion from @MarkvanMents Co-authored-by: Mark van Ments <35492184+MarkvanMents@users.noreply.github.com> --- .../extensibility-api/web/web-extensions-howtos/permissions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md index 967ff1d5f45..af3bc994f7f 100644 --- a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md +++ b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md @@ -17,7 +17,7 @@ Extension permissions were introduced in version 11.9.0. Web extensions can request permissions to access sensitive functionality. The permission system follows these principles: * **Opt-in by default** — Extensions cannot access protected APIs unless they explicitly request the permission and the user grants it -* **User control** — Users decide which permissions to grant through the Extensions Overview pane in Studio Pro +* **User control** — You decide which permissions to grant through the Extensions Overview pane in Studio Pro * **Per-project settings** — Permission grants are stored per project so users can have different permission settings for the same extension across different projects ## Requesting Permissions From f51622056159b4ab81eab4df6cd6fed159cb6404 Mon Sep 17 00:00:00 2001 From: Quinn Tracy <142489060+quinntracy@users.noreply.github.com> Date: Thu, 26 Mar 2026 16:59:18 +0100 Subject: [PATCH 17/21] Update wording --- .../extensibility-api/web/web-extensions-howtos/permissions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md index af3bc994f7f..c602ebf91fa 100644 --- a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md +++ b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md @@ -16,7 +16,7 @@ Extension permissions were introduced in version 11.9.0. Web extensions can request permissions to access sensitive functionality. The permission system follows these principles: -* **Opt-in by default** — Extensions cannot access protected APIs unless they explicitly request the permission and the user grants it +* **Opt-in by default** — Extensions cannot access protected APIs unless you request persmission and the extension user grants it * **User control** — You decide which permissions to grant through the Extensions Overview pane in Studio Pro * **Per-project settings** — Permission grants are stored per project so users can have different permission settings for the same extension across different projects From 86aaa71ec12c216235b76915eb6337a34e4adb06 Mon Sep 17 00:00:00 2001 From: Quinn Tracy <142489060+quinntracy@users.noreply.github.com> Date: Fri, 27 Mar 2026 10:22:40 +0100 Subject: [PATCH 18/21] Update permissions.md --- .../extensibility-api/web/web-extensions-howtos/permissions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md index c602ebf91fa..bddbcaa1635 100644 --- a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md +++ b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md @@ -18,7 +18,7 @@ Web extensions can request permissions to access sensitive functionality. The pe * **Opt-in by default** — Extensions cannot access protected APIs unless you request persmission and the extension user grants it * **User control** — You decide which permissions to grant through the Extensions Overview pane in Studio Pro -* **Per-project settings** — Permission grants are stored per project so users can have different permission settings for the same extension across different projects +* **Per-project settings** — Permission grants are stored per project, so a user’s approval for an extension applies only within that app. This gives them the flexibility to grant a permission in one project and choose different settings for the same extension in another. ## Requesting Permissions From 15c67929f25b45f5eb5f975a11f17f4043f47241 Mon Sep 17 00:00:00 2001 From: Quinn Tracy <142489060+quinntracy@users.noreply.github.com> Date: Fri, 27 Mar 2026 10:27:52 +0100 Subject: [PATCH 19/21] Apply suggestion from @MarkvanMents Co-authored-by: Mark van Ments <35492184+MarkvanMents@users.noreply.github.com> --- .../extensibility-api/web/web-extensions-howtos/permissions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md index bddbcaa1635..be6833f4e5b 100644 --- a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md +++ b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md @@ -53,7 +53,7 @@ When a user installs an extension that requests permissions, they can manage tho ## Available Permissions -Currently, the following permissions are available for web extensions: +The following permissions are available for web extensions: | Permission | Description | |------------|-------------| From 9a8280cc9da1e42dd939db387a30d3db5b23a479 Mon Sep 17 00:00:00 2001 From: quinntracy Date: Fri, 27 Mar 2026 10:34:37 +0100 Subject: [PATCH 20/21] Revisions --- .../extensibility-api/web/web-extensions-howtos/permissions.md | 2 +- .../web/web-extensions-howtos/runtime-configuration-api.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md index f8e886ba4f4..134989a7cdb 100644 --- a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md +++ b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md @@ -49,7 +49,7 @@ When a user installs an extension that requests permissions, they can manage tho ## Available Permissions -Currently, the following permissions are available for web extensions: +The following permissions are available for web extensions: | Permission | Description | |------------|-------------| diff --git a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md index b88b7147e6b..b67a12cf126 100644 --- a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md +++ b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/runtime-configuration-api.md @@ -20,7 +20,7 @@ Before starting this how-to, make sure you have completed the following prerequi Set up the extension structure by following the steps below: 1. Create a menu that will display the runtime constants in the `loaded` method in the main entry point (`src/main/index.ts`). This can be done by following the steps in [Create a Menu Using Web API](/apidocs-mxsdk/apidocs/web-extensibility-api-11/menu-api/). -2. Replace your `src/main/index.ts` file with the following: +2. Replace the contents of your `src/main/index.ts` file with the following: ```typescript import { IComponent, Menu, getStudioProApi } from "@mendix/extensions-api"; From 4bc0bfd68cbf6854dcd743a1b48c16e9218edb85 Mon Sep 17 00:00:00 2001 From: Quinn Tracy <142489060+quinntracy@users.noreply.github.com> Date: Fri, 27 Mar 2026 15:40:28 +0100 Subject: [PATCH 21/21] Additional revisions --- .../web/web-extensions-howtos/permissions.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md index be6833f4e5b..80755f3a37e 100644 --- a/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md +++ b/content/en/docs/apidocs-mxsdk/apidocs/studio-pro-11/extensibility-api/web/web-extensions-howtos/permissions.md @@ -40,13 +40,13 @@ To request a permission, declare it in your extension's `package.json` file unde } ``` -Setting a permission to **true** indicates that your extension requests this permission. The user must grant it before your extension can use the protected functionality. +Setting a permission to **true** indicates that your extension requests this permission. The user must grant it before your extension can use the protected functionality. Default: *False* ## Granting Permissions (User Flow) When a user installs an extension that requests permissions, they can manage those permissions through the Extensions Overview pane. Follow the steps below: -1. Open Studio Pro and load a project with the extension installed. +1. Open Studio Pro and load an app with the extension installed. 2. Go to **View** > **Extensions Overview** to open the Extensions Overview pane. 3. Find the extension in the list. Under the extension details, the **Permissions** section displays the requested permissions. 4. Check or uncheck the checkbox next to each permission to grant or revoke access.