Skip to content

Commit 33bc15e

Browse files
committed
Merge branch 'development' into ctl-prop-pane-updates
2 parents 6b079ce + 4ae0176 commit 33bc15e

373 files changed

Lines changed: 1152 additions & 1488 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

content/en/docs/appstore/connectors/aws/aws-textract.md

Lines changed: 27 additions & 11 deletions
Large diffs are not rendered by default.

content/en/docs/appstore/modules/document-generation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ If you have installed Chrome in a custom location, configure the path to the Chr
8787

8888
##### 3.1.2 Chromium
8989

90-
If you use Chromium, only use stable releases. The currently supported stable release is [104.0.5109.0](https://storage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Win_x64/1011831).
90+
If you use Chromium, only use stable releases. The currently supported stable release is [104.0.5109.0](https://storage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Win_x64/1011831/).
9191

9292
Download the *chrome-win.zip* package and extract the archive to a location of your choosing.
9393

content/en/docs/developerportal/deploy/mendix-cloud-deploy/mxcloudv4/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ You can also consider running your Mendix app using your own AWS account, and ha
6161
There are certain limits and behaviors which apply to your app when running in the Mendix Cloud. Here are a few considerations to bear in mind:
6262

6363
* The Amazon RDS maintenance window is not aligned with the Mendix Developer Portal maintenance window for an application
64-
* It is not possible to deploy a model (*.mda*) larger than 4 GB when uncompressed or a model that contains approximately 64,000 or more files
64+
* It is not possible to deploy a model (*.mda*) larger than 1 GB when uncompressed or a model that contains approximately 64,000 or more files
6565
* You can't upload files bigger than 1 GB to your app
6666
* You can't download files bigger than 1 GB from your app
6767
* To use the debugger, you need to scale down to one instance

content/en/docs/howto7/general/dev-best-practices.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,32 @@ Use microflow [error handling](/howto7/logic-business-rules/set-up-error-handlin
310310

311311
Complex processes and important business logic (like workflow processing or validations) must include debug and trace [logging](/refguide7/logging/). Logging actions must write the current state and progress of the process and must include a request ID or other identifying information. The log node should be the name of the module. This will greatly assist error analysis.
312312

313+
#### 4.2.6 Validating Inputs in Microflows
314+
315+
When microflows are invoked from the client side, it is important to validate the inputs. By having validations, you prevent incorrect, inappropriate, or potentially harmful data from being used in your microflows. This protects your application against security vulnerabilities. The following presents the best practices regarding the integrity and validation of inputs in your microflows.
316+
317+
##### 4.2.6.1 Implementing Validation Checks
318+
319+
Adding validation checks is vital for ensuring that input data conforms to the expected data type, format, range, or other application-specific constraints. For instance, if a numeric input is expected within a defined range, validation checks should confirm that the input is indeed numeric and falls within the specified range.
320+
321+
##### 4.2.6.2 Managing Unexpected Values
322+
323+
When building microflows, it is important to account for the potential occurrence of unexpected values. These could be empty values, or values outside the expected range or format. It is also important to ensure that read-only attributes only contain expected values.
324+
325+
{{% alert color="warning" %}}
326+
We strongly recommend adding validation checks to all microflows inputs, including read-only attributes.
327+
328+
We also recommend avoiding storing intermediary values in attributes (such as, *TotalPrice*). Instead, calculate these values when needed to ensure you have the correct values.
329+
{{% /alert %}}
330+
331+
Microflows should incorporate mechanisms to detect unexpected values and respond suitably – this might involve returning an error message to the end-user or executing a fallback operation.
332+
333+
##### 4.2.6.3 Updating Validation Logic Regularly
334+
335+
As the application evolves, the validation logic within microflows should be updated accordingly to reflect changes in business logic or data models. This regular review and update of validation checks ensures that microflows remain secure and function correctly over time.
336+
337+
By prioritizing the validation of inputs in microflows, you not only enhance the security of your application, but also ensure a more predictable and stable user experience. This practice underscores the development of reliable and robust applications.
338+
313339
### 4.3 Warnings and Modeler Feedback
314340

315341
No warnings should be visible in the Modeler, unless explicitly documented with a reason. Warnings can indicate many issues, including maintainability and security risks, which must be resolved.

content/en/docs/howto7/testing/testing-web-services-using-soapui.md renamed to content/en/docs/howto7/integration/testing-web-services-using-soapui.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
---
22
title: "Test Web Services Using SoapUI"
3-
url: /howto7/testing/testing-web-services-using-soapui/
3+
url: /howto7/integration/testing-web-services-using-soapui/
44
category: "Testing"
55
weight: 30
66
tags: ["test", "testing", "web service", "soapui"]
7+
aliases:
8+
- /howto7/testing/testing-web-services-using-soapui/
79
---
810

911
## 1 Introduction

content/en/docs/howto8/front-end/customize-styling/calypso.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ For a deep-dive look into styling with Calypso, check out this video:
2424

2525
## 2 Prerequisites
2626

27-
* Download Calypso [here](https://www.dropbox.com/sh/r1vx2kig86v5wa6/AABQC8MJfNi8Ff9skinrIf7Ea?dl=0)
27+
* Download Calypso [here](https://github.com/mendix/Atlas-UI-Framework/releases/download/calypso-v1/Calypso.Setup.1.0.0.exe)
2828

2929
## 3 Setting Up Calypso
3030

content/en/docs/howto8/general/dev-best-practices.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,32 @@ Use microflow [error handling](/howto8/logic-business-rules/set-up-error-handlin
329329

330330
Complex processes and important business logic (like workflow processing or validations) must include debug and trace [logging](/refguide8/logging/). Logging actions must write the current state and progress of the process and must include a request ID or other identifying information. The log node should be the name of the module. This will greatly assist error analysis.
331331

332+
#### 4.2.6 Validating Inputs in Microflows
333+
334+
When microflows are invoked from the client side, it is important to validate the inputs. By having validations, you prevent incorrect, inappropriate, or potentially harmful data from being used in your microflows. This protects your application against security vulnerabilities. The following presents the best practices regarding the integrity and validation of inputs in your microflows.
335+
336+
##### 4.2.6.1 Implementing Validation Checks
337+
338+
Adding validation checks is vital for ensuring that input data conforms to the expected data type, format, range, or other application-specific constraints. For instance, if a numeric input is expected within a defined range, validation checks should confirm that the input is indeed numeric and falls within the specified range.
339+
340+
##### 4.2.6.2 Managing Unexpected Values
341+
342+
When building microflows, it is important to account for the potential occurrence of unexpected values. These could be empty values, or values outside the expected range or format. It is also important to ensure that read-only attributes only contain expected values.
343+
344+
{{% alert color="warning" %}}
345+
We strongly recommend adding validation checks to all microflows inputs, including read-only attributes.
346+
347+
We also recommend avoiding storing intermediary values in attributes (such as, *TotalPrice*). Instead, calculate these values when needed to ensure you have the correct values.
348+
{{% /alert %}}
349+
350+
Microflows should incorporate mechanisms to detect unexpected values and respond suitably – this might involve returning an error message to the end-user or executing a fallback operation.
351+
352+
##### 4.2.6.3 Updating Validation Logic Regularly
353+
354+
As the application evolves, the validation logic within microflows should be updated accordingly to reflect changes in business logic or data models. This regular review and update of validation checks ensures that microflows remain secure and function correctly over time.
355+
356+
By prioritizing the validation of inputs in microflows, you not only enhance the security of your application, but also ensure a more predictable and stable user experience. This practice underscores the development of reliable and robust applications.
357+
332358
### 4.3 Warnings and Studio Pro Feedback
333359

334360
No warnings should be visible in Studio Pro, unless explicitly documented with a reason. Warnings can indicate many issues, including maintainability and security risks, which must be resolved.

content/en/docs/howto8/testing/testing-web-services-using-soapui.md renamed to content/en/docs/howto8/integration/testing-web-services-using-soapui.md

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
---
22
title: "Test Web Services Using SoapUI"
3-
url: /howto8/testing/testing-web-services-using-soapui/
3+
url: /howto8/integration/testing-web-services-using-soapui/
44
category: "Testing"
55
weight: 30
66
tags: ["test", "testing", "web service", "soapui"]
7+
aliases:
8+
- /howto8/integration/testing-web-services-using-soapui/
79
---
810

911
## 1 Introduction
@@ -41,11 +43,11 @@ In the how-to [Exposing a web service](/howto8/integration/expose-a-web-service/
4143
2. Open the project you created in the how-to [Exposing a web service](/howto8/integration/expose-a-web-service/).
4244
3. Create a **Microflow** that creates a customer and returns a Boolean.
4345

44-
{{< figure src="/attachments/howto8/testing/testing-web-services-using-soapui/model1.jpg" >}}
46+
{{< figure src="/attachments/howto8/integration/testing-web-services-using-soapui/model1.jpg" >}}
4547

4648
4. Create a **Microflow** that deletes a customer and returns a Boolean.
4749

48-
{{< figure src="/attachments/howto8/testing/testing-web-services-using-soapui/model2.jpg" >}}
50+
{{< figure src="/attachments/howto8/integration/testing-web-services-using-soapui/model2.jpg" >}}
4951

5052
5. Publish both microflows as web service operation of the **CustomerWebservice** as described in chapter 4 of the how-to [Exposing a web service](/howto8/integration/expose-a-web-service/).
5153

@@ -55,39 +57,39 @@ In this chapter you will create a new SOAP project.
5557

5658
1. Open **SoapUI**.
5759
2. Press **CTRL+N** to create a new SOAP project.
58-
{{< figure src="/attachments/howto8/testing/testing-web-services-using-soapui/18580339.png" >}}
60+
{{< figure src="/attachments/howto8/integration/testing-web-services-using-soapui/18580339.png" >}}
5961
3. Run the project locally in Studio Pro.
6062
4. Go to `http://localhost:8080/ws-doc/`.
61-
{{< figure src="/attachments/howto8/testing/testing-web-services-using-soapui/18580314.png" >}}
63+
{{< figure src="/attachments/howto8/integration/testing-web-services-using-soapui/18580314.png" >}}
6264
5. Enter the URL of the WSDL schema in the **Initial WSDL** field in SoapUI.
6365
The Project Name field will automatically be filled with the name of the webservice following by *?wsdl*.
64-
{{< figure src="/attachments/howto8/testing/testing-web-services-using-soapui/18580334.png" >}}
66+
{{< figure src="/attachments/howto8/integration/testing-web-services-using-soapui/18580334.png" >}}
6567
6. Click**OK**. This will create a new SOAP project in SoapUI.
66-
{{< figure src="/attachments/howto8/testing/testing-web-services-using-soapui/18580313.png" >}}
68+
{{< figure src="/attachments/howto8/integration/testing-web-services-using-soapui/18580313.png" >}}
6769

6870
## 5 Building a TestSuite, TestCase, and TestStep
6971

7072
In this chapter you will build a testsuite. A testsuite contains one or more testcases. Every testcase contains one ore more teststeps.
7173

7274
1. In SoapUI, press **CTRL+T** to create a new TestSuite.
73-
{{< figure src="/attachments/howto8/testing/testing-web-services-using-soapui/18580332.png" >}}
75+
{{< figure src="/attachments/howto8/integration/testing-web-services-using-soapui/18580332.png" >}}
7476
2. Click **OK**.
7577
3. Select TestSuite 1 and press **CTRL+N** to create a new TestCase.
76-
{{< figure src="/attachments/howto8/testing/testing-web-services-using-soapui/18580331.png" >}}
78+
{{< figure src="/attachments/howto8/integration/testing-web-services-using-soapui/18580331.png" >}}
7779
4. Click **OK**.
7880
5. Expand TestSuite 1 and TestCase 1.
7981
6. Right-click **Test Steps(0)** and select **SOAP Request**.
80-
{{< figure src="/attachments/howto8/testing/testing-web-services-using-soapui/18580312.png" >}}
82+
{{< figure src="/attachments/howto8/integration/testing-web-services-using-soapui/18580312.png" >}}
8183
7. Enter *Retrieve Customers* in the name field.
82-
{{< figure src="/attachments/howto8/testing/testing-web-services-using-soapui/18580329.png" >}}
84+
{{< figure src="/attachments/howto8/integration/testing-web-services-using-soapui/18580329.png" >}}
8385
8. Click **OK**.
8486
9. Select **CustomerWebserviceSoap -> GetCustomers**.
85-
{{< figure src="/attachments/howto8/testing/testing-web-services-using-soapui/18580328.png" >}}
87+
{{< figure src="/attachments/howto8/integration/testing-web-services-using-soapui/18580328.png" >}}
8688
10. Click **OK**.
87-
{{< figure src="/attachments/howto8/testing/testing-web-services-using-soapui/18580327.png" >}}
89+
{{< figure src="/attachments/howto8/integration/testing-web-services-using-soapui/18580327.png" >}}
8890
11. Click **OK**.
8991
12. Open SOAP request **Retrieve Customers**.
90-
{{< figure src="/attachments/howto8/testing/testing-web-services-using-soapui/18580326.png" >}}
92+
{{< figure src="/attachments/howto8/integration/testing-web-services-using-soapui/18580326.png" >}}
9193
13. Change the follow value:
9294

9395
```java
@@ -142,15 +144,15 @@ In this chapter you will build a testsuite. A testsuite contains one or more tes
142144
Assertions are used to validate the message received by a TestStep during execution, usually by comparing parts of the message (or the entire message) to some expected value. In this chapter you will create an assertion that validates the number of customers.
143145

144146
1. Click **Assertions (1)**.
145-
{{< figure src="/attachments/howto8/testing/testing-web-services-using-soapui/18580307.png" >}}
147+
{{< figure src="/attachments/howto8/integration/testing-web-services-using-soapui/18580307.png" >}}
146148
In chapter 3 step 9 the *Add SOAP Response Assertion* checkbox was checked. That is the first assertion you see in the list, *SOAP Response - VALID*.
147149
2. Click the add assertion icon.
148-
{{< figure src="/attachments/howto8/testing/testing-web-services-using-soapui/18580324.png" >}}
150+
{{< figure src="/attachments/howto8/integration/testing-web-services-using-soapui/18580324.png" >}}
149151
3. Click **Property Content**.
150152
4. Click **XPath Match**.
151153
5. Enter *count(//Customer)* in the XPath Expression field.
152154
6. In step 1.4 of the previous how-to you have added some data. Enter the number of created customers in the **Expected Result** field. In this example four customers were created.
153-
{{< figure src="/attachments/howto8/testing/testing-web-services-using-soapui/18580323.png" >}}
155+
{{< figure src="/attachments/howto8/integration/testing-web-services-using-soapui/18580323.png" >}}
154156
7. Click **Save**.
155157

156158
## 7 Extending Your Test Case
@@ -181,13 +183,13 @@ In this chapter you will extend your test case with multiple test steps and asse
181183
```
182184

183185
3. Add a **Contains Assertion** and enter *true* in the content field.
184-
{{< figure src="/attachments/howto8/testing/testing-web-services-using-soapui/18580322.png" >}}
186+
{{< figure src="/attachments/howto8/integration/testing-web-services-using-soapui/18580322.png" >}}
185187
4. Right-click test step **Retrieve Customers**.
186188

187189
5. Select **Clone TestStep**.
188190

189191
6. Change **TestStep Name** to *Retrieve Customers 2*.
190-
{{< figure src="/attachments/howto8/testing/testing-web-services-using-soapui/18580320.png" >}}
192+
{{< figure src="/attachments/howto8/integration/testing-web-services-using-soapui/18580320.png" >}}
191193
7. Click **OK**.
192194
8. Open teststep **Retrieve Customers 2**.
193195
9. Click **Assertions (2)**.
@@ -216,17 +218,17 @@ In this chapter you will extend your test case with multiple test steps and asse
216218
In this chapter you will learn how to run the testcase you created in previous chapters.
217219

218220
1. Open testcase **TestCase 1**.
219-
{{< figure src="/attachments/howto8/testing/testing-web-services-using-soapui/18580310.png" >}}
221+
{{< figure src="/attachments/howto8/integration/testing-web-services-using-soapui/18580310.png" >}}
220222
2. Click the run this testcase icon.
221-
{{< figure src="/attachments/howto8/testing/testing-web-services-using-soapui/18580309.png" >}}
223+
{{< figure src="/attachments/howto8/integration/testing-web-services-using-soapui/18580309.png" >}}
222224

223225
Congratulations! You have just created your first automated test with SoapUI.
224226

225227
## 9 Read More
226228

227229
* [Finding the Root Cause of Runtime Errors](/howto8/monitoring-troubleshooting/finding-the-root-cause-of-runtime-errors/)
228230
* [Clearing Warning Messages in Mendix](/howto8/monitoring-troubleshooting/clear-warning-messages/)
229-
* [Testing web services using SoapUI](/howto8/testing/testing-web-services-using-soapui/)
231+
* [Testing web services using SoapUI](/howto8/integration/testing-web-services-using-soapui/)
230232
* [Monitoring Mendix using JMX](/howto8/monitoring-troubleshooting/monitoring-mendix-using-jmx/)
231233
* [Debugging Java actions remotely](/howto8/monitoring-troubleshooting/debug-java-actions-remotely/)
232234
* [Log Levels](/howto8/monitoring-troubleshooting/log-levels/)

content/en/docs/howto8/mobile/native-mobile/getting-started-with-native-mobile.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Before starting this how-to, make sure you have completed the following prerequi
2525
* For information on device requirements, see [System Requirements](/refguide8/system-requirements/)
2626
* If you wish to use an emulator for Android mobile testing, install a product such as [Bluestacks](https://www.bluestacks.com/nl/index.html) or [Genymotion](https://www.genymotion.com/) (your emulator must have Google Play services supported)
2727

28-
## 3 Creating a New App Based on the Quickstart App {#quickstartapp}
28+
## 3 Creating a New App Based on the Quickstarter App {#quickstartapp}
2929

3030
For details on making a Mendix app using the Blank Native Mobile App template, download the Make It Native 8 app on either the [Google Play store](https://play.google.com/store/apps/details?id=com.mendix.developerapp) or the [Apple App Store](https://apps.apple.com/us/app/make-it-native/id1334081181). This app template includes the latest version of Atlas UI, as well as the [Native Mobile Resources](/appstore/modules/native-mobile-resources/) module containing widgets and nanoflow actions for native mobile apps. For more information on building native mobile apps, see the [Build a Native Mobile Inspection App](https://academy.mendix.com/link/path/66) learning path (you must be signed in to the Mendix Platform to see this learning path). Using the Make It Native app to view the changes to your Mendix app, see the sections below.
3131

content/en/docs/howto8/mobile/native-mobile/native-styling/how-to-use-native-styling.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ With Mendix 8, you have the capacity to alter design properties with Mendix Stud
1414
## 2 Prerequisites
1515

1616
* Install an integrated development environment (IDE) of your choice (Mendix recommends [Microsoft Visual Studio Code](https://code.visualstudio.com/))
17-
* Create a Mendix app based on the Blank Native Mobile App template by following the [Creating a New App Based on the Quickstart App](/howto8/mobile/getting-started-with-native-mobile/#quickstartapp) section of *Get Started with Native Mobile*
17+
* Create a Mendix app based on the Blank Native Mobile App template by following the [Creating a New App Based on the Quickstarter App](/howto8/mobile/getting-started-with-native-mobile/#quickstartapp) section of *Get Started with Native Mobile*
1818
* Download the Make It Native 8 app on your mobile device via either the [Google Play](https://play.google.com/store/apps/details?id=com.mendix.developerapp) store or the [Apple App Store](https://apps.apple.com/us/app/make-it-native/id1334081181) so you can text your app and see your styling changes
1919

20-
### 3 Customizing the Quickstart App
20+
### 3 Customizing the Quickstarter App
2121

2222
The [Blank Native Mobile App](https://marketplace.mendix.com/link/component/109511/) is styled using an Atlas UI resources package. This package consists of:
2323

0 commit comments

Comments
 (0)