Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ aliases:
This feature is in beta. For more information, see [Release Status](/releasenotes/release-status/).
{{% /alert %}}

{{% alert color="info" %}}
For information on new releases of the Extensibility API, see [Extensibility: C# API Release Notes](/releasenotes/studio-pro/csharp-extensibility-api/).
{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-10/) instead.
{{% /alert %}}

## Introduction
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 15

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-10/) instead.
{{% /alert %}}

This how-to describes how to add a menu that contains sub-menus, some of which also contain sub-menus of their own.

You can download the example in this how-to in [this GitHub repository](https://github.com/mendix/ExtensionAPI-Samples).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 20

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-10/) instead.
{{% /alert %}}

This document describes how to build a simple to-do list extension for Studio Pro.

The extension allows you to add new to-do items to a list, which integrate with Studio Pro's main menu. You will also create a user interface for the extension using a dockable pane and web content.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 6

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-10/) instead.
{{% /alert %}}

You can add a context menu to an `IEntity` in Studio Pro or to a `IDocument`, such as microflows and pages. These context menus will appear under a menu named after the extension that contains them (for example, `MyExtension`) and can modify the items they relate to. This is achieved by specifying the type when creating the extension.

You can download the example in this how-to in [this GitHub repository](https://github.com/mendix/ExtensionAPI-Samples).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 5

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-10/) instead.
{{% /alert %}}

This how-to describes how to add a custom dockable web pane window to Studio Pro.

You can download the example in this how-to in [this GitHub repository](https://github.com/mendix/ExtensionAPI-Samples).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 4

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-10/) instead.
{{% /alert %}}

This how-to describes how to create an extension that adds an item to Studio Pro menu from scratch.

You can download the example in this how-to in [this GitHub repository](https://github.com/mendix/ExtensionAPI-Samples).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 14

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-10/) instead.
{{% /alert %}}

This how-to describes how to create a new microflow and add activities to it. The `IMicroflowService` is used to perform actions related to microflows.

## Creating and Initializing a Microflow Using `Initialize`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 8

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-10/) instead.
{{% /alert %}}

This how-to describes how to create microflows that perform calculations and return the result.

You can download the example in this how-to from [this GitHub repository](https://github.com/mendix/ExtensionAPI-Samples).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 7

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-10/) instead.
{{% /alert %}}

This how-to describes how to create a new web view hosted inside a modal dialog, and how to open the modal from a new menu item.

You can download the example in this how-to in [this GitHub repository](https://github.com/mendix/ExtensionAPI-Samples)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 99

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-10/) instead.
{{% /alert %}}

This how-to describes how to export an extension so you can publish it in the Marketplace or share it directly with other Mendix developers.

## Prerequisites
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 11

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-10/) instead.
{{% /alert %}}

Once you have created basic extensions, you may want to interact with the Studio Pro model to make changes to your app. The Model API enables this functionality and is exposed via the`Mendix.StudioPro.ExtensionsAPI.Model` namespace.

## Gaining Access to the Mendix Model SDK
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 24

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-10/) instead.
{{% /alert %}}

The Untyped Model Access API is designed for advanced users familiar with the internals of the Mendix platform. It allows access to the rich data of model elements.

* For model elements, units, and property names, see the [Mendix Model SDK](https://apidocs.rnd.mendix.com/modelsdk/latest/index.html).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 9

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-10/) instead.
{{% /alert %}}

Extension points allow you to hook functionality into various areas of the Studio Pro IDE. `ExtensionPoint` is a base class that extension developers can inherit from. Once inherited, your functionality will be loaded by Studio Pro. These classes all have the `*Extension` suffix, inherit from the [`ExtensionBase`](https://github.com/mendix/ExtensionAPI-Samples/blob/main/API%20Reference/Mendix.StudioPro.ExtensionsAPI/ExtensionBase.md) base class, and contain a few virtual or abstract members.

`ExtensionPoint` is the only way you can add a custom behavior to Studio Pro. All other APIs provided solely to support the implementation or expression of these behaviors.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 10

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-10/) instead.
{{% /alert %}}

A Studio Pro service is an interface that exposes some core Studio Pro functionality to extensions. These interfaces are named `I*Service` and can be found in `Mendix.StudioPro.ExtensionsAPI.Services` or `Mendix.StudioPro.ExtensionsAPI.UI.Services` namespaces. It can be injected using the Microsoft Extensions Framework, also referred to as MEF. For more information about MEF and how to use it, refer to the official [Microsoft documentation](https://learn.microsoft.com/en-us/dotnet/framework/mef/).

{{% alert color="info" %}}You should not implement these interfaces in your production code, although it is possible to make sense to do so for unit testing purposes.{{% /alert %}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 12

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-10/) instead.
{{% /alert %}}

Wherever the Studio Pro Extensibility API allows you to add custom UI, you can implement it using web technologies.

Studio Pro includes a built-in web view for displaying your web-based UI. It also provides a built-in web server that can be used to serve both the web UI and the data it requires.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ weight: 2

This document describes how to set up a basic development environment for building extensions.

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-10/) instead.
{{% /alert %}}

## Development Setup

