cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Wauters
Advocate I
Advocate I

Hide Canvas App from Power Apps player as it's only usefull in embedded context

We have developed quite a few Canvas Apps which are all embedded in a model driven app. Running the Canvas App outside of the context of the model driven app does not make sense in our scenario. We would thus like to hide the Canvas App from the Power Apps player, the office portal, etc. Just like you have the ability to "mark an app as hero" we would like to the opposite, "hide" the app.

 

It seems that the Canvas App entity in Dataverse has a property "Is Hidden" which might seem exactly for our purpose. See docs. However I am not sure if it is supported to change the value using the API? Unlike the "mark as hero", there is no PowerShell command available.

 

Side-question: would changing the value of the property "IsHeroApp" in Dataverse be supported/sufficient? Or always need to go via Power Apps admin API/PowerShell?

 

Anyone has any experience or guidance?

 

Thanks!

 

 

3 REPLIES 3
slemale
Advocate I
Advocate I

Hi Wauters,

 

I am also interested in this functionality. Did you find a way to hide embedded canvas from Power Apps mobile ?

Here is the posted idea : https://powerusers.microsoft.com/t5/Power-Apps-Ideas/Hide-embedded-canvas-app-in-Power-Apps-mobile/i...

If you'd like to vote.

Thanks.

 

Sébastien.

Wauters
Advocate I
Advocate I

No, we haven't looked further into this one yet. I was hoping for some guidance from the community.

Anyway, I've upvoted your idea.

We have a number of apps that are designed to only be launched from a model app  (none of them are embeded on a model app form).  All run inside the model app or the open a new browser tab. Since canvas apps, when launched via player, have no context to the host dataverse/CDS environment they are installed into they are unusable (broken?) apps by default.   By launching them from a model app you can provide the needed Dataverse info context to the canvas app.

 

Since there is no way to stop someone from launching the app via the player, you might consider this:

 

1. Add a screen to your app that says it can't be launched from the player.  Without navigation, they can't get to any other part of the app.

2. When launched by the player, the URL will have a param called "source" and it is set to "portal".

In your App OnStart code, get the param and check it for portal. If found, force the screen navigation to your bad launch page.

 

Here is a code example from our D365 event registration canvas app with a screenshot:

 

/// In start up of app, check URL for param of where it was launched from
Set(_evxThisAppSource, Lower(Param("source")));

 

//// SET STARTING SCREEN
Set(_evxGoToStartScreen, If(!IsBlank(_evxThisAppSource), _evxThisAppSource, _evxThisAppStartScreen) );

Switch( _evxGoToStartScreen ,
"businessappdiscovery", Navigate('Failed Launch Screen', ScreenTransition.None),
"portal", Navigate('Failed Launch Screen', ScreenTransition.None),

Navigate('Registration Screen',ScreenTransition.None)
);

 

Hopefully this will give you some ideas.

Fun Fun!

-Art

Helpful resources

Announcements
PA User Group

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group

MBAS Attendee Badge

Claim Your Badge & Digital Swag!

Check out how to claim yours today!

secondImage

Are Your Ready?

Test your skills now with the Cloud Skill Challenge.

secondImage

Demo Extravaganza is Back!

We are excited to announce that Demo Extravaganza for 2021 has started!

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

Users online (44,715)