Skip to content

Commit 4fdf9bb

Browse files
doc lint
1 parent 6956186 commit 4fdf9bb

6 files changed

Lines changed: 106 additions & 113 deletions

File tree

content/en/docs/deployment/general/pad/_index.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,10 @@ To run your app locally, perform the following steps:
5555
* For Windows, run the command `set M2EE_ADMIN_PASS=<your password>`
5656
* For Linux, run the command `export M2EE_ADMIN_PASS=<your password>`
5757

58-
{{% alert color="info" %}}
59-
The Mendix admin port can be used to fetch metrics and other runtime data from an app. It requires a password for security reasons.
60-
{{% /alert %}}
58+
{{% alert color="info" %}}The Mendix admin port can be used to fetch metrics and other runtime data from an app. It requires a password for security reasons.
59+
{{% /alert %}}
6160

62-
1. Run the app by using one of the following commands:
61+
3. Run the app by using one of the following commands:
6362

6463
* For Windows, run the command `<your folder location>\bin\start.bat`
6564
* For Windows Powershell, run the command `<your folder location>\bin\start.ps1`

content/en/docs/deployment/on-premises-design/cloud-foundry/cloud-foundry-deploy-pad.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,15 @@ To deploy your app to Cloud Foundry, perform the following steps:
3737

3838
4. Add the following content to the file:
3939

40-
```yaml
41-
applications:
42-
- name: <the name of your app>
43-
path: <the path where you saved your .zip file>
44-
memory:
45-
buildpacks:
46-
services:
47-
env:
48-
```
49-
50-
1. Run the `cf push` command.
51-
2. Verify that the Mendix app has started successfully.
40+
```yaml
41+
applications:
42+
- name: <the name of your app>
43+
path: <the path where you saved your .zip file>
44+
memory:
45+
buildpacks:
46+
services:
47+
env:
48+
```
49+
50+
5. Run the `cf push` command.
51+
6. Verify that the Mendix app has started successfully.

content/en/docs/deployment/on-premises-design/linux/linux-pad.md

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,12 @@ To deploy your app to Linux, perform the following steps:
5252
* For Debian/Ubuntu-based systems: `sudo apt install temurin-21-jdk -y`
5353
* For RHEL/CentOS-based systems: `sudo yum install temurin-21-jdk -y` or `sudo dnf install temurin-21-jdk -y`
5454
55-
If your application requires it, you can change the Java version on vendor as needed, for example, `openjdk-21-jdk` or `java-21-amazon-corretto`.
55+
If your application requires it, you can change the Java version on vendor as needed, for example, `openjdk-21-jdk` or `java-21-amazon-corretto`.
5656
57-
{{% alert color="info" %}}
58-
Your Portable App Distribution only requires a Java Runtime Environment (JRE) to run, but it is often recommended to install a full JDK as it includes the JRE and development tools.
59-
{{% /alert %}}
57+
{{% alert color="info" %}} Your Portable App Distribution only requires a Java Runtime Environment (JRE) to run, but it is often recommended to install a full JDK as it includes the JRE and development tools. {{% /alert %}}
6058
61-
1. Verify that Java is correctly installed by running the following command: `java -version`.
62-
2. Upload the Portable App Distribution .zip file to a location where your Linux server can access it by using one of the following options, depending on the location and configuration of your Linux machine.
59+
4. Verify that Java is correctly installed by running the following command: `java -version`.
60+
5. Upload the Portable App Distribution .zip file to a location where your Linux server can access it by using one of the following options, depending on the location and configuration of your Linux machine.
6361
6462
* For Azure Blob Storage (often done as part of a CI/CD pipeline): `az storage blob upload --account-name <your storage account name> --container-name <your container name> --name <your app>.zip --file <your project folder>/build/distributions/your-app.zip --auth-mode login`
6563
@@ -77,7 +75,7 @@ Your Portable App Distribution only requires a Java Runtime Environment (JRE) to
7775
7876
* From a public URL using `wget`: `wget https://<path to your file>.zip`
7977
80-
3. Download the .zip file onto your Linux server by using one of the following options, depending on the location and configuration of your Linux machine.
78+
6. Download the .zip file onto your Linux server by using one of the following options, depending on the location and configuration of your Linux machine.
8179
8280
* For Azure Blob Storage: `az storage blob download --account-name <your storage account name> --container-name <your container name> --name <your app>.zip --file /home/<your user name>/<your app>.zip --auth-mode login`
8381
@@ -95,8 +93,8 @@ Your Portable App Distribution only requires a Java Runtime Environment (JRE) to
9593
9694
You can also retrieve the files using `wget`.
9795
98-
4. Extract the .zip file by running the following command: `unzip <your app>.zip -d <your desired directory>`.
99-
5. Navigate into the extracted directory and execute the start script by running the following command:
96+
7. Extract the .zip file by running the following command: `unzip <your app>.zip -d <your desired directory>`.
97+
8. Navigate into the extracted directory and execute the start script by running the following command:
10098
10199
```text
102100
cd your-desired-directory
@@ -105,7 +103,7 @@ Your Portable App Distribution only requires a Java Runtime Environment (JRE) to
105103
106104
The `bin/start` script is a common convention for Portable App Distributions using the Default configuration. If your application uses a different configuration, start script, or command, adjust accordingly.
107105
108-
6. Verify that the application is running by opening the following URL in your browser: `http://<public IP of your Linux instance>:8080`.
106+
9. Verify that the application is running by opening the following URL in your browser: `http://<public IP of your Linux instance>:8080`.
109107
110108
`8080` is the default port. If your application is configured to run on a different port, adjust accordingly.
111109