{{% alert color="info" %}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ aliases:
This feature is in beta. For more information, see [Release Status](/releasenotes/release-status/).
{{% /alert %}}

{{% alert color="info" %}}
For information on new releases of the Extensibility API, see [Extensibility: C# API Release Notes](/releasenotes/studio-pro/csharp-extensibility-api/).
{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-11/) instead.
{{% /alert %}}

## Introduction
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 15

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-11/) instead.
{{% /alert %}}

This how-to describes how to add a menu that contains sub-menus, some of which also contain sub-menus of their own.

You can download the example in this how-to in [this GitHub repository](https://github.com/mendix/ExtensionAPI-Samples).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 20

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-11/) instead.
{{% /alert %}}

This document describes how to build a simple to-do list extension for Studio Pro.

The extension allows you to add new to-do items to a list, which integrate with Studio Pro's main menu. You will also create a user interface for the extension using a dockable pane and web content.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 6

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-11/) instead.
{{% /alert %}}

You can add a context menu to an `IEntity` in Studio Pro or to a `IDocument`, such as microflows and pages. These context menus will appear under a menu named after the extension that contains them (for example, `MyExtension`) and can modify the items they relate to. This is achieved by specifying the type when creating the extension.

You can download the example in this how-to in [this GitHub repository](https://github.com/mendix/ExtensionAPI-Samples).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 5

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-11/) instead.
{{% /alert %}}

This how-to describes how to add a custom dockable web pane window to Studio Pro.

You can download the example in this how-to in [this GitHub repository](https://github.com/mendix/ExtensionAPI-Samples).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 4

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-11/) instead.
{{% /alert %}}

This how-to describes how to create an extension that adds an item to Studio Pro menu from scratch.

You can download the example in this how-to in [this GitHub repository](https://github.com/mendix/ExtensionAPI-Samples).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 14

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-11/) instead.
{{% /alert %}}

This how-to describes how to create a new microflow and add activities to it. The `IMicroflowService` is used to perform actions related to microflows.

## Creating and Initializing a Microflow Using `Initialize`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 8

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-11/) instead.
{{% /alert %}}

This how-to describes how to create microflows that perform calculations and return the result.

You can download the example in this how-to from [this GitHub repository](https://github.com/mendix/ExtensionAPI-Samples).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 7

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-11/) instead.
{{% /alert %}}

This how-to describes how to create a new web view hosted inside a modal dialog, and how to open the modal from a new menu item.

You can download the example in this how-to in [this GitHub repository](https://github.com/mendix/ExtensionAPI-Samples)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 99

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-11/) instead.
{{% /alert %}}

This how-to describes how to export an extension so you can publish it in the Marketplace or share it directly with other Mendix developers.

## Prerequisites
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 11

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-11/) instead.
{{% /alert %}}

Once you have created basic extensions, you may want to interact with the Studio Pro model to make changes to your app. The Model API enables this functionality and is exposed via the `Mendix.StudioPro.ExtensionsAPI.Model` namespace.

## Gaining Access to the Mendix Model SDK
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 24

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-11/) instead.
{{% /alert %}}

The Untyped Model Access API is designed for advanced users familiar with the internals of the Mendix platform. It allows access to the rich data of model elements.

* For model elements, units, and property names, see the [Mendix Model SDK](https://apidocs.rnd.mendix.com/modelsdk/latest/index.html).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 9

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-11/) instead.
{{% /alert %}}

Extension points allow you to hook functionality into various areas of the Studio Pro IDE. `ExtensionPoint` is a base class that extension developers can inherit from. Once inherited, your functionality will be loaded by Studio Pro. These classes all have the `*Extension` suffix, inherit from the [`ExtensionBase`](https://github.com/mendix/ExtensionAPI-Samples/blob/main/API%20Reference/Mendix.StudioPro.ExtensionsAPI/ExtensionBase.md) base class, and include a few virtual or abstract members.

`ExtensionPoint` is the only way to add custom behavior to Studio Pro. All other APIs provided solely to support the implementation or expression of these behaviors.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 10

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-11/) instead.
{{% /alert %}}

A Studio Pro service is an interface that exposes some core Studio Pro functionality to extensions. These interfaces are named `I*Service` and can be found in `Mendix.StudioPro.ExtensionsAPI.Services` or `Mendix.StudioPro.ExtensionsAPI.UI.Services` namespaces. It can be injected using the Microsoft Extensions Framework, also referred to as MEF. For more information about MEF and how to use it, refer to the official [Microsoft documentation](https://learn.microsoft.com/en-us/dotnet/framework/mef/)

{{% alert color="info" %}}You should not implement these interfaces in your production code, although it is possible to make sense to do so for unit testing purposes.{{% /alert %}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ weight: 12

## Introduction

{{% alert color="warning" %}}
C# Extensibility is no longer being actively developed and will receive only critical fixes going forward. For new, modern extensions, use the TypeScript [Web Extensibility APIs](/apidocs-mxsdk/apidocs/web-extensibility-api-11/) instead.
{{% /alert %}}

Wherever the Studio Pro Extensibility API allows you to add custom UI, you can implement it using web technologies.

Studio Pro includes a built-in web view for displaying your web-based UI. It also provides a built-in web server that can be used to serve both the web UI and the data it requires.
Expand Down
Loading