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
5 changes: 3 additions & 2 deletions content/en/docs/deployment/pad/docker-pad.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ To build a Docker image from the Portable Package, perform the following steps:
# Set the start script to the Mendix Runtime execute command
CMD ["./bin/start", "etc/Default"]
```

{{% alert color="info" %}}
The Docker image example shows how to use OpenJDK binaries built by Eclipse Temurin. However, you may select any Java image that suits your needs, including [Hardened Images](https://docs.redhat.com/en/documentation/red_hat_hardened_images/1-latest), which provide a minimal, secure foundation for containerized workloads.
{{% /alert %}}
Expand All @@ -101,8 +102,8 @@ The Docker image example shows how to use OpenJDK binaries built by Eclipse Temu

3. Build the Docker image by using the following command: `docker build -t <your-image-name>:<tag> -f build/docker/Dockerfile`, where:

* `<your-image-name>` and `<tag>` - Indicate your required image name and version tag (for example, `my-mendix-app:1.0.0`).
* `-f build/docker/Dockerfile` - Specifies the path to your Dockerfile.
* `<your-image-name>` and `<tag>` - Indicate your required image name and version tag (for example, `my-mendix-app:1.0.0`).
* `-f build/docker/Dockerfile` - Specifies the path to your Dockerfile.

### Optional: Pushing the Docker Image

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ To add the Mendix on Kubernetes MCP server in VS Code, perform the following ste
}
```

