Skip to main content

The smallest feature

Headshot of article author Greg Lindhorst

This has to be one of the smallest features ever shipped.  We’ve modified the behavior of one character, and it is a small character at that.  But I think you will agree that it will have a major impact on your work. See if you can spot the difference.  Last week: This week: Did you…

» Leia mais

Delegation enhancements for lookups, Today/Now, and AddColumns

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…

» Leia mais

Display names and GUIDs for Canvas apps graduate

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…

» Leia mais

International region updates for Canvas apps

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…

» Leia mais

Relate records in Many-to-Many relationships

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…

» Leia mais

SaveData and LoadData Unleashed

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…

» Leia mais

More Regular Expressions for Canvas apps

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…

» Leia mais

Converting the Shoutouts template to SQL Server

Headshot of article author Carlos Figueira

App templates in PowerApps are a great way to jump start the creation of an app that can be deployed in your tenant. Those templates create a polished, finished app, and in many cases it creates an Excel file so that the app can be used right away – and in most scenarios the app…

» Leia mais

New CDS capabilities for Canvas apps enter Preview

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…

» Leia mais

Delegation of Aggregate functions for CDS

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…

» Leia mais