Skip to content

Commit 31d3a71

Browse files
authored
Live publish
2 parents dde3afd + f271aa5 commit 31d3a71

7 files changed

+93
-0
lines changed

powerapps-docs/maker/TOC.yml

+4
Original file line numberDiff line numberDiff line change
@@ -1094,6 +1094,10 @@
10941094
href: ./model-driven-apps/manage-auto-save.md
10951095
- name: How to add a tab for SharePoint documents
10961096
href: ./model-driven-apps/add-documents-tab-entity-main-form.md
1097+
- name: Troubleshoot forms
1098+
items:
1099+
- name: Use Monitor to troubleshoot forms
1100+
href: ./model-driven-apps/monitor-form-checker.md
10971101
- name: Embed a canvas app on a model-driven form
10981102
href: ./model-driven-apps/embed-canvas-app-in-form.md
10991103
items:
Loading
Loading
Loading
Loading
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
---
2+
title: Monitor and troubleshoot model-driven app form behavior in Power Apps | MicrosoftDocs
3+
description: "Learn how to use the news control to get the latest news about your customers"
4+
ms.custom: ""
5+
ms.date: 08/11/2020
6+
ms.reviewer: "matp"
7+
ms.service: powerapps
8+
ms.suite: ""
9+
ms.tgt_pltfrm: ""
10+
ms.topic: "article"
11+
author: "mspilde"
12+
ms.author: "mspilde"
13+
manager: "kvivek"
14+
tags:
15+
search.audienceType:
16+
- maker
17+
search.app:
18+
- PowerApps
19+
---
20+
# Use Monitor to troubleshoot model-driven app form behavior (Preview)
21+
22+
[!INCLUDE [cc-beta-prerelease-disclaimer](../../includes/cc-beta-prerelease-disclaimer.md)]
23+
24+
Monitor can help you debug and diagnose problems, which help you build faster, more reliable apps. Monitor provides a deep view into how an app runs by providing a log of all activities in your app as the app runs.
25+
26+
When you filter on model-driven app form-related events in Monitor, you can get information about related tables, entities, controls, and components on a form in Monitor as your app runs.
27+
28+
There are many situations that you may encounter where access to the information provided by Monitor will help you better understand why a form behaves a certain way. Many form issues are based on business rules, JavaScript, form events, or client API that admins and makers have set. Monitor can also help identify if the issue you experience is designed out-of-the-box or is due to a customization. It provides details that can help you answer the following questions:
29+
30+
- Why records aren’t showing in the related menu of an entity?
31+
- Why is a control not editable?
32+
- Why is a record in a read-only state?
33+
34+
## Filter Monitor for form-related issues
35+
36+
1. Sign in to [Power Apps](https://make.powerapps.com/), select **Apps**, select the app you want, and then select **Monitor** on the command bar. Follow the instructions on your screen to run the app and join the monitoring session.
37+
38+
You can also start a Monitor session from a model-driven app. To do this, append *&monitor=true* to the end of the URL in the browser. This displays the **Monitor** command on the model-driven app global command bar. Select **Monitor** to launch a monitoring session in a new tab.
39+
![Add URL parameter to run Monitor from a model-driven app](media/run-monitor-from-app.png)
40+
41+
2. On the browser window running Monitor, select the three horizontal lines on the **Category** column to open the filter options.
42+
43+
> [!div class="mx-imgBorder"]
44+
> ![Filter on form events in Monitor](media/monitor-filter-formchecker.png)
45+
46+
3. Enter *formchecker* in the topmost **Filter** box. Don’t make any other changes and select **Apply**.
47+
48+
<img src="media/monitor-formchecker-filter.png" alt="Enter formchecker filter" height="255" width="405">
49+
50+
4. Click or tap anywhere outside the filter dialog to close the dialog and refresh the list in Monitor. You can expand the **Operation** column to see the full name of the events that are tracked by selecting and holding the right-side of the column and dragging to the right. As you use the app and open and use a form, Monitor updates the list of events.
51+
52+
> [!div class="mx-imgBorder"]
53+
>![Monitored form events displayed](media/monitor-formchecker-events.png)
54+
55+
## Use Monitor to understand form behavior
56+
57+
For each record, you can open and view detailed information about the form event. For example, imagine you have a question about the options in the related menu tab of a form. You go to that form in the app and select the appropriate form component. In this example, the **RelatedMenu** record in the **Operation** column is selected. Next, the **Details** tab, and then **** are selected to display additional information.
58+
59+
> [!div class="mx-imgBorder"]
60+
> ![Monitoring related menu ](media/monitor-formchecker-related-menu.png)
61+
62+
To see the full details, select **+** next to the line that displays the word **data** in the title, which is line **5** in the previous screenshot. The expanded details displays all items in the related menu with information that can help you understand why an entity is, or is not, included in the related menu options. There are many types of events that are monitored including the standard form events like onload, onsave, onclose, and so on.
63+
64+
As you continue to use the app that is being monitored, Monitor updates the information in the list of events. For forms, there are many different scenarios that you can troubleshoot and find additional information on the form, control, or entity, you are working with.
65+
66+
## Supported form checking areas and events
67+
68+
Supported areas for form monitoring include:
69+
70+
|App area |Description |
71+
|---------|---------|
72+
|Control state | Details about the state of the visible, enabled, and label source of a control when the form is loaded. |
73+
|Related menu | Details about the state of related menu items. Examples: <br /> Why is a menu item not displaying? <br /> Where does the menu item come from? |
74+
|Tab / section / control state change | Details on who (via the callstack) has caused a form component such as a tab, section, or control, to change the component’s visibility and enabled state. |
75+
|Navigation | Details about what’s causing navigation or unexpected dialogs by tracing the callstack of these Xrm.Navigation client API methods: openAlertDialog(), openConfirmDialog(), openDialog(), openErrorDialog(), navigateTo(), openForm(), openTaskFlow(), openUrl(), openWebResource() |
76+
|Unsupported customizations | Details about unsupported client API access before the form is ready. Examples: <br /> Accessing parent.Xrm.Page in iFrame before the form is fully loaded. <br /> Accessing Xrm.Page in form web resource outside of form handler contexts using window.setTimeout() to periodically call the form client API. <br /> Accessing Xrm.Page in updateView() method of the Power Apps control framework control code. |
77+
78+
Examples of the supported form-related events in Monitor:
79+
- FormEvents.onsave
80+
- XrmNavigation
81+
- FormEvents.onload
82+
- FormControls
83+
- TabStateChange.visible
84+
- RelatedMenu
85+
- ControlStateChange.disabled
86+
- ControlStateChange.visible
87+
- SectionStateChange.visible
88+
- UnsupportedClientApi
89+

0 commit comments

Comments
 (0)