cancel
Showing results for 
Search instead for 
Did you mean: 
Reply

Disable app/hide dataset in gallery for a few minutes on a schedule?

I have an app accessing SharePoint list data in gallery view. This app has buttons that will kick off patches and flows.

 

Everyday at roughly 12:02pm a flow will kick off from a report update and update the base data in this app.

 

Flow then deletes all items in the list and replaces with a new set of items based off the new report. Whilst this is happening there is about 1-2minutes (depending on the amount of data) where the user may see an incomplete set of data which could cause some confusion or they may try to kick off something using data that has been cleared or is no longer valid.

 

Is there any functionality you can think of in Powerapps to do one of the following (in order of preference):

 

  1. Disable the app everyday from 12:02pm until 12:05pm with some sort of UI message to the user
  2. The above without a message to the user
  3. From 12:02pm until 12:05pm hide the dataset from the view (not sure if putting it in the 'Items' property will necessarily work if the user hasn't triggered a refresh)

Thanks in advance

1 ACCEPTED SOLUTION

Accepted Solutions

OK, so here's the solution I have implemented with success.

 

Flow now triggers a list item to indicate the data refresh is in progressing by updating it's "Running" Boolean field to be true. (this also has some other benefits as I was having issues with flows being initiated twice by local to one drive syncing so I can use the same field to stop second instances). Obviously at the end of the data refresh flow this field returns to false.

 

I have a text input box covering the entire app with display mode as view, the text with a standard message (see screenshot) and in Visible the following code

 

If(LookUp(FlowRunning,ID="1",Running)=true,true,false)

 

Where FlowRunning is my SharePoint list and 1 being the ID of the relevant item.

 

Then to handle the auto refreshing so I have a timer with Visible set to false, Duration set to 3000ms, Repeat on, Auto start on, Auto pause on and OnTimerEnd set to "Refresh(FlowRunning)"

 

Seems to work fine so far. Thanks all for your help

 

Capture2.PNG

View solution in original post

6 REPLIES 6
PeteMc
Resolver I
Resolver I

You could add code to the onstart property to check the time and transfer the user to a information page that has no navigation features. Then add an onstart timer that checks the time every minute and then also transfers user who are already running the app to the same page. On this page you have an onvisible timer that will then return the user to where they originally were (And refresh datasets).

Anonymous
Not applicable

Is the PowerApp directly accessing the SharePoint list via the connector in PowerApps or is it calling a Flow to get the data?

 

  • If the list, then perhaps have the Flow set some value somewhere else - another sharepoint list, availability/inavailability of a file (a "lock file" is one wya to look at it), etc to indicate that the Flow is doing its job and the data is unavailable (perhaps even giving an estimate to when it will be).  

    The Flow when it starts updating, sets this value, and when its totally complete clears it.  

    The PowerApp checks this value PRIOR to trying to load the data.  If its set, it knows to wait or return and error for the user to try later.  If its not set it reads it.

    In this way you're not dependent on ensuring that the times are in sync - ie: rescheduling the time the Flow runs has no bearing on whether or not this would work.

  • If the latter, then the Flow could check this value (wherever it is) and instead of returning the data return an error that it is currently unavailable.

Hope this helps!


Brian

 

Hi @mnmsymmons,
I took a different approach using two timer controls and two textinput boxes. Timer1 will control the clock and   Timer2 will  block the screen and prevent the user from working on the app while the data update is done.  Textinput1 will be an onscreen clock showing the current time.  Textinput2 will set the time to block the screen while the data update is done.  The following are the settings for the controls.
Timer1 properties
Duration- 1000
Repeat- true
AutoStart- true
AutoPause- true
OnTimerEnd- UpdateContext({textbox1:Text(Now(),"[$-en-US] hh:mm:ss")})
OnTimerStart-false
Visible- false
TextInput1// (This is the Clock, shows current time in hrs:Min:Sec)
 Default- "Current time " &textbox1
Textinput2 (trigger for starting Timer2
Default- "12:00:00"
DisplayMode- View
Timer2
Adjust size to cover most of the screen.
Autostart- false
Repeat- false
Text- "App paused for data update.  Returning in  " & Text(Time(0, 0, (Timer1.Duration-Timer1.Value)/1000), "[$-en-US]mm:ss")
Duration- 280000
AutoPause- true
DisplayMode- View
OnTimerEnd- UpdateContext({show:false})
Start- textbox1-Textinput2.Text=0;UpdateContext({show:true})
Visible- show
Explanation:  When the screen becomes visible, Timer1 starts (AutoStart).  The clock (Textinput1) will show current time in Hr:,Min:Sec and update every second (Duration-1000). It will autopause if the user navigates away from the screen. Timer2 will become visible when the two textboxes are equal and starts a countdown.  The Text property of Timer2 shows the countdown and lets the user know how long it will be before the data update is complete  Timer2 covers the screen controls and keeps the user from accessing them.  Timer2 will start when the two Textinput boxes are equal (textInput2=current time).  The duration of the countdown is 280000 milliseconds or 3 minutes.  This can be adjusted for the length of time it takes for the data update to complete. At the end of the countdown, the Context variable, "show" becomes false and Timer2 is hidden until the next time the two TextInput controls become equal.  Pretty nifty if I do say so myself.

Thank you @PeteMc @Anonymous & @Drrickryp for your great suggestions. Wasn't expecting so many options and detail!

 

I think I will try a hybrid of the SharePoint List holding the "lock file" info by including an update in the start and end of my Flows and then utilise the textbox to hide all user controls. I will use a timer to periodically refresh this Lock File list.

 

Taking the disabling of the app from one suggestion and the switching to an actual update time as opposed to a conservative 3mins when it could be a lot less at times.

 

I'm even tempted to update a % value in the lock file list and show % complete during the update but that's more for being nifty then actually needing it! 

 

I'll confirm solution once I get working

 

Thanks

v-xida-msft
Community Support
Community Support

Hi @mnmsymmons,

Do you want to disable your app from 12:02 pm to 12:05 pm everyday?

 

I agree with @PeteMc's thought almost. Currently, within PowerApps, there is no direct way to disable an app, as an alternative solution, you could consider navigate the end user to a Non-functionality screen within your app.

When the app is started up, check if the current time is between 12:02 pm and 12:05 pm, if yes, navigate to the Non-functionality screen within your app.

I have made a test on my side, please take a try with the following workaround:

Set the OnStart property or OnVisible of the first screen of your app to following formula:

 

If(
Now()>=Today()+Time(12,2,0)&&Now()<=Today()+Time(12,5,0),
Navigate(Non-Functionality screen,ScreenTransition.Cover)
)

Within the Non-functionality screen, add a Timer control, set the Duration to following:

 

 

1000

Set the AutoStart property and Repeat property to following:

 

 

true

Set the OnTimerEnd property to following:

If(
Now()<Today()+Time(12,2,0) || Now()>Today()+Time(12,5,0),
Navigate(MainScreen,ScreenTransition.Fade)
)

Set the Visible property to following:

false

 

Best regards,

Kris

 

Community Support Team _ Kris Dai
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

OK, so here's the solution I have implemented with success.

 

Flow now triggers a list item to indicate the data refresh is in progressing by updating it's "Running" Boolean field to be true. (this also has some other benefits as I was having issues with flows being initiated twice by local to one drive syncing so I can use the same field to stop second instances). Obviously at the end of the data refresh flow this field returns to false.

 

I have a text input box covering the entire app with display mode as view, the text with a standard message (see screenshot) and in Visible the following code

 

If(LookUp(FlowRunning,ID="1",Running)=true,true,false)

 

Where FlowRunning is my SharePoint list and 1 being the ID of the relevant item.

 

Then to handle the auto refreshing so I have a timer with Visible set to false, Duration set to 3000ms, Repeat on, Auto start on, Auto pause on and OnTimerEnd set to "Refresh(FlowRunning)"

 

Seems to work fine so far. Thanks all for your help

 

Capture2.PNG

Helpful resources

Announcements

Community will be READ ONLY July 16th, 5p PDT -July 22nd

Dear Community Members,   We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd.   During this period, members will not be able to Kudo, Comment, or Reply to any posts.   On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities.   What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!

Summer of Solutions | Week 4 Results | Winners will be posted on July 24th

We are excited to announce the Summer of Solutions Challenge!   This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions in the Forums to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**   Week 1 Results: Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Community MembersNumber of SolutionsSuper UsersNumber of Solutions @anandm08  23 @WarrenBelz  31 @DBO_DV  10 @Amik  19 AmínAA 6 @mmbr1606  12 @rzuber  4 @happyume  7 @Giraldoj  3@ANB 6 (tie)   @SpongYe  6 (tie)     Week 2 Results: Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Community MembersSolutionsSuper UsersSolutions @anandm08  10@WarrenBelz 25 @DBO_DV  6@mmbr1606 14 @AmínAA 4 @Amik  12 @royg  3 @ANB  10 @AllanDeCastro  2 @SunilPashikanti  5 @Michaelfp  2 @FLMike  5 @eduardo_izzo  2   Meekou 2   @rzuber  2   @Velegandla  2     @PowerPlatform-P  2   @Micaiah  2     Week 3 Results: Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Week 3:Community MembersSolutionsSuper UsersSolutionsPower Apps anandm0861WarrenBelz86DBO_DV25Amik66Michaelfp13mmbr160647Giraldoj13FLMike31AmínAA13SpongYe27     Week 4 Results: Congratulations to the Week 4 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Week 4:Community MembersSolutionsSuper UsersSolutionsPower Apps DBO-DV21WarranBelz26Giraldoj7mmbr160618Muzammmil_0695067Amik14samfawzi_acml6FLMike12tzuber6ANB8   SunilPashikanti8

Check Out | 2024 Release Wave 2 Plans for Microsoft Dynamics 365 and Microsoft Power Platform

On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners.    The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights.    Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.    

Updates to Transitions in the Power Platform Communities

We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for.  We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer.   Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together.   Here's to new beginnings and endless possibilities!   If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport.   To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages