You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: "Describes how to provision and deprovision Maia Resources using self-service."
5
+
weight: 25
6
+
---
7
+
8
+
## Introduction
9
+
10
+
Maia Resources is your access point to increase the capacity of Maia Units for using Maia Make in Studio Pro. It allows admins to provision, upgrade, downgrade, and deprovision Maia Units and manage the resources for Maia Make for their company. For more information on Maia Make’s capabilities, refer to [Mendix AI Assistance (Maia)](/refguide/mendix-ai-assistance/).
11
+
12
+
## Prerequisites
13
+
14
+
1. Sufficient token entitlements – The user should have an adequate number of available Mendix Cloud Tokens to allocate for Maia Unit provisioning.
15
+
2. Valid subscription plan – The user's Mendix subscription must be based on the FY21 price list or newer. Older subscription plans are not eligible for provisioning.
16
+
3. Single account ownership – The user must have a single account. Owning multiple accounts is not supported for Maia Unit provisioning.
17
+
4. Enterprise platform subscription – The user must have a single active enterprise platform subscription.
18
+
19
+
## Overview of Maia Units
20
+
21
+
The overview page provides a centralized view of all Maia Units currently provisioned for your company.
22
+
23
+
* Type – The type or resources; either Free or Provisioned
24
+
* Cloud Tokens – The number of Cloud Tokens used
25
+
* Capacity (Maia Units) – The number of Maia Units per month your organization can use
26
+
* State – Whether the resources is active, or ready to be downgraded or deprovisioned
## Increasing Your Maia Units Capacity {#increase-maia-units}
31
+
32
+
1.**Make sure you have Cloud Tokens available**
33
+
Cloud Tokens are purchased through your Mendix subscription. If your organization already has Cloud Tokens allocated to other services, you can reassign them. Check your available balance in the Control Center. If you need to purchase more, contact your Mendix account manager.
34
+
2.**Convert Cloud Tokens to Maia Units**
35
+
In the Control Center, go to Maia Resources and select Provision Resource. Choose how many Cloud Tokens to allocate. Each Cloud Token gives you 100 Maia Units per month.
36
+
3.**Use Maia in Studio Pro**
37
+
Your new capacity is active immediately. Studio Pro unblocks and Maia Make becomes available again.
38
+
39
+
### Key Considerations
40
+
41
+
* Monthly cycle – Your Maia Units reset each month. Unused units do not roll over.
42
+
* Upgrades – Upgrades take effect immediately. Downgrades and cancellations take effect at the end of the current month; you keep access until then.
43
+
* Free allowance – Every Mendix account includes a base allocation each month before any Cloud Tokens are needed.
44
+
45
+
## Provisioning Maia Units {#provisioning-maia-units}
46
+
47
+
You can provision any Maia resources directly within the Control Center using the self-service capability. To do this, select **Provision Resource**.
48
+
49
+
This allows you to select how many Cloud Token to use to provision Maia Units. Every Cloud Token provisions 100 Maia Units per month.
Click **Provision** to select an amount of cloud tokens. An pop-up shows the Maia Units capacity that will be added. Clicking **Provision** again completes the process. You are taken back to the **Maia Resource** page where the newly provisioned Maia Units appear in the list.
To upgrade your provisioned Maia Units, select a plan of type **Provisioned** from your resources overview and click **Edit Resource**. This opens the page of your current resource, showing the amount of allotted Cloud Tokens. Increase the amount of Cloud Tokens to upgrade your provisioned Maia Units, then click **Save Changes**. Upgrades will take effect immediately.
## Downgrading Maia Units {#downgrading-maia-units}
64
+
65
+
To downgrade your amount of provisioned Maia Units, select a plan of type **Provisioned** from your resources overview and press **Edit Resource**. This opens the page for your current resource, showing the amount of allotted Cloud Tokens. Decrease the amount of Cloud Tokens to downgrade your provisioned Maia Units, then click **Save Changes** to confirm.
66
+
67
+
{{% alert color="info" %}}
68
+
Your subscription plan operates on a monthly bundle cycle. When you downgrade, the new plan takes effect at the start of the new month. Until that date, you can still use the resource, and the status in the overview reads **Plan Downgrade Scheduled**.
69
+
{{% /alert %}}
70
+
71
+
## Deprovisioning Maia Units {#deprovisioning-maia-units}
72
+
73
+
To deprovision, select a plan of type **Provisioned** from your resources overview and click **Deprovision**. A confirmation pop-up window appears. Click **Deprovision** to confirm.
74
+
75
+
{{% alert color="info" %}}
76
+
Your subscription plan operates on a monthly bundle cycle. When you deprovision a resource, the deprovisioning takes effect at the end of the current subscription month. Until that date, you can still use the resource and status in the overview reads **Plan Deprovision Scheduled**.
Copy file name to clipboardExpand all lines: content/en/docs/howto/extensibility/pluggable-widgets/create-a-pluggable-widget-one.md
+15-16Lines changed: 15 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -95,10 +95,6 @@ As part of the widget scaffolding, the generator builds the widget for the first
95
95
96
96
There is also a watcher available that will rebuild your widget as you make changes to files. Start the watcher by running `npm start`.
97
97
98
-
{{% alert color="info" %}}
99
-
NPM version 7 changed the resolution behavior of peerDependencies. Try adding `--legacy-peer-deps` to your install command if it results in peer dependency resolution errors.
100
-
{{% /alert %}}
101
-
102
98
### Using the Widget
103
99
104
100
When the build script completes it will package your widget as a `.mpk` file and copy it to the `widgets/` directory in your Mendix app. Now that the generator has finished its job it is time to use the widget in Studio Pro. To use the widget, do the following:
@@ -118,9 +114,9 @@ Open the *(YourMendixApp)/myPluggableWidgets/textBox* folder in your IDE of choi
118
114
1. Remove the file *src/components/HelloWorldSample.tsx*. Errors in *TextBox.editorPreview.tsx* will be dealt with in step 6 below.
119
115
2. The generator creates the widget definition file `src/TextBox.xml` with preset properties. Replace the `sampleText` property following this snippet:
@@ -141,7 +137,7 @@ Open the *(YourMendixApp)/myPluggableWidgets/textBox* folder in your IDE of choi
141
137
Explaining the code:
142
138
143
139
* *TextBox.xml* is the [widget definition file](/apidocs-mxsdk/apidocs/pluggable-widgets/#widget-definition) used in Studio Pro which reads the widget's capabilities
144
-
* The property `pluginWidget=true` will make the widget work with the new widget API
140
+
* The property `pluginWidget=true` will make the widget work with the [Pluggable Widgets API](/apidocs-mxsdk/apidocs/pluggable-widgets/)
145
141
* The property `needsEntityContext=true` is set up to allow the attribute to be taken from context
146
142
* The property of the [type attribute](/apidocs-mxsdk/apidocs/pluggable-widgets-property-types/#attribute) only allows the selection of string attributes from the domain model
147
143
@@ -156,7 +152,7 @@ Open the *(YourMendixApp)/myPluggableWidgets/textBox* folder in your IDE of choi
156
152
Paste the following [React function component](https://react.dev/learn/your-first-component) into the newly create `TextInput.tsx` file.
157
153
158
154
```tsx
159
-
import { createElement, ReactElement } from "react";
155
+
import { ReactElement } from "react";
160
156
161
157
export interface TextInputProps {
162
158
value: string;
@@ -172,14 +168,14 @@ Open the *(YourMendixApp)/myPluggableWidgets/textBox* folder in your IDE of choi
172
168
5. The container component *src/TextBox.tsx* receives the properties in the runtime, and forwards the data to the display component. The container works like glue between the Mendix application and the display component. In *TextBox.tsx* update the component to look like this:
173
169
174
170
```tsx
175
-
import { createElement, ReactElement } from "react";
171
+
import { ReactElement } from "react";
176
172
import { TextBoxContainerProps } from "../typings/TextBoxProps";
177
173
import { TextInput } from "./components/TextInput";
178
174
179
175
import "./ui/TextBox.css";
180
176
181
177
export function TextBox(props: TextBoxContainerProps): ReactElement {
182
-
const value = props.textAttribute.value || "";
178
+
const value = props.textAttribute.value ?? "";
183
179
return <TextInputvalue={value} />;
184
180
}
185
181
```
@@ -193,7 +189,7 @@ Open the *(YourMendixApp)/myPluggableWidgets/textBox* folder in your IDE of choi
193
189
6. Pluggable Widgets also have a Preview component, which is used in the design mode of the Studio Pro page editor. Update *src/TextBox.editorPreview.tsx* such that the deleted `HelloWorldSample` component is replaced by our `TextInput` component. This will resolve the errors thrown by `npm start`.
194
190
195
191
```tsx
196
-
import { ReactElement, createElement } from "react";
192
+
import { ReactElement } from "react";
197
193
import { TextBoxPreviewProps } from "../typings/TextBoxProps";
198
194
import { TextInput } from "./components/TextInput";
199
195
@@ -224,7 +220,7 @@ The input works, but the styling could be improved. In the next code snippets, y
224
220
225
221
```tsx
226
222
export function TextBox(props: TextBoxContainerProps): ReactElement {
227
-
const value = props.textAttribute.value || "";
223
+
const value = props.textAttribute.value ?? "";
228
224
return <TextInput
229
225
value={value}
230
226
style={props.style}
@@ -239,7 +235,7 @@ The input works, but the styling could be improved. In the next code snippets, y
239
235
2. Until we update the type of our TextInputProps, Typescript will display errors in *TextBox.tsx*. In *src/components/TextInput.tsx*, add the missing properties to the interface and pass them to the `input` component:
240
236
241
237
```tsx
242
-
import { createElement, CSSProperties, ReactElement } from "react";
238
+
import { CSSProperties, ReactElement } from "react";
243
239
244
240
export interface TextInputProps {
245
241
value: string;
@@ -282,8 +278,11 @@ Comparing our widget to the Mendix text input widget we are still missing a labe
282
278
283
279
1. Open *src/TextBox.tsx* and remove the `style` and `className` props from `TextInput`. Now that the widget is a labeled input, it should no longer have the layout styling applied to it. In fact, the `pluggable-widget-tools` removed them from the type definition in *typings/TextBoxProps.d.ts*.
@@ -194,7 +194,7 @@ This section teaches you how to add validation to your TextBox widget. Using mic
194
194
5. Add `Fragment` to the current React import (shown below), and add a new `Alert` import underneath the existing imports in *TextBox.tsx*:
195
195
196
196
```tsx
197
-
import { createElement, ReactElement, Fragment } from "react";
197
+
import { ReactElement, Fragment } from "react";
198
198
import { Alert } from "./components/Alert";
199
199
```
200
200
@@ -314,7 +314,7 @@ Until now the components did not keep any state. Each keystroke passed through t
314
314
2. In *TextBox.tsx*, check if `onChangeAction` is available and call the execute function `onLeave` when the value is changed. When doing this, replace the `onUpdate` function with your new `onLeave` function:
315
315
316
316
```tsx
317
-
import { createElement, Fragment, ReactElement, useEffect } from "react";
317
+
import { Fragment, ReactElement, useEffect } from "react";
318
318
import { TextBoxContainerProps } from "../typings/TextBoxProps";
319
319
import { TextInput } from "./components/TextInput";
320
320
@@ -357,7 +357,7 @@ Until now the components did not keep any state. Each keystroke passed through t
357
357
3. In *components/TextInput.tsx*, introduce a state for input changes and use the `onBlur` function to call the `onLeave` function by replacing the `onUpdate` function:
358
358
359
359
```tsx
360
-
import { createElement, CSSProperties, ReactElement, useEffect, useState } from "react";
360
+
import { CSSProperties, ReactElement, useEffect, useState } from "react";
361
361
362
362
export interface TextInputProps {
363
363
value: string;
@@ -546,7 +546,7 @@ To easily view changes to your widget while in Studio Pro's **Design mode**, you
546
546
To add preview mode functionality, create a new file *src/TextBox.editorPreview.tsx* and add this code to it:
547
547
548
548
```tsx
549
-
import { createElement, ReactElement } from "react";
549
+
import { ReactElement } from "react";
550
550
import { TextBoxPreviewProps } from "../typings/TextBoxProps";
551
551
import { TextInput } from "./components/TextInput";
title: "NIST 800-53 Maintenance Compliance for Private Mendix Platform"
3
+
linktitle: "Maintenance"
4
+
url: /private-mendix-platform/nist-controls-ma/
5
+
description: "Documents the Private Mendix Platform's compliance with the Maintenance (MA) category of the NIST 800-53 security framework."
6
+
weight: 10
7
+
no_list: false
8
+
simple_list: true
9
+
---
10
+
11
+
## Introduction
12
+
13
+
Documents in this section provide more information about Private Mendix Platform's compliance with the Maintenance (MA) category of the [NIST 800-53](https://csrc.nist.gov/pubs/sp/800/53/r5/upd1/final) security framework. For each applicable control, we have listed which party (Mendix or the customer) is responsible for which component or aspect.
14
+
15
+
In general, Mendix is responsible for the Private Mendix Platform, Mendix Operator, Mendix Studio Pro, Mendix Runtime, and so on. Customer responsibilities are related to infra and organization processes. For more information, refer to detailed documentation below.
* Develops, documents, and disseminates to organization-defined personnel or roles:
24
+
25
+
* A system maintenance policy that addresses purpose, scope, roles, responsibilities, management commitment, coordination among organizational entities, and compliance
26
+
* Procedures to facilitate the implementation of the system maintenance policy and associated system maintenance controls
27
+
28
+
* At an organization-defined frequency, reviews and updates the current:
29
+
30
+
* System maintenance policy at an organization-defined frequency
31
+
* System maintenance procedures.
32
+
33
+
### Supplemental Guidance
34
+
35
+
This control addresses the establishment of policy and procedures for the effective implementation of selected security controls and control enhancements in the MA family. Policy and procedures reflect applicable federal laws, Executive Orders, directives, regulations, policies, standards, and guidance. Security program policies and procedures at the organization level may make the need for system-specific policies and procedures unnecessary.
36
+
37
+
The policy can be included as part of the general information security policy for organizations or conversely, can be represented by multiple policies reflecting the complex nature of certain organizations. The procedures can be established for the security program in general and for particular information systems, if needed. The organizational risk management strategy is a key factor in establishing policy and procedures.
38
+
39
+
The following controls are related to this control:
40
+
41
+
* PM-9.
42
+
43
+
For more information, refer to the NIST Special Publications 800-12, 800-100.
44
+
45
+
## Responsibility
46
+
47
+
### Customer Responsibility
48
+
49
+
System maintenance plans and schedules for the Private Mendix Platform, Mendix applications, and their underlying infrastructure are the responsibility of the customer and associated Infra and App Implementers and Operators.
50
+
51
+
## Guidance
52
+
53
+
### Customer Responsibility
54
+
55
+
This is not a Mendix responsibility. It is the responsibility of the customer to implement a system maintenance policy and procedures.
56
+
57
+
It is the responsibility of the Infra Implementer to ensure that the infrastructure and Private Mendix Platform is implemented in such a way that they comply with and support the customer's system maintenance policy and procedures. It is the responsibility of the App Implementer to ensure that the Mendix App is implemented in such a way that it complies with and supports the customer's system maintenance policy and procedures.
58
+
59
+
It is the responsibility of the Infra Operator and App Operator to perform maintenance and updates in such a way that they ensure ongoing compliance with the customer's system maintenance policy and procedures.
0 commit comments