...
Extensive changes took place in the internals of the platform to render lots of detail about xaction failures. These details are now exposed in the templated error page mentioned above, but also in the pentaho.log file (as well as your appserver's log file, e.g. catalina.out).
Customizing your Error Page
To customize your error response page, open up the file "viewActionErrorTemplate.html" in your <solutions dir>/system/ui/templates folder. Any time an action sequence fails and a message formatter is applied (this happens in PUC, for example), then the message formatter system will load that template html page and replace all the tokens listed in the next section with the appropriate text. That text may be a label in which case the source of the text is a message properties file, or the text may be actual data pertinent to the error. See the next section for all the tokens that you can use in your template file. NOTE: You are not required to use any tokens at all if you do not wish. The html file you use can be as lean or as rich with messages as you wish; you have full control over the error page.
Catalog of data tokens
These tokens are used in your html error template file.
...
Code Block | ||||
---|---|---|---|---|
| ||||
<html><head><title></title><link rel="stylesheet" type="text/css" href="/pentaho-style/active/default.css"></head> <body> <div id="errorResponse"> <div class="error"> <h1>%ERROR_HEADING%</h1> <div class="summary"> <div class="item"><span class="label">%EXCEPTION_MESSAGES_LABEL%</span><pre>%EXCEPTION_MESSAGES%</pre></div> <div class="item"><span class="label">%ACTION_SEQUENCE_LABEL%</span>%ACTION_SEQUENCE%</div> <div class="item"><span class="label">%ACTION_SEQUENCE_EXECUTION_STACK_LABEL%</span><pre>%ACTION_SEQUENCE_EXECUTION_STACK%</pre></div> <div class="item"><span class="label">%LOOP_INDEX_LABEL%</span>%LOOP_INDEX%</div> <div class="item"><span class="label">%EXCEPTION_TIME_LABEL%</span>%EXCEPTION_TIME%</div> <div class="item"><span class="label">%EXCEPTION_TYPE_LABEL%</span>%EXCEPTION_TYPE%</div> <div class="item"><span class="label">%SESSION_ID_LABEL%</span>%SESSION_ID%</div> <div class="item"><span class="label">%INSTANCE_ID_LABEL%</span>%INSTANCE_ID%</div> <div class="item"><span class="label">%ACTION_CLASS_LABEL%</span>%ACTION_CLASS%</div> <div class="item"><span class="label">%ACTION_DESC_LABEL%</span>%ACTION_DESC%</div> <!-- <div class="item"><span class="label">%STEP_NUM_LABEL%</span>%STEP_NUM%</div> --> </div> <div id="details" class="details"><span class="label">%STACK_TRACE_LABEL%</span><pre class="stackTrace">%STACK_TRACE%<pre></div> </div> </div> <div class="errorResponseFooter">%SERVER_INFO%</div> </body> </html> |
...