Child pages
  • Maintenance Mode

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Advanced Features Related to Solution Import from Servoy Admin Page

During solution import from the Servoy Admin Page, modules with certain name patterns are handled in a special way. Modules whose names start with "before_import" are handled as pre-import hooks. Their onOpen event handlers are executed before the solution is actually imported. Similarly, modules whose names start with "after_import" are handled as post-import hooks. Their onOpen event handles are executed after the solution is actually imported.

If you have several modules that start with "before_import" or "after_import", they will be all handled in this way, but no handling order is guaranteed. It is recommended that you have at most one pre-import and at most one post-import hook in your exported solutions.

While the onOpen event handlers of pre-import and post-import hooks are being executed, any output printed with application.output will be redirected to the import log, which you can see in the Servoy Admin Page.

A simple example

Suppose you have a solution called "import_sample_01", with two modules called "before_import_01" and "after_import_01". The "before_import_01" module has the following onOpen event handler:

{{function onBeforeImportSolutionOpen()
{
application.output("Method executed before solution import.");
}}}

The "after_import_01" module has the following onOpen event handler:

{{function onAfterImportSolutionOpen()
{
application.output("Method executed after solution import.");
}}}

If you export this solution together with its two modules, and then you import it throught the Servoy Admin Page, in the import log you should see the lines

{{info Executing pre-import hook module 'before_import_01'.
info Method executed before solution import.}}

before any message related to the actual solution import, and also you should see the lines

{{info Executing post-import hook module 'after_import_01'.
info Method executed after solution import.}}

after all messages related to the actual solution importThe Servoy Application Server can be set into the so-called 'Maintenance mode'. When in maintenance mode, no new clients can connect to the Servoy Application Server.

The Servoy Application Server can be put into maintenance mode manually through the 'Enter Maintenance Mode' button on the Servoy Server Home page of the Servoy Admin page or programatically using the maintenance plugin inside an solution import hook.

Maintenance mode can be used when performing maintenance on the Servoy Application Server, like importing new solutions. While solutions can be imported and activated without going into maintenance mode first, when the nature of the changes would mean that existing and/or new clients might go into error, for example due to removing tables, the maintenance mode can prevent new clients connecting.

After the Servoy Application Server has been put in maintenance mode, existing clients can be disconnected, either through the Servoy Admin page or programatically through the Maintenance plugin.

See the Maintenance plugin for more information.