2. Replace the placeholder values with your credentials as described in the [Claude Code](#claude-code) section above.
1. Replace the placeholder values with your credentials as described in the [Claude Code](#claude-code) section above.

## Available Capabilities {#capabilities}

Expand Down Expand Up @@ -120,7 +120,6 @@ Once connected, your AI assistant has access to the following capabilities.
| Get app manifest | `mx:deployment:write` and `mx:app:metadata:read` |
| Get job | `mx:deployment:read` and `mx:deployment:write` |


### Deployments and Packages

| Action | Example Prompt |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ The following steps walk you through creating and building a Teamcenter service
* **Read** — Should this property be retrieved from Teamcenter?
* **Write** — Should this property be sent to Teamcenter when creating or updating? Write checkboxes are only available in integrations where you can write data to Teamcenter.

3. From the **Property Mapping** window, select the properties you need for your integration.
1. From the **Property Mapping** window, select the properties you need for your integration.

{{< figure src="/attachments/appstore/industry-components/teamcenter/teamcenter2606/property-mapping.png" alt="Property Mapping window" max-width=80% >}}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,6 @@ If you are using Studio Pro 11.12 or earlier, follow the steps below:
* `getFunctionMetaDataQuery`
4. Use the provided example, `MxDb2SchemaInfoProvider` for IBM Db2, for a better understanding of how to customize the schema information.


### Running Queries and Handling Query Responses

Execute queries as you would with supported databases, and retrieve responses in the associated entity. Refer to the documentation of your specific JDBC library for detailed syntax and execution options.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,5 +78,3 @@ The [Mendix Data Loader](https://app.snowflake.com/marketplace/listing/GZTDZHHIE
For information about using Snowflake's role-based access control in a Mendix application, see [Role-based Access Control](/appstore/modules/snowflake/snowflake-rbac/).

## Documents in This Category


Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ If you want to use specific resources, you should instead expose a new endpoint
9. Click **Back** to return to the **Details** page.
10. Click the **Ingestion Configuration** tab to set up your ingestion destination table.
11. Click **Create** to start setting up the Ingestion Configuration.
* **Target Database** – Name of the database for data ingestion
***Target Database** – Name of the database for data ingestion
* **Target Schema** – Target schema where all data will be ingested
12. Click **Save**.
13. Click the **Data Ingestion** tab, where you can start your data ingestion or set up a schedule.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ Each deep link entry requires the following:
* **scheme** (required) – For example `myapp`, `pwa`, or `https`/`http` for universal/app links
* **host** (required) – Domain or authority to match, for example `example.com`
* **path** fields (optional, pick one at most):
* **path** – Exact path to match (for example `/profile`)
* **pathStartWith** – Path prefix to match (for example `/jump` catches `/jump/profile`)
* **path** – Exact path to match (for example `/profile`)
* **pathStartWith** – Path prefix to match (for example `/jump` catches `/jump/profile`)
* **linkFeature** – Free-text label (metadata only, affects HarmonyOS builds)
* **platform** – `Android`, `iOS`, `HarmonyOS`, `all`, or unset (unset or `all` applies to every platform)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ This configures the native layer to receive push notifications from Firebase Clo
{{% alert color="warning" %}}
Push notifications only work on physical devices. Emulators and simulators do not have the necessary Firebase Cloud Messaging infrastructure to receive push notifications. Always test push notifications on real Android and iOS devices.
{{% /alert %}}

## Installing Push Notifications Connector

Add the Push Notifications Connector module to your app:
Expand Down Expand Up @@ -95,6 +96,7 @@ Add three **Call JavaScript Action** activities to retrieve device details:
1. Add a **Create Object** activity to create a new `PushNotifications.DeviceRegistration` object.
2. Assign the following attributes:
* **DeviceType**: Use a decision based on the operating system:

```
if $OperatingSystem = getKey(PushNotifications.DeviceSystemType.Android) then
PushNotifications.DeviceType.Android
Expand All @@ -105,6 +107,7 @@ Add three **Call JavaScript Action** activities to retrieve device details:
else
empty
```

* **RegistrationID**: `$PushToken`
* **DeviceId**: `$DeviceInfo/UniqueId`

Expand Down Expand Up @@ -140,7 +143,7 @@ Download and install the [Events](https://marketplace.mendix.com/link/component/
Create a new JavaScript action named `ListenToAppLifecycle` in your app with the following configuration:

* Add one parameter of type **Nanoflow**:
* `onResume`
* `onResume`

Use the following as the action's implementation:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ The activities described in this section are the **Email Activities** section of

The following are the Email activities you can use in your microflow:

- [Send Email](/refguide/send-email-action/)
* [Send Email](/refguide/send-email-action/)
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ The **Security method** section determines how the connection authenticates to t

{{% alert color="warning" %}}
Basic authentication (username and password) is deprecated or disabled by default on several major email providers, including Google Workspace and Microsoft 365, unless the tenant administrator has explicitly re-enabled it. To send emails through these providers, you can:

* Re-enable SMTP basic authentication for the account (where your administrator's policy allows it), or
* Use a provider that supports basic SMTP authentication.
{{% /alert %}}
Expand Down Expand Up @@ -167,10 +168,11 @@ Body: "Hi {1}, your order ships on {2}."

{{% alert color="info" %}}
Consider the following about templates:

* The subject, the plain-text body, and the HTML body each have their own template. For a given field, use either the plain value or its template consistently.
* Keep placeholder numbering contiguous (`{1}`, `{2}`, …), and make sure every placeholder has a corresponding parameter expression.
* Keep placeholder numbering contiguous (`{1}`, `{2}`, …), and make sure every placeholder has a corresponding parameter expression.
* Only reference variables that exist in the microflow's scope at the activity's position. If the data is not yet available, retrieve it earlier in the flow.
* The HTML and plain-text bodies are independent. Populate only the one (or ones) you need.
* The HTML and plain-text bodies are independent. Populate only the one (or ones) you need.
{{% /alert %}}

#### Subject
Expand Down Expand Up @@ -252,16 +254,16 @@ Review the following before you deploy to a production app.

### Authentication and Credentials

- This version of the activity supports [basic authentication](#security-method) (username and password) only. Confirm your email provider permits SMTP basic authentication (**Google Workspace** and **Microsoft 365** disable it by default) or use a provider that does.
- Do not hard-code credentials in the microflow model. Supply them through per-environment constants so secrets (the password in particular) are not stored in the app model or version control.
* This version of the activity supports [basic authentication](#security-method) (username and password) only. Confirm your email provider permits SMTP basic authentication (**Google Workspace** and **Microsoft 365** disable it by default) or use a provider that does.
* Do not hard-code credentials in the microflow model. Supply them through per-environment constants so secrets (the password in particular) are not stored in the app model or version control.

### Email Deliverability (SPF, DKIM, and DMARC)

The sending domain must be configured correctly at the DNS level for your emails to be accepted and not marked as spam.

- **SPF** – authorizes which servers may send emails for your domain
- **DKIM** – cryptographically signs your messages so recipients can verify they were not altered
- **DMARC** – tells receiving servers how to handle messages that fail SPF or DKIM checks
* **SPF** – authorizes which servers may send emails for your domain
* **DKIM** – cryptographically signs your messages so recipients can verify they were not altered
* **DMARC** – tells receiving servers how to handle messages that fail SPF or DKIM checks

If these records are missing or misconfigured, receiving servers may reject your messages or route them to spam, even when the activity reports that the email was sent successfully. Set these up with your email provider and domain administrator before going live.

Expand All @@ -271,7 +273,7 @@ When deploying to Mendix Cloud, refer to [Sending Email](/developerportal/deploy

## Read More

- [Sending Email](/developerportal/deploy/sending-email/) – external email providers and SMTP configuration for Mendix Cloud
- [Error Handling in Microflows](/refguide/error-handling-in-microflows/)
- [Constants](/refguide/constants/)
- [Microflow Expressions](/refguide/expressions/)
* [Sending Email](/developerportal/deploy/sending-email/) – external email providers and SMTP configuration for Mendix Cloud
* [Error Handling in Microflows](/refguide/error-handling-in-microflows/)
* [Constants](/refguide/constants/)
* [Microflow Expressions](/refguide/expressions/)
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,6 @@ Mendix supports a broad range of BPMN event types. Some are available directly a
| Intermediate Boundary (Interrupting) | {{< icon name="controls-stop-filled" color="green" >}} Platform Native | Use an [Interrupting Notification Event](/refguide/notification/) to catch the event, and use a microflow to handle the error logic and send a notification using a [Notify Workflow](/refguide/notify-workflow/) activity when an error occurs. |
| End | {{< icon name="controls-stop-filled" color="green" >}} Platform Native | Use a [Call Microflow](/refguide/call-microflow/) activity as the throw event. Within the microflow, include a [Notify Workflow](/refguide/notify-workflow/) activity to throw the error before the process completes. |


### Signal Events {#signal-events}

| Variant | Support Level | How |
Expand All @@ -138,7 +137,6 @@ Mendix supports a broad range of BPMN event types. Some are available directly a
| Intermediate Boundary (Interrupting) | {{< icon name="controls-stop-filled" color="green" >}} Platform Native | Use an [Interrupting Notification Event](/refguide/notification/) to catch the event, and use a microflow to evaluate or create the condition and send a notification using a [Notify Workflow](/refguide/notify-workflow/) activity when the condition is met. |
| Intermediate Boundary (Non-Interrupting) | {{< icon name="controls-stop-filled" color="green" >}} Platform Native | Use a [Non-Interrupting Notification Event](/refguide/notification/) to catch the event, and use a microflow to evaluate or create the condition and send a notification using a [Notify Workflow](/refguide/notify-workflow/) activity when the condition is met. |


### Escalation Events {#escalation-events}

| Variant | Support Level | How |
Expand All @@ -150,7 +148,6 @@ Mendix supports a broad range of BPMN event types. Some are available directly a
| Intermediate Throw | {{< icon name="controls-stop-filled" color="green" >}} Platform Native | Use a [Call Microflow](/refguide/call-microflow/) activity as the throw event. Within the microflow, include a [Notify Workflow](/refguide/notify-workflow/) activity to throw the escalation and continue the flow. |
| End | {{< icon name="controls-stop-filled" color="green" >}} Platform Native | Use a [Call Microflow](/refguide/call-microflow/) activity as the throw event. Within the microflow, include a [Notify Workflow](/refguide/notify-workflow/) activity to throw the escalation before the process completes. |


### Compensation Events {#compensation-events}

| Variant | Support Level | How |
Expand All @@ -160,7 +157,6 @@ Mendix supports a broad range of BPMN event types. Some are available directly a
| Intermediate Throw | {{< icon name="controls-stop-filled" color="green" >}} Platform Native | Use a [Call Microflow](/refguide/call-microflow/) activity as the throw event. Within the microflow, include a [Notify Workflow](/refguide/notify-workflow/) activity to throw the compensation and redirect the flow to the compensating activity. |
| End | {{< icon name="controls-stop-filled" color="green" >}} Platform Native | Use a [Call Microflow](/refguide/call-microflow/) activity as the throw event. Within the microflow, include a [Notify Workflow](/refguide/notify-workflow/) activity to throw the compensation before the process completes. |


### Cancel Events {#cancel-events}

| Variant | Support Level | How |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ To add an **Event sub-process** to a workflow, follow these steps:
{{< figure src="/attachments/refguide/modeling/application-logic/workflows/event-sub-processes/select-event-dialog.png" alt="Select Event Dialog" width="500" >}}

4. The sub-process flow is contained within a dashed rectangle. The border around the sub-process start event indicates its interrupting behavior: a dashed border indicates a non-interrupting sub-process, and a solid border indicates an interrupting sub-process.

* The flow can contain the same types of activities as the main process flow (for example, **User Task**, **Call Microflow**, **Decision**).
* It must start with a **Start** event (triggered by a notification or a timer) and end with at least one **End** event.

Expand Down
1 change: 0 additions & 1 deletion content/en/docs/refguide/modeling/integration/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ The following services require you to download an external module from the Mendi
* [External Database Connector](https://marketplace.mendix.com/link/component/219862)
* [Business Event services](https://marketplace.mendix.com/link/component/202649)


## Integrating RapidMiner Graph Studio

In addition to the integration capabilities available in the Studio Pro, Mendix also supports integration with external systems through RapidMiner Graph Studio. The RapidMiner Graph Studio provides a scalable environment for connecting, managing, and analyzing graph-based data. For more information, see [Integrating Mendix with RapidMiner Graph Studio](/refguide/graph-studio/).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ Use the toolbar to manage tracked entities:
* {{% icon name="subtract-circle" %}} **Remove** – stop tracking a selected entity
* {{% icon name="refresh" %}} **Accept changes** – lock in the current [Revision](#revisions) numbers after reviewing modifications


{{< figure src="/attachments/refguide/modeling/integration/change-data-capture/published-cdc-service.png" alt="Published CDC Service document showing the Entities to track table with columns for Exposed name, Modification, Revision, and Topic" >}}

### Entities
Expand All @@ -60,7 +59,6 @@ The **Revision** column is the schema revision of the entity's event payload. Se

The **Topic** column is the Kafka topic name for this entity, in the format `cdc.<app-name>.<ExposedName>.<revision>.{space}`, where `{space}` is replaced at runtime by the Event Broker space name. See the [Bring Your Own Kafka (BYOK)](/refguide/change-data-capture/#byok-configuration) section of *Change Data Capture* for more information.


## Attribute and Association Selection {#attributes}

Expand an entity row to see each attribute and association with a checkbox. Uncheck an item to exclude it from the event payload. The **Exposed name** column allows you to rename individual attributes in the payload independently of their domain model names.
Expand Down
Loading