Maintenance Mode

Why do you need the maintenance mode?

Maintenance mode allows to set the IFE app into a state where all requests (except for requests to the IFE admin UI) are blocked with a 503 status and redirected to a specific maintenance page that you can set up.

This happens in the web server layer (nginx), so the app server is shielded from public requests while in maintenance mode.

How to prepare the maintenance mode

Prepare Pages and Contents

You must create a new content designated to be the maintenance page (type: widget, mime-type text/html). To be able to find your newly created content from the maintenance mode interface, make sure it contains the keyword "maintenance", e.g. rhino.integration.static.maintenance.

This content should be static content.

You can include a file with the macro syntax by name:

<img src="#{maintenance.png}">

It will be copied to the appropriate spot to be found when the server is in maintenance mode.

Prerender the contents

Within IFE, go to "System" -> "Maintenance". There, enter the path to the content that you have previously created and click the save icon on the right.

Generate and test/preview the maintenance page.

This will save the content and copy all included files to the public maintenance folder within the webroot ('/maintenance')

Activate the maintenance mode

After you have sucessfully linked, generated and tested your maintenance page, you may activate the maintenance mode for the server.

Within IFE, go to "System" -> "Maintenance":

Server in maintenance mode - what does it imply?

All requests that are not resolved to a static resource are being redirected to the maintenance page.

No requests besides requests to the IFE admin UI are let through to the app servers.

Deactivate maintenance mode

To take the server back to live mode, simply go to "System" -> "Maintenance", click "Live Mode" and apply your changes.

Simple Example of a maintenance page with an image

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta http-equiv="X-UA-Compatible" content="ie=edge">
	<title>Site currently under maintenance</title>
  </head>
  <body>
	<div class="container">
	  <div class="row">
	    <div class="col-xs-6 push-xs-3">
	      <div class="center">
			<img src="#{maintenance.png}">
			  <span>
				<h1 class="mntncetxt">Maintenance</h1>
			  </span>
			  <hr><br>
			  <h2>Dear customer,</h2>
			  <p>
				we are currently performing maintenance for this site. We should be back shortly.<br>
				Thank you for your patience!
			 </p>
		  </div>
        </div>
      </div>
    </div>
  </body>
</html>