EditLive! 9 Documentation : Managing Crashes

When EditLive! runs out of memory or takes a long time to perform an operation such as paste, the editor aborts and displays the following: 

Restore original document will load the content from when the user started editing in the current session (it loads content from use of setBody() or setDocument() at load time, not any calls to those methods after show()).

New document will wipe the slate clean and present the user with a blank document.

Timeout

To configure the minimum timeout use the MinCrashTimeout property. This property enables the configuration of how long EditLive! will attempt to render a document before timing out and presenting the "Crash Screen" to the author.  Specifically, the MinCrashTimeout property determines the amount of time to wait for individual calls to EditLive!'s rendering engine.  This is very useful for use cases where it's likely large documents will be loaded.  Some content that may fall into this category are long documents imported from Word and complex documents that contain many nested elements like tables and divs. 

The default value for MinCrashTimeout is 10s.  However, this does not mean that after 10s the editor will present the crash screen. This time is actually the amount of time that each individual operation that the editor performs will take. We cannot determine the actual number of operations that will be performed as it depends on the structure of the document.

As a guide, we recommend that users set their MinCrashTimeout to no less than 5s and no more than 40s. Setting the value too low will may cause standard documents to stop loading and present the crash screen. Setting the value too high will reduce the probability of the crash screen being displayed in a timely fashion and may cause the editor to appear to hang for extended periods of time.

Customisation

The property CrashAction allows the crash screen to be customised.

A customised screen looks like this:

Runtime API methods will not work once the editor has crashed. This customisation is designed to allow the developer to manage the situation, for example by redirecting the user to a different page.