content/en/docs/deployment/private-cloud/private-cloud-cluster/private-cloud-helm-charts.md

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -80,40 +80,36 @@ To install the solution, perform the following steps:
8080

8181
{{< figure src="/attachments/deployment/private-cloud/private-cloud-cluster/helm-chart-wizard5.png" >}}
8282

83-
{{% alert color="info" %}}
84-
Keep in mind that changing the ingress type resets the value of all fields in this tab.
85-
{{% /alert %}}
83+
{{% alert color="info" %}}Keep in mind that changing the ingress type resets the value of all fields in this tab.{{% /alert %}}
8684

87-
1. In the **Registry** tab, specify your network ingress settings. For more information about the available options, see [Registry Configuration](/developerportal/deploy/private-cloud-registry/).
85+
12. In the **Registry** tab, specify your network ingress settings. For more information about the available options, see [Registry Configuration](/developerportal/deploy/private-cloud-registry/).
8886

8987
{{< figure src="/attachments/deployment/private-cloud/private-cloud-cluster/helm-chart-wizard6.png" >}}
9088

91-
{{% alert color="info" %}}
92-
Keep in mind that changing the registry type resets the value of all fields in this tab.
93-
{{% /alert %}}
89+
{{% alert color="info" %}}Keep in mind that changing the registry type resets the value of all fields in this tab.{{% /alert %}}
9490

95-
1. Optional: In the **Proxy** tab, specify a proxy server.
91+
13. Optional: In the **Proxy** tab, specify a proxy server.
9692

9793
{{< figure src="/attachments/deployment/private-cloud/private-cloud-cluster/helm-chart-wizard7.png" >}}
9894

99-
2. Optional: If your servers use a self-signed certificate, in the **Custom TLS** tab, configure custom TLS so that the self-signed certificate is accepted.
95+
14. Optional: If your servers use a self-signed certificate, in the **Custom TLS** tab, configure custom TLS so that the self-signed certificate is accepted.
10096

10197
{{< figure src="/attachments/deployment/private-cloud/private-cloud-cluster/helm-chart-wizard8.png" >}}
10298

103-
3. Click **Generate & Download** to generate the yaml file with the configurations that you provided.
104-
4. Run the following commands:
99+
15. Click **Generate & Download** to generate the yaml file with the configurations that you provided.
100+
16. Run the following commands:
105101

