Announcing the general availability of embedded canvas apps in model-driven forms
We are excited to announce that embedding canvas apps in model-driven forms is out of preview and available for general use. Late last year, we had announced the public preview of embedded canvas apps in model-driven forms. Since then many of you have actively used embedded canvas apps to solve a variety of business problems and worked closely with us to improve and enhance it. Thank you!
The latest update includes a number of great features added based on your feedback.
- Streamlined authoring
- Simplified access to the host model-driven form record
- Support for tablet and custom screen sizes
- Custom actions when host model-driven form saves data
- Improved integration with the Common Data Service connector
- Displaying data using the canvas app form controls
Embedded canvas apps in model-driven forms enable makers to use WYSIWYG, low-code customization to easily design and create rich visual components on model-driven forms. They also provide rich data integration capabilities helping makers quickly connect and display contextual data from over 230+ cloud services right next to data from the Common Data Service.
With embedded canvas apps in model-driven forms makers are able to create and embed rich, contextual, custom components on model-driven forms with just a few clicks. Using the canvas app designer, makers can easily design and create visual layouts as well as bring in and display data from a variety of external services.
New features in this release
In the preview release, to embed a canvas app on a model-driven form, makers had to decide up front if they wanted to pass the current (main form) record as data context or a list of records related to the current (main form) record. They then had to add the canvas app control to either the field or sub-grid control. Editing embedded canvas apps also worked best when the canvas app was opened for authoring via the host model-driven form.
With the latest release, adding an embedded canvas app on a model-driven form is streamlined to the field only. Makers can easily access the list of related records directly in the canvas app using the Common Data Service connector and Filter function. Recent updates also provide support to use entity views as a filter. Additionally, opening embedded canvas apps directly for editing (not via the host model-driven form) now provides the same great experience as any other canvas app.
Please refer to these topics for detailed instructions:
Simplified access to the host model-driven form record
In the preview release, to access the host model-driven form record, makers used the ModelDrivenFormIntegration.Data property. Additionally since that was a list of records makers had to use the First function and access the record as First(ModelDrivenFormIntegration.Data).
With the latest update, accessing the host model-driven form record is simplified and directly available via the ModelDrivenFormIntegration.Item property.
Support for tablet and custom screen sizes
Embedded canvas apps in the preview release were restricted to the phone screen size and portrait orientation.
With the latest update, makers now have full control over the size and orientation of the embedded canvas app. They can pick from the list of standard screen sizes, switch from portrait orientation to landscape and even use a custom screen size and specify the exact width and height that meets their needs.
For step-by-step instructions please see: Customize the screen size and orientation of a canvas app embedded on a model-driven form.
Custom actions when host model-driven form saves data
Until now embedded canvas apps automatically refreshed when the host model-driven form saved data. However, makers were not able to take custom actions like setting variables when the host model-driven form saved data.
Our latest update now provides a OnDataRefresh property on the ModelDrivenFormIntegration control. This enables makers to write a custom formula that will get evaluated each time the host model-driven form saves data. Additionally, embedded canvas apps already have the ability to navigate, refresh and save the host model-driven form. Together these enable a rich integrated experience.
Improved integration with the Common Data Service connector
Embedded canvas apps now automatically add a data source for the entity of the host model-driven form using the Common Data Service connector. This enables makers to write data as well as take full advantage of all the features offered by Common Data Service connector such as relational data, access to metadata (example: field display names) and more.
Displaying data using the canvas app form controls
In the preview release, the data coming in via the ModelDrivenFormIntegration control could not be used directly with the canvas app Display and Edit form controls.
With the latest release, makers can set the Item property of the canvas app Display and Edit form controls to ModelDrivenFormIntegration.Item and display data.
Migrating from the preview release
We recommend that you migrate all embedded canvas apps on model-driven forms created using the public preview release to new embedded canvas apps created using the latest release to take advantage of all these new features. Support for embedded canvas apps on model-driven forms created using the public preview release will soon be deprecated.
For detailed step-by-step instructions on migrating please see: Migrating embedded canvas apps on model-driven forms created using the public preview release to latest.
IMPORTANT: As of writing this blog post, the update is available in some regions and rolling out to others per the following schedule.
- Already available – Canada, India, Japan and South America.
- Available June 28th – Asia-Pacific, Oceania and United Kingdom.
- Available July 5th – EMEA
- Available July 13th – North America.
To help makers get started quickly and be successful we have lots of documentation on all the features as well as guidelines and troubleshooting tips available here: Embed a canvas app on a model-driven form. Remember to check out all the related sub-topics.
To all our makers that are already building embedded canvas apps on model-driven forms, thank you! We hope you find these features and updates helpful in creating even better end-user experiences.
For those of you waiting on the sidelines, try embedded canvas app on model-driven forms. We promise you and your end-users will be delighted.