Skip to content

Commit 4d7c418

Browse files
Live publish for 23 July 2024.
2 parents 7f29f85 + 166a402 commit 4d7c418

15 files changed

+134
-110
lines changed

powerapps-docs/mobile/best-practices-offline.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ searchScope:
2020
This article provides recommendations for how to create the best experience for users of apps configured for offline use.
2121

2222
- If you configure a canvas app for offline use, you need to optimize how the app fetches data from the data source. Learn more: [How to create the best offline user experience in canvas apps](best-practices-offline.md#how-to-create-the-best-offline-user-experience-in-canvas-apps)
23-
- To function offline, an app must initially download all necessary assets, including resources and data, to operate independently of a network connection. This process is a one-time, setup task that occurs during the app’s first use. The speed of this initial download is influenced by the volume of data downloaded to the device, which is determined by the offline profile settings and the quantity of data available to the user within the app’s environment. For a seamless, initial experience, it’s advisable to plan the your [offline app rollout](best-practices-offline.md#plan-your-offline-app-rollout).
23+
- To function offline, an app must initially download all necessary assets, including resources and data, to operate independently of a network connection. This process is a one-time setup task that occurs during the app’s first use. The speed of this initial download is influenced by the volume of data downloaded to the device, which is determined by the offline profile settings and the quantity of data available to the user within the app’s environment. For a seamless, initial experience, it’s advisable to plan your [offline app rollout](best-practices-offline.md#plan-your-offline-app-rollout).
2424

2525
## How to create the best offline user experience in canvas apps
2626

@@ -39,27 +39,27 @@ Monitor is a tool that offers makers a deep view of what an app does and how it
3939
## Plan your offline app rollout
4040

4141
> [!IMPORTANT]
42-
>If you're using an **auto-generated offline profile** (available for canvas apps only), and if the first synchronization is taking too much time, you should create a manual, offline profile by using the following best practices.
42+
> If you're using an **auto-generated offline profile** (available for canvas apps only), and if the first synchronization is taking too much time, you should create a manual, offline profile by using the following best practices.
4343
44-
Develop and roll-out your offline app in three phases.
44+
Develop and roll out your offline app in three phases.
4545

4646
:::image type="content" source="media/mobile-offline-guidelines/phases.png" alt-text="Illustration that shows Phase 1 for a maker, Phase 2 for testers, and Phase 3 for users.":::
4747

4848
### Phase 1: Develop and iterate
4949

5050
After you've [set up mobile offline for canvas apps](canvas-mobile-offline-setup.md#create-a-custom-mobile-offline-profile-with-admin-rights) or [set up mobile offline for model-driven apps](setup-mobile-offline.md#set-up-a-mobile-offline-profile), it's time to start testing and tweaking. Use [Power Apps mobile](run-powerapps-on-mobile.md) or [Field Service Mobile](/dynamics365/field-service/field-service-mobile-app-user-guide) to determine how the app behaves when it's offline. For Windows, you'll find the [Power Apps for Windows](windows-app-install.md) app in the Microsoft Store that allows iterating without the need for a mobile device.
5151

52-
In this phase, you'll add tables and apply filters to existing tables to make sure that the right data is downloaded to the app, following the guidelines to [Optimize the offline profile](mobile-offline-guidelines.md)
52+
In this phase, you'll add tables and apply filters to existing tables to make sure that the right data is downloaded to the app, following the guidelines to [Optimize the offline profile](mobile-offline-guidelines.md).
5353

5454
#### Outcome
5555
You confirm that all the tables and forms work offline after the data is downloaded and that download sizes are reasonable.
5656

5757
> [!IMPORTANT]
58-
> The metadata for the model-driven app is retrieved when the app starts. This means that if you change a component in your app, such as a form component or view, then you need to restart the app for the profile to reflect the changes.
58+
> The metadata for the model-driven app is retrieved when the app starts. This means that if you change a component in your app, such as a form component or view, then you need to restart the app for the profile to reflect the changes.
5959
6060
### Phase 2: Test with users
6161

62-
Ask a few users to test the app with real data. Make sure the offline profile scales for different types of users and works on devices with varying storage capacities. Check the **Device status** page (available out-of-the-box in model-driven apps) for each user. For more information, see [Using the Offline template and offline status icon](canvas-mobile-offline-setup.md#using-the-offline-template-and-offline-status-icon). Adjust the filters in the offline profile to increase or decrease the amount of data that's downloaded.
62+
Ask a few users to test the app with real data. Make sure the offline profile scales for different types of users and works on devices with varying storage capacities. Check the **Device status** page (available out of the box in model-driven apps) for each user. For more information, see [Using the Offline template and offline status icon](canvas-mobile-offline-setup.md#using-the-offline-template-and-offline-status-icon). Adjust the filters in the offline profile to increase or decrease the amount of data that's downloaded.
6363

6464
:::image type="content" source="media/mobile-offline-guidelines/offline-status.png" alt-text="Screenshot of a mobile app's Offline Status page after a successful download.":::
6565

@@ -79,11 +79,11 @@ Test whether your users have all the data they need. Compare the data available
7979

8080
### Add related tables if your app needs them
8181

82-
- **Business process flows:** If a form contains a business process flow, be sure to add the business process flow table. For more information, see [Supported capabilities](/dynamics365/mobile-app/mobile-offline-capabilities#supported-capabilities).
82+
- **Business process flows**: If a form contains a business process flow, be sure to add the business process flow table. For more information, see [Supported capabilities](/dynamics365/mobile-app/mobile-offline-capabilities#supported-capabilities).
8383

84-
- **Files and images:** If your offline profile contains files and images, add tables for them. For more information, see [Configure files and images in offline model-driven apps](offline-file-images.md) or [Configure files and images in offline canvas apps](files-images-offline-canvas-apps.md). Use custom filters to limit download of critical files.
84+
- **Files and images**: If your offline profile contains files and images, add tables for them. For more information, see [Configure files and images in offline model-driven apps](offline-file-images.md) or [Configure files and images in offline canvas apps](files-images-offline-canvas-apps.md). Use custom filters to limit the download of critical files.
8585

86-
- **Timeline:** To make notes on the timeline control (for model-driven apps only) available offline, add the **Notes** table and the **Users** table to the offline profile. Notes can be large if users upload images and videos, so apply custom filters to the **Notes** table to limit download times.
86+
- **Timeline**: To make notes on the timeline control (for model-driven apps only) available offline, add the **Notes** table and the **Users** table to the offline profile. Notes can be large if users upload images and videos, so apply custom filters to the **Notes** table to limit download times.
8787

8888
> [!IMPORTANT]
8989
> Data downloads may be slower if users upload files larger than 4 MB to the timeline control. If users need to upload files larger than 4 MB, use the quick notes control in Field Service or **Files**/**Images** instead of the timeline to improve performance.

powerapps-docs/mobile/canvas-mobile-offline-overview.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ contributors:
2222

2323
If users of your Dataverse-based canvas app have spotty or no Internet access, you can easily provide [offline-first](#mobile-offline-first) access with simple switches and a canvas control. Basic offline-first apps are easy to make. Just build your app with normal [Power Fx formulas](/power-platform/power-fx/formula-reference), and Power Apps offline features handle everything else.
2424

25-
You can also build complex offline apps using custom *offline profiles*. An offline profile is the configuration which determines the data synchronized to users’ devices. Offline profiles help you to optimize your app's performance by reducing the amount of data downloaded to the device. For example, while you may have access rights to millions of records in a table, your app may need only a thousand of them. If you download only a thousand records, your app performs better. If you need more than 15 tables in your offline app, you may want to consider using a custom offline profile.
25+
You can also build complex offline apps using custom *offline profiles*. An offline profile is the configuration that determines the data synchronized to users’ devices. Offline profiles help you to optimize your app's performance by reducing the amount of data downloaded to the device. For example, while you may have access rights to millions of records in a table, your app may need only a thousand of them. If you download only a thousand records, your app performs better. If you need more than 15 tables in your offline app, you may want to consider using a custom offline profile.
2626

2727
To get started with mobile offline, turn on the offline feature in your app and in the tables your app uses. A basic offline screen template is automatically inserted into the app for you to use directly or as a starting point. [Set up mobile offline for canvas apps](canvas-mobile-offline-setup.md).
2828

@@ -34,7 +34,7 @@ When you turn on the offline capability in your app, the app always runs offline
3434

3535
## Why use offline for canvas apps instead of LoadData/SaveData?
3636

37-
There are some key benefits of using the built-in offline functionality for canvas apps instead of LoadData/SaveData Power Fx functions.
37+
There are some key benefits to using the built-in offline functionality for canvas apps instead of LoadData/SaveData Power Fx functions.
3838

3939
|Topic |LoadData/SaveData | Built-in offline |
4040
|---------|--------------------|------------------|

powerapps-docs/mobile/canvas-mobile-offline-setup.md

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ searchScope:
1515
ms.custom: bap-template
1616
---
1717

18+
1819
# Set up mobile offline for canvas apps
1920

2021

@@ -26,13 +27,13 @@ Turn on offline mode in your canvas app if users need to work without worrying a
2627

2728
- You must have the Environment Maker, System Administrator, or System Customizer role to set up offline mode for canvas apps. These roles have create, read, write, delete, and share privileges on **Canvas App**, **Mobile offline profile**, and **Sync Error** tables. [Learn about predefined security roles](../maker/model-driven-apps/share-model-driven-app.md#about-predefined-security-roles).
2829

29-
- Users with Basic User role can't open an offline application. You must create a custom security role with read privileges on **Canvas App**, **Mobile offline profile**, and **Sync Error** tables.
30+
- Users with the Basic User role can't open an offline application. You must create a custom security role with read privileges on **Canvas App**, **Mobile offline profile**, and **Sync Error** tables.
3031

3132
- If you already have a custom security role, make sure it grants read privileges on **Canvas App**, **Mobile offline profile**, and **Sync Error** tables. Learn about [Create or edit a security role to manage access](/power-platform/admin/create-edit-security-role).
3233

3334
## Optimize your app for mobile offline
3435

35-
Mobile apps run on small screens with limited connectivity. Before you set up offline mode, make sure your canvas app is optimized for offline and mobile use. Consider the user scenarios you want to cover and the amount of data the app uses. Create an app that's simple and lightweight.****
36+
Mobile apps run on small screens with limited connectivity. Before you set up offline mode, make sure your canvas app is optimized for offline and mobile use. Consider the user scenarios you want to cover and the amount of data the app uses. Create an app that's simple and lightweight.
3637

3738
Follow these best practices when you build an app for mobile offline use:
3839

@@ -75,10 +76,10 @@ Tables included in an offline app must be configured for offline use. Some built
7576

7677
1. Close the **Settings** window, and then save and publish your app.
7778

78-
A page that's based on the [Offline template](canvas-mobile-offline-setup.md#using-the-offline-template-and-offline-status-icon) is automatically inserted in the app. The page contains an icon that uses the [Connection](/power-platform/power-fx/reference/signals#connection) Power Fx function to reflect the app's [offline sync status](canvas-mobile-offline-working.md#sync-status-icons). You can use it as-is or customize it, as appropriate.
79+
A page that's based on the [Offline template](canvas-mobile-offline-setup.md#using-the-offline-template-and-offline-status-icon) is automatically inserted in the app. The page contains an icon that uses the [Connection](/power-platform/power-fx/reference/signals#connection) Power Fx function to reflect the app's [offline sync status](canvas-mobile-offline-working.md#sync-status-icons). You can use it as-is or customize it, as appropriate.
7980

8081
> [!NOTE]
81-
> If you're turning on offline capability for a brand-new canvas app, make sure the default first screen is based on the **Offline** template.
82+
> If you're turning on offline capability for a new canvas app, make sure the default first screen is based on the **Offline** template.
8283
8384
## Create a custom mobile offline profile (with admin rights)
8485

@@ -113,7 +114,7 @@ Be sure that you configure at least one of the profile rules for each table to d
113114
|Related rows only | Be sure that the related table has been added to the offline profile.|
114115
|Custom | You can define a custom filter up to three levels deep. |
115116

116-
Keep in mind, that you can have 15 related tables in a custom filter. You can also have 15 relationships. The 15 relationships limit is transitive, meaning if table B has N relationships, and you add a reference to table B in table A, then it increases the relationship count of A by N+1; one plus the N already in table B. This limit is per profile item for table in the profile.
117+
Keep in mind that you can have 15 related tables in a custom filter. You can also have 15 relationships. The 15-relationships limit is transitive, meaning if table B has N relationships, and you add a reference to table B in table A, then it increases the relationship count of A by N+1; one plus the N already in table B. This limit is per profile item for a table in the profile.
117118

118119
1. In the **Data available offline** section, select **Add table**.
119120

@@ -139,9 +140,13 @@ Keep in mind, that you can have 15 related tables in a custom filter. You can al
139140
If your Power Apps account doesn't have admin rights, you can still create a mobile offline profile. Coming soon, you'll be able to create an offline profile directly in Power Apps Studio. Until then, use this workaround.
140141

141142
1. Create a model-driven app in your test environment that uses the same tables as your canvas app.
143+
142144
2. [Set up the model-driven app for offline use](setup-mobile-offline.md).
145+
143146
3. [Generate a default profile](setup-mobile-offline.md#generate-a-default-profile) and [add tables with filters](setup-mobile-offline.md#add-a-table-to-an-offline-profile-and-apply-filters).
147+
144148
4. Publish the model-driven app.
149+
145150
5. Select the offline profile in your canvas app.
146151

147152
## Using the Offline template and offline status icon
@@ -192,17 +197,19 @@ Host.OfflineEnabled
192197

193198
## Export a solution that contains a canvas app enabled for offline
194199

195-
When you export a solution with an offline canvas app, you also need export the offline profile for the app, as it is a dependency of the app.
200+
When you export a solution with an offline canvas app, you also need to export the offline profile for the app, as it is a dependency of the app.
196201

197202
1. Sign in to [Power Apps](https://make.powerapps.com) and in the left navigation pane, select **Solutions**.
203+
198204
2. Select the solution that you want to export and then select **Edit**.
205+
199206
3. Select the canvas app that is enabled for offline and then select **Advanced** > **Add required objects**.
200207

201208
Make sure that the associated offline profile is in the solution and then you can export it.
202209

203210
## See also
204211

205212
- [Mobile offline limitations for canvas apps](limitations-canvas-apps.md)
206-
- [Best practices to enable an app for offline](best-practices-offline.md)
213+
- [Best practices for developing an app for offline use](best-practices-offline.md)
207214
- [Optimize the offline profile](mobile-offline-guidelines.md)
208215

powerapps-docs/mobile/canvas-mobile-offline-working.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@ After the initial offline sync, the data that's stored locally is kept in sync w
3232

3333
## Sync status icons
3434

35-
Depending on how the [app was designed](canvas-mobile-offline-setup.md#using-the-offline-template-and-offline-status-icon), it includes information about its synchronization status in the form of a globe with various icons. At a glance, you can tell:
35+
Depending on how the [app was designed](canvas-mobile-offline-setup.md#using-the-offline-template-and-offline-status-icon), it includes information about its synchronization status in the form of a globe with various icons. At a glance, you can tell whether:
3636

37-
- Whether the app is connected to the network
38-
- Whether a data update is in progress
39-
- Whether updated data is waiting to sync
40-
- Whether an error or warning occurred while data was syncing
37+
- The app is connected to the network
38+
- A data update is in progress
39+
- Updated data is waiting to sync
40+
- An error or warning occurred while data was syncing
4141

4242
The following table describes the icons and their meanings.
4343

powerapps-docs/mobile/files-images-offline-canvas-apps.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ The remainder of this article helps you configure on sync.
6565

6666
### Prerequisites - mobile offline profile
6767

68-
To configure the automatic download of files and images on sync, you need to [create a cusotm, mobile offline profile](canvas-mobile-offline-setup.md#create-a-custom-mobile-offline-profile-with-admin-rights) in the Power Platform admin center.
68+
To configure the automatic download of files and images on sync, you need to [create a custom, mobile offline profile](canvas-mobile-offline-setup.md#create-a-custom-mobile-offline-profile-with-admin-rights) in the Power Platform admin center.
6969

7070
### Enable offline access to images and files
7171

0 commit comments

Comments
 (0)