Skip to content

Commit ac4ac16

Browse files
authored
Merge pull request mendix#9095 from mendix/qt-movehowtodocs
Move Monitoring & Troubleshooting docs out of How-tos
2 parents 7ed4daf + 5704e67 commit ac4ac16

67 files changed

Lines changed: 207 additions & 113 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/use-content/platform-supported-content/modules/document-generation.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,7 @@ If you encounter any issues while [registering your app environment](#register-a
376376

377377
In general, we recommend that you perform the following steps if you get any issues during runtime:
378378

379-
1. Temporarily set the log level of `DocumentGeneration` log node to [trace](/howto/monitoring-troubleshooting/log-levels/#level). This should give more insight at what stage the action fails.
379+
1. Temporarily set the log level of `DocumentGeneration` log node to [trace](/refguide/log-levels/#level). This should give more insight at what stage the action fails.
380380
2. Temporarily add the page microflow that is configured in the action to the app navigation, or make it accessible via a button. This can help to verify that the page itself loads correctly, and can for example outline misconfiguration of entity access, widgets, etc. Make sure that you access the page with the same user you provided to the `Generate as user` parameter in the action.
381381

382382
#### Exceptions
@@ -445,7 +445,7 @@ com.mendix.modules.microflowengine.MicroflowException: com.mendix.systemwideinte
445445
at DocumentGenerationTest.ACT_TestDocument_WrongLayout (JavaAction : 'Generate PDF from page')
446446
```
447447

448-
We recommend that you temporarily set the log level of the `DocumentGeneration` log node to [trace](/howto/monitoring-troubleshooting/log-levels/#level). This should give more insight at what stage the action fails.
448+
We recommend that you temporarily set the log level of the `DocumentGeneration` log node to [trace](/refguide/log-levels/#level). This should give more insight at what stage the action fails.
449449

450450
#### Cloud Service Errors
451451

content/en/docs/howto/monitoring-troubleshooting/populate-user-type.md renamed to content/en/docs/deployment/general/populate-user-type.md

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
---
22
title: "Populate User Types"
3-
url: /howto/monitoring-troubleshooting/populate-user-type/
3+
url: /developerportal/deploy/populate-user-type/
44
description: "Describes how to classify existing app end-users as either internal or external."
5+
aliases:
6+
- /howto/monitoring-troubleshooting/populate-user-type/
57
---
68

79
## Introduction
@@ -22,7 +24,7 @@ Every Mendix app has a system module containing an entity `UserReportInfo`. This
2224

2325
The *Mendix Metering* module relies on this attribute to ascertain the end-user type and report it back to us.
2426

25-
{{< figure src="/attachments/howto/monitoring-troubleshooting/populate-user-type/user-type-enumeration.png" class="no-border" >}}
27+
{{< figure src="/attachments/deployment/general/populate-user-type/user-type-enumeration.png" class="no-border" >}}
2628

2729
## Assigning UserType for Existing Users of IAM Modules
2830

@@ -55,41 +57,41 @@ Outlined below is an example of a module that can be used to update UserType att
5557
In the example below, our aim is to update UserType attribute of `UserReportInfo` entity. However, the entity `UserReportInfo` is protected in the System module and has no access rules. As a result, it cannot be exposed directly in the UI pages.
5658
Therefore, the approach we take is to create a new non-persistable entity, `UserTypeReport`, which we will populate based on the values of `UserReportInfo` to show in the UI.
5759

58-
{{< figure src="/attachments/howto/monitoring-troubleshooting/populate-user-type/usertypereport.png" class="no-border" >}}
60+
{{< figure src="/attachments/deployment/general/populate-user-type/usertypereport.png" class="no-border" >}}
5961

60-
{{< figure src="/attachments/howto/monitoring-troubleshooting/populate-user-type/usertypereport-properties.png" class="no-border" >}}
62+
{{< figure src="/attachments/deployment/general/populate-user-type/usertypereport-properties.png" class="no-border" >}}
6163

6264
### Populating **UserType** for Existing Users of an App {#using-microflow}
6365

6466
1. Create a microflow `User_RetrieveOrCreateUserReportInfo` which will ensure that a `UserReportInfo` object exists for a given `User`.
6567

66-
{{< figure src="/attachments/howto/monitoring-troubleshooting/populate-user-type/retrieve-userreportinfo.png" alt="Microflow: User_RetrieveOrCreateUserReportInfo" class="no-border" >}}
68+
{{< figure src="/attachments/deployment/general/populate-user-type/retrieve-userreportinfo.png" alt="Microflow: User_RetrieveOrCreateUserReportInfo" class="no-border" >}}
6769

6870
2. Create a microflow `User_EvaluateAndSetUserType` which will populate the `UserType` attribute on the `UserReportInfo` entity for a given `User`.
6971

7072
In this example, we decide whether a user is `Internal` or `External` based on the email address of the user. To do that, we need to retrieve the email address of each user from the database. Note that the `System.User` entity itself does not have the email address. The email address is stored in specializations of `System.User`.
7173

7274
Here, we show how to do it for two specializations of the `System.User` entity, namely `Administration.Account` and `MendixSSO.MendixSSOUser`. In the `Administration.Account` entity, the email is in attribute named `Email`. And in the `MendixSSO.MendixSSOUser` entity, it’s in an attribute named `EmailAddress`. Hence we need to use an [Object Type Decision](/refguide/object-type-decision/) activity to split the `System.User` into `Administration.Account` and `MendixSSO.MendixSSOUser` and then fetch the email address according to the name of the attribute.
7375

74-
{{< figure src="/attachments/howto/monitoring-troubleshooting/populate-user-type/set-user-type.png" alt="Microflow: User_EvaluateAndSetUserType" class="no-border" >}}
76+
{{< figure src="/attachments/deployment/general/populate-user-type/set-user-type.png" alt="Microflow: User_EvaluateAndSetUserType" class="no-border" >}}
7577

7678
* The logic to determine whether the end-user is internal or external is up to the developer. The example below returns `true`, to indicate that the user is internal, if the user has no email address, or if the domain for their email address is `mendix.com` or `myorg.com`.
7779

78-
{{< figure src="/attachments/howto/monitoring-troubleshooting/populate-user-type/user-type-split.png" alt="Split: Decide if user is internal" class="no-border" >}}
80+
{{< figure src="/attachments/deployment/general/populate-user-type/user-type-split.png" alt="Split: Decide if user is internal" class="no-border" >}}
7981

8082
3. Create a new microflow `User_Correct_UserType` which will use the microflows `User_RetrieveOrCreateUserReportInfo` and `User_EvaluateAndSetUserType` created above. In this microflow, we create and populate the `UserTypeReport` entity and return a list of these entities at the end of the microflow.
8183

82-
{{< figure src="/attachments/howto/monitoring-troubleshooting/populate-user-type/correct-user-type.png" alt="Microflow: User_Correct_UserType" class="no-border" >}}
84+
{{< figure src="/attachments/deployment/general/populate-user-type/correct-user-type.png" alt="Microflow: User_Correct_UserType" class="no-border" >}}
8385

8486
4. Create a page `UserTypeReport` with a DataGrid which uses the microflow `User_Correct_UserType` as its source.
8587

86-
{{< figure src="/attachments/howto/monitoring-troubleshooting/populate-user-type/grid-general.png" class="no-border" >}}
88+
{{< figure src="/attachments/deployment/general/populate-user-type/grid-general.png" class="no-border" >}}
8789

88-
{{< figure src="/attachments/howto/monitoring-troubleshooting/populate-user-type/grid-data-source.png" class="no-border" >}}
90+
{{< figure src="/attachments/deployment/general/populate-user-type/grid-data-source.png" class="no-border" >}}
8991

9092
5. Add the page to the **Navigation**.
9193
6. When you go to that page it will set the `UserType` as per your logic and show you the UserType report.
9294

93-
{{< figure src="/attachments/howto/monitoring-troubleshooting/populate-user-type/user-type-report.png" class="no-border" >}}
95+
{{< figure src="/attachments/deployment/general/populate-user-type/user-type-report.png" class="no-border" >}}
9496

9597
7. The report can be exported into an Excel file.

content/en/docs/howto/monitoring-troubleshooting/monitoring-mendix-using-jmx.md renamed to content/en/docs/deployment/on-premises-design/monitoring-mendix-using-jmx.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
---
22
title: "Monitor Mendix Using JMX"
3-
url: /howto/monitoring-troubleshooting/monitoring-mendix-using-jmx/
4-
weight: 10
3+
url: /developerportal/deploy/monitoring-mendix-using-jmx/
54
description: "Describes how to start the Mendix Runtime with JMX, and expose management information and app-specific statistics with an MBean."
5+
aliases:
6+
- /howto/monitoring-troubleshooting/monitoring-mendix-using-jmx/
67
---
78

89
## Introduction
@@ -141,7 +142,7 @@ import com.mendix.core.Core;
141142

142143
Now you're able to see the result of the values exposed by this MBean in the JConsole:
143144

144-
{{< figure src="/attachments/howto/monitoring-troubleshooting/monitoring-mendix-using-jmx/18580003.png" class="no-border" >}}
145+
{{< figure src="/attachments/deployment/on-premises-design/monitoring-mendix-using-jmx/18580003.png" class="no-border" >}}
145146

146147
## MBean Exposing App-Specific Statistics
147148

content/en/docs/howto/monitoring-troubleshooting/_MAPPING.txt

Lines changed: 0 additions & 1 deletion
This file was deleted.

content/en/docs/howto/monitoring-troubleshooting/_index.md

Lines changed: 0 additions & 15 deletions
This file was deleted.

content/en/docs/howto/monitoring-troubleshooting/manage-app-performance/_index.md

Lines changed: 0 additions & 29 deletions
This file was deleted.

content/en/docs/howto/monitoring-troubleshooting/debug-java-actions/_index.md renamed to content/en/docs/refguide/java-programming/debug-java-actions/_index.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
---
22
title: "Debug Java Actions"
3-
url: /howto/monitoring-troubleshooting/debug-java-actions/
3+
url: /refguide/debug-java-actions/
44
weight: 4
55
description: "Describes how to set breakpoints and debug Java actions in Eclipse."
6+
aliases:
7+
- /howto/monitoring-troubleshooting/debug-java-actions/
68
#If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the Evaluation Guide. See Mapping to Products for more details.
79
# Linked from https://www.mendix.com/evaluation-guide/enterprise-capabilities/extensibility/
810
---
@@ -24,23 +26,23 @@ Before starting this how-to, make sure you have completed the following prerequi
2426
* Add a Java action and open the app in Eclipse
2527
* Read [Extending Your Application with Custom Java](/refguide/extending-your-application-with-custom-java/)
2628
* Deploy the application for Eclipse by selecting **Deploy for Eclipse** from the app menu in Studio Pro (you should redo this every time you make changes in Studio Pro):
27-
{{< figure src="/attachments/howto/monitoring-troubleshooting/debug-java-actions/18581045.png" class="no-border" >}}
29+
{{< figure src="/attachments/refguide/java-programming/debug-java-actions/18581045.png" class="no-border" >}}
2830

2931
## Setting Breakpoints
3032

3133
1. Open Eclipse and locate the app in the **Package Explorer**.
3234
2. Double-click **ReverseCustomerName.java**:
33-
{{< figure src="/attachments/howto/monitoring-troubleshooting/debug-java-actions/18581041.png" class="no-border" >}}
35+
{{< figure src="/attachments/refguide/java-programming/debug-java-actions/18581041.png" class="no-border" >}}
3436
3. Place the cursor on the line that needs debugging, press <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>B</kbd> to enable a breakpoint. A blue dot in front of the line will appear:
35-
{{< figure src="/attachments/howto/monitoring-troubleshooting/debug-java-actions/18580059.png" class="no-border" >}}
37+
{{< figure src="/attachments/refguide/java-programming/debug-java-actions/18580059.png" class="no-border" >}}
3638
{{% alert color="info" %}}
3739
You can also use <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>B</kbd> to disable a breakpoint.
3840
{{% /alert %}}
3941

4042
## Debugging in Eclipse
4143

4244
1. Select the app root node in the package explorer and click the debug icon in the Eclipse toolbar:
43-
{{< figure src="/attachments/howto/monitoring-troubleshooting/debug-java-actions/18580062.png" class="no-border" >}}
45+
{{< figure src="/attachments/refguide/java-programming/debug-java-actions/18580062.png" class="no-border" >}}
4446

4547
The application will now be started with Eclipse attached as debugger.
4648

@@ -49,12 +51,12 @@ Before starting this how-to, make sure you have completed the following prerequi
4951
* As a developer, you will see the Eclipse icon flashing on the Windows task bar
5052
3. Open Eclipse. You should now see the "debug" perspective of Eclipse.
5153
4. Click **Step into** (or press <kbd>F5</kbd>) or **Step over** (or press <kbd>F6</kbd>) to move on the next step in the microflow:
52-
{{< figure src="/attachments/howto/monitoring-troubleshooting/debug-java-actions/18580056.png" class="no-border" >}}
54+
{{< figure src="/attachments/refguide/java-programming/debug-java-actions/18580056.png" class="no-border" >}}
5355

5456
{{% alert color="info" %}}With debugger options, the difference between **Step into** and **Step over** is only noticeable if you run into a function call. **Step into** means that the debugger steps into the function, and **Step over** just moves the debugger to the next line in the same Java action. With **Step return** (pressing <kbd>F7</kbd>), you can instruct the debugger to leave the function; this is basically the opposite of **Step into**. Clicking **Resume** (pressing <kbd>F8</kbd>) instructs the debugger to continue until it reaches another breakpoint.{{% /alert %}}
5557

5658
5. Place your cursor on any of the variables in the Java action to see its value in a pop-up window:
57-
{{< figure src="/attachments/howto/monitoring-troubleshooting/debug-java-actions/18580057.png" class="no-border" >}}
59+
{{< figure src="/attachments/refguide/java-programming/debug-java-actions/18580057.png" class="no-border" >}}
5860

5961
{{% alert color="warning" %}}A current limitation is that local variables may not be visible when debugging Java actions in Eclipse. This can affect your ability to inspect variable values during execution.{{% /alert %}}
6062

content/en/docs/howto/monitoring-troubleshooting/debug-java-actions/debug-java-actions-remotely.md renamed to content/en/docs/refguide/java-programming/debug-java-actions/debug-java-actions-remotely.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
---
22
title: "Debug Java Actions Remotely"
3-
url: /howto/monitoring-troubleshooting/debug-java-actions-remotely/
3+
url: /refguide/debug-java-actions-remotely/
4+
aliases:
5+
- /howto/monitoring-troubleshooting/debug-java-actions-remotely/
46
---
57

68
## Introduction
@@ -26,15 +28,15 @@ To edit the server configuration with extra JVM parameters, follow these steps:
2628

2729
`-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005`
2830

29-
{{< figure src="/attachments/howto/monitoring-troubleshooting/debug-java-actions/debug-java-actions-remotely/18580063.png" class="no-border" >}}
31+
{{< figure src="/attachments/refguide/java-programming/debug-java-actions/debug-java-actions-remotely/18580063.png" class="no-border" >}}
3032

3133
4. Run your application.
3234

3335
## Configuring Remote Debugging
3436

3537
In your Java IDE, you need to configure remote debugging.
3638

37-
{{< figure src="/attachments/howto/monitoring-troubleshooting/debug-java-actions/debug-java-actions-remotely/eclipse-debug.png" class="no-border" >}}
39+
{{< figure src="/attachments/refguide/java-programming/debug-java-actions/debug-java-actions-remotely/eclipse-debug.png" class="no-border" >}}
3840

3941
To configure Eclipse, follow these steps:
4042

content/en/docs/refguide/modeling/community-best-practices-for-app-performance.md renamed to content/en/docs/refguide/modeling/app-performance/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: "Community Best Practices for App Performance"
3-
linktitle: "Best Practices for App Performance"
3+
linktitle: "App Performance"
44
url: /refguide/community-best-practices-for-app-performance/
55
weight: 15
66
description: "Describes some best practices to apply during development to get a better performing app. This document is created by and for the Mendix community."

0 commit comments

Comments
 (0)