Best way to temporarily stop user access to an app for maintenance?

I need to take one of my apps “offline” so that users can’t access it for a few days while I make some revisions that would wreak havoc if they were using it at the time. What is the easiest/best way to remove all end-user access to an app for a brief period of time, then restore it seamlessly? Would the “pause app” feature accomplish this? I’d rather they just couldn’t get into it at all.

Thanks!

0 11 1,233
11 REPLIES 11

Steve
Platinum 4
Platinum 4

That may not even be possible, depending on what you change.

It’s the best available option.

Please elaborate. Of course, the changes may have various effects, I’m simply referring to the users’ ability to access the app itself without any issues.

If you change the structure of your data–add, remove, rename, or reorder columns–users with the old version of the app may not be able to sync changes they’ve made, which could in turn make it very difficult to get that data into your data store at all. You’ll want to encourage your users to sync before your maintenance and again after, and to make no data changes between.

It is true. Would be very cool if we could somehow force the app offline on our end as the app builder.

Pause app does that, I believe.

That makes sense. I’m not making any major structural changes, just revising reports and some of the interface, during which there might be errors or broken bits while I work. That said, I’ve advised all users that the app will be down during this time and not to use it, but I have a few unruly users, so if there’s an opportunity to get in, a few will probably try regardless. There’s a way to have the app put up a message when it starts, correct? I’ll put a reminder up that they could lose data/changes if I can recall where that feature is.

Nope. You can send a broadcast notification, though:

3X_6_8_6884e6ef78f893900943a41ad3569f7ee52de371.png

OR:

3X_4_6_46e54661bfdbecf654778dd47023778f44a0cdf3.png

You could also consider designating a stable version while you work on the new version:

3X_e_5_e59c3f49c3dd763e01bb625b532738a0396822d7.png

See also:

Right, I’ve done the broadcast notification already, and will again. I’m not the “admin” of Appsheet for our company, and I’ve been told by that person that our account does not support versioning.

That said, on an app that the “admin” has created, it always starts off with a splash screen saying “This is an app for blah blah blah” and you have to click OK to proceed to the app each time you launch it. Unfortunately, he is traveling quite a bit so I can’t ask him how he accomplished that.

That’s the About screen. One could modify the text there to include an announcement, I suppose.

3X_d_3_d3207e125dddd3e51a5006b1cdba78cb087ec8ab.png

3X_4_0_406fa7ecf030d77625d12bcbc946cfe53a6f9a3c.png

There’s a couple of ways I would go about doing this:

As Steve mentioned, you could pause the app (preventing anyone from accessing it while it’s down);

Manage>Deploy>Pause app

3X_5_6_562ad8fb96bf32218f2408667c712d2d77ee381f.png


But if you want people to be able to still access and open the app, just not be able to DO anything:

  • You can put a temporary Show If formula of FALSE to all the views within your app
    • This would prevent any views from showing

I would go a step further and add in a splash-screen table;

  • something that contains only a couple of columns (a background image, a header (or title), some text to show… that’s about it) and a single record containing details for each.

    • if you show that in a detail view, it’s like a splash-screen - and you can use that to present information to your users about what’s going on.

If you combine these things together, hiding all your regular views and adding this into the mix, then when people open the app they’ll see this as the only thing to do… and there’s nothing to do there but read what’s on the screen.


To make things easier in the future, I would add in a control into the splash screen table that I could use to switch on maintenance mode or not.

Once you have that in place, you can easily use an INDEX(Table[Column], 1) formula to pull the value from that record and use that to determine whether or not you should show a view or not.

INDEX(Splash_Screen[Maintenance_Mode], 1) = true

If you put those inside your show if formulas for all your views (and the opposite for the splash screen of course ) then you can easily switch between maintenance mode and regular running;

  • and since everyone using the app will get a copy of that splash screen table, they’ll all receive the update about if the app is in maintenance mode or not.

Thanks for the reply. Yes, I was a bit confused because it sounded like “pause app” would still allow access just no sync. It does not allow access, at least on the web interface.

Top Labels in this Space