106102
1. To install the required [Custom Resource Definitions](/developerportal/deploy/private-cloud-technical-appendix-01/#custom-resources)
107103

108-
```text
109-
kubectl apply -f mx-privatecloud-operator-crd/crds/
110-
```
104+
```text
105+
kubectl apply -f mx-privatecloud-operator-crd/crds/
106+
```
111107
112-
1. To install Mendix on Kubernetes:
108+
2. To install Mendix on Kubernetes:
113109
114-
```text
115-
helm install --createnamespace -n <your namespace> -f <yaml file name> <release name> mx-privatecloud-operator-installer
116-
```
110+
```text
111+
helm install --createnamespace -n <your namespace> -f <yaml file name> <release name> mx-privatecloud-operator-installer
112+
```
117113
118114
{{% alert color="info" %}}
119115
Ensure that your cluster have access to the Mendix on Kubernetes Portal for adding the storage plans, and that the Private Cloud Portal is safelisted in the cluster.

content/en/docs/marketplace/platform-supported-content/modules/snowflake/mendix-data-loader.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ If you want to use specific resources, you should instead expose a new endpoint
7676
9. Click **Back** to return to the **Details** page.
7777
10. Click the **Ingestion Configuration** tab to set up your ingestion destination table.
7878
11. Click **Create** to start setting up the Ingestion Configuration.
79-
***Target Database** – Name of the database for data ingestion
79+
* **Target Database** – Name of the database for data ingestion
8080
* **Target Schema** – Target schema where all data will be ingested
8181
12. Click **Save**.
8282
13. Click the **Data Ingestion** tab, where you can start your data ingestion or set up a schedule.

content/en/docs/refguide/mobile/introduction-to-mobile-technologies/progressive-web-app/pwa-service-worker.md

Lines changed: 68 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@ Scope limits which pages are controlled by a service worker, not which requests
2020

2121
To understand how updates to your Mendix PWA are handled, you need to understand the service worker lifecycle. A service worker goes through several distinct phases:
2222

23-
1. **Registration** In this step the browser downloads the service worker file. If the code contains syntax errors, registration fails and the service worker is discarded.
24-
2. **Installation** During this phase, the service worker typically caches static assets your PWA needs to function offline. If all assets are successfully pre-cached, the installation succeeds. If installation fails, the service worker is discarded.
23+
1. **Registration** In this step the browser downloads the service worker file. If the code contains syntax errors, registration fails and the service worker is discarded.
24+
2. **Installation** During this phase, the service worker typically caches static assets your PWA needs to function offline. If all assets are successfully pre-cached, the installation succeeds. If installation fails, the service worker is discarded.
2525
* Once installed:
2626
* It becomes activated immediately if no other service worker is currently controlling the page.
2727
* If there is already an active service worker, the new one will be installed but enters a **Waiting** state. The **Waiting** state, ensures that updates to your application are delivered smoothly and without interrupting your users' current interactions.
28-
3. **Activation** Once installed, the service worker enters the **Activating** state, and then becomes **Activated**. An **Activated** service worker takes control of pages within its scope (meaning it is ready to intercept requests).
29-
4. **Redundant** A service worker can become redundant if a new version replaces it, or if it fails to install.
28+
3. **Activation** Once installed, the service worker enters the **Activating** state, and then becomes **Activated**. An **Activated** service worker takes control of pages within its scope (meaning it is ready to intercept requests).
29+
4. **Redundant** A service worker can become redundant if a new version replaces it, or if it fails to install.
3030

3131
## Waiting for Service Worker Readiness
3232

@@ -63,76 +63,76 @@ The [ServiceWorkerRegistration](https://developer.mozilla.org/en-US/docs/Web/API
6363

6464
You can implement a custom update mechanism to provide a clear notification and an option to update to the latest version of your app in that same notification. This allows them to update the application without closing all tabs or windows:
6565

66-
1. **Listen for service worker updates** Create a JavaScript Action to listen for service worker updates. This action should run when your application starts up, for example, calling the JavaScript action via nanoflow that triggers by [Events](/appstore/widgets/events/) widget:
66+
1. **Listen for service worker updates** Create a JavaScript Action to listen for service worker updates. This action should run when your application starts up, for example, calling the JavaScript action via nanoflow that triggers by [Events](/appstore/widgets/events/) widget:
6767

68-
```javascript
69-
export async function JS_ListenForPWAUpdates() {
70-
if (!('serviceWorker' in navigator)) {
71-
console.warn('service workers are not supported in this browser.');
72-
return;
73-
}
68+
```javascript
69+
export async function JS_ListenForPWAUpdates() {
70+
if (!('serviceWorker' in navigator)) {
71+
console.warn('service workers are not supported in this browser.');
72+
return;
73+
}
7474

75-
try {
76-
const registration = await navigator.serviceWorker.getRegistration();
77-
78-
if (registration) {
79-
// Detect when a new service worker update is found
80-
registration.addEventListener('updatefound', () => {
81-
const newWorker = registration.installing;
82-
83-
if (newWorker) {
84-
// Listen for state changes in the new service worker
85-
newWorker.addEventListener('statechange', () => {
86-
// New service worker is installed and ready.
87-
if (newWorker.state === 'installed'){
88-
// The new service worker is waiting because an existing service worker is active
89-
if(navigator.serviceWorker.controller) {
90-
console.log('A new update is available. Notify the user.');
91-
// Show a confirmation dialog or implement your custom update UI
92-
// to notify the user that an update is available
93-
} else {
94-
console.log("Service Worker installed and ready.");
95-
// This is the first time a service worker is installed and activated for this page.
96-
// A page reload is necessary to ensure all assets are served by the new service worker and the app is fully offline ready
75+
try {
76+
const registration = await navigator.serviceWorker.getRegistration();
77+
78+
if (registration) {
79+
// Detect when a new service worker update is found
80+
registration.addEventListener('updatefound', () => {
81+
const newWorker = registration.installing;
82+
83+
if (newWorker) {
84+
// Listen for state changes in the new service worker
85+
newWorker.addEventListener('statechange', () => {
86+
// New service worker is installed and ready.
87+
if (newWorker.state === 'installed'){
88+
// The new service worker is waiting because an existing service worker is active
89+
if(navigator.serviceWorker.controller) {
90+
console.log('A new update is available. Notify the user.');
91+
// Show a confirmation dialog or implement your custom update UI
92+
// to notify the user that an update is available
93+
} else {
94+
console.log("Service Worker installed and ready.");
95+
// This is the first time a service worker is installed and activated for this page.
96+
// A page reload is necessary to ensure all assets are served by the new service worker and the app is fully offline ready
97+
}
9798
}
98-
}
99-
});
99+
});
100+
}
101+
});
102+
103+
if (registration.waiting) {
104+
console.log('An update is already available and waiting. Notify the user.');
105+
// Show a confirmation dialog or call your custom update flow
106+
// to notify the user that an update is available
100107
}
101-
});
102-
103-
if (registration.waiting) {
104-
console.log('An update is already available and waiting. Notify the user.');
105-
// Show a confirmation dialog or call your custom update flow
106-
// to notify the user that an update is available
107108
}
109+
} catch (error) {
110+
console.error('Error setting up service worker update listener:', error);
108111
}
109-
} catch (error) {
110-
console.error('Error setting up service worker update listener:', error);
111112
}
112-
}
113-
```
114-
115-
1. **Create a JavaScript Action to activate the new service worker** — When the user confirms the update, use the Client API `skipWaiting()` to activate the new service worker:
116-
117-
```javascript
118-
import { skipWaiting } from "mx-api/pwa";
119-
120-
/**
121-
* @returns {Promise<boolean>} A promise that resolves to true if the update was successfully activated and page reloaded, false otherwise.
122-
*/
123-
export async function JS_ActivatePWAUpdate() {
124-
const activated = await skipWaiting();
125-
126-
if (activated) {
127-
console.log("New service worker activated and controlling the page.");
128-
129-
return true;
130-
} else {
131-
console.warn("No waiting service worker found or activation failed via Mendix API.");
132-
return false;
113+
```
114+
115+
2. **Create a JavaScript Action to activate the new service worker** – When the user confirms the update, use the Client API `skipWaiting()` to activate the new service worker:
116+
117+
```javascript
118+
import { skipWaiting } from "mx-api/pwa";
119+
120+
/**
121+
* @returns {Promise<boolean>} A promise that resolves to true if the update was successfully activated and page reloaded, false otherwise.
122+
*/
123+
export async function JS_ActivatePWAUpdate() {
124+
const activated = await skipWaiting();
125+
126+
if (activated) {
127+
console.log("New service worker activated and controlling the page.");
128+
129+
return true;
130+
} else {
131+
console.warn("No waiting service worker found or activation failed via Mendix API.");
132+
return false;
133+
}
133134
}
134-
}
135-
```
135+
```
136136

137-
1. **Notifying users** To not interrupt users during critical operations, Mendix recommends notifying them when an update becomes available. For example, you can implement a nanoflow that prompts users to confirm the update when a new version is detected. If the user confirms, the nanoflow can call `JS_ActivatePWAUpdate` to update. This nanoflow can be passed as a parameter to `JS_ListenForPWAUpdates`, which will invoke it when an update is detected.
138-
2. **Reload the Application** Trigger a reload, or ask users to reload all open tabs or windows to ensure the application loads with the newly activated service worker.
137+
3. **Notifying users** To not interrupt users during critical operations, Mendix recommends notifying them when an update becomes available. For example, you can implement a nanoflow that prompts users to confirm the update when a new version is detected. If the user confirms, the nanoflow can call `JS_ActivatePWAUpdate` to update. This nanoflow can be passed as a parameter to `JS_ListenForPWAUpdates`, which will invoke it when an update is detected.
138+
4. **Reload the Application** Trigger a reload, or ask users to reload all open tabs or windows to ensure the application loads with the newly activated service worker.

0 commit comments

Comments
 (0)