Skip to main content
Headshot of article author Greg Lindhorst

I’m happy to announce we’ve made another batch of delegation enhancements for Canvas apps. Delegation refers to an app’s ability to “delegate” work to the data source instead of doing it locally, resulting in more scalable and higher performance apps.  In short, Delegation = Good.  For more details see Understand delegation in a canvas app. We […]

» Mehr dazu lesen
Headshot of article author Greg Lindhorst

Last fall we introduced display names and GUIDs for Canvas apps as Preview features.  Both have been well received with very few issues and very few authors turning these features off.  With our latest release (3.19032) these features are now permanent. To refresh your memory, display names allow the use of friendly names such as […]

» Mehr dazu lesen
Headshot of article author Greg Lindhorst

If you live in Mexico or the United Kingdom you may have noticed that Canvas apps don’t quite get the international settings right.   We have lacked a consistent map of languages and regions across the Studio, the web player, and the mobile players. With the release coming next week (v3.19032) we have fixed this.  As […]

» Mehr dazu lesen
Headshot of article author Greg Lindhorst

Canvas app authors have new tools for working with Common Data Service for Apps relationships: Relate and Unrelate functions. Many-to-Many relationships Since December, you have been able to read Many-to-Many relationships using the experimental and then preview CDS connector.  But it has been impossible to relate or unrelate two records and the join table is […]

» Mehr dazu lesen
Headshot of article author Greg Lindhorst

Some big news!   Or at least much bigger news. Canvas app SaveData and LoadData functions are now only limited by the amount of available app memory and local storage on a device.  The previous limit of a few megabytes no longer applies.   This is a huge improvement that will increase the stability of any app that […]

» Mehr dazu lesen
Headshot of article author Greg Lindhorst

For regular readers of this blog, you may recall a blog post by Carlos Figueira on working with SQL server time values.  In it, Carlos used the Mid, Find, Substitute, and other functions to parse an ISO 8601 duration string such as “PT2H1M39S” which represents 2 hours, 1 minute, and 39 seconds. Carlos’ solution works great […]

» Mehr dazu lesen
Headshot of article author Greg Lindhorst

For the last few months we have been rolling out new features for Canvas apps when connected to the Common Data Service for Apps: One-to-Many relationships Option sets Many-to-Many relationships Aggregate delegation We have been doing this work under an Experimental switch, off by default for all apps: Thank you for playing with these features and […]

» Mehr dazu lesen
Headshot of article author Greg Lindhorst

Sum, Min, Max, and Average functions in Canvas apps are aggregate functions that can reduce a large amount of data down to a single value.   For example, Average could be used to find the average age of a class of students using Average( Students, Age ). These functions can also be used with the Filter function […]

» Mehr dazu lesen
Headshot of article author Greg Lindhorst

We continue to expand our Canvas support for the Common Data Service for Apps, on the road to CDS + Canvas = Awesome. With this installment we have refined how Option Sets and Two Option data types work and have added support for Many-to-Many relationships. These features are available now with the CDS Experimental Connector. …

» Mehr dazu lesen
Headshot of article author Greg Lindhorst

For those who work with primary and foreign keys on CDS and SQL Server, we have added GUID as a first class data type. Although not common, you may want to beat the rush and start updating any formulas that use literal GUID strings.

» Mehr dazu lesen