"Under Maintenance" mode for Knack app

As a Builder, I would like to have a "Under Maintenance" mode so that users cannot access the Live App while they are making certain types of changes. When this status is enabled, this feature should force log off for users who are logged in and provide a customizable message that is displayed to Live App users.

It would also be helpful if this feature would allow for this status to be scheduled and provide a pre-notification message such as "There will be a maintenance period on Sunday from 2am - 4am CDT and the app will not be available at that time. We apologize for the inconvenience."

This is a must for corporate development, particularly for global deployment

I would use this feature a lot. Excellent idea.

@KnackSupport and @Jessie
Would love this feature. Is it being considered any time soon?

1 Like

Hi @Arjun, thanks for the bump here! We’ve talked about different states that an app could be in, and certainly see the utility here. I don’t have any status to share on this feature request at this time.

I do want to use this opportunity to make sure everyone is aware of two options (while realizing these are not a true solution).

IP Blocking

From your app settings, you can block IPs to shut down your app for end users of the live app. If there is an emergency situation and you need to lock your app down ASAP, this will give you that functionality.


If you still need access to your app at this time, just swap out the 000.000.0.00 with your own IP in order to keep working on it.

This will result in a confusing message. I’m unsure if this message can be customized using custom code. This is what the live app page will show:
image

Note this security setting is available on Pro and above plans.

Page Rules

This will require more work and may be difficult depending on how many pages and existing page rules your app has, but you could hide views, add a message, or redirect all traffic to a “Maintenance” Page that you design. More on Page Rules here. And here’s a screenshot of how what those page rules options would look like in the builder:

or
image

Hope that helps someone in the meantime!

1 Like

@Jessie thanks for the suggestions.

I was giving this some thought and I came up with the following solution. I set up a view that basically says something like “This app is under development.” and added the following code to the backend:

$(document).on('knack-scene-render.any', function (event, scene) {
    if (scene.key !== "scene_xxx") {
        window.location.hash="development-page";
    }
});