On Thu, Mar 15, 2012 at 9:23 AM, Vincent Massol <[email protected]> wrote:
> Hi devs,
>
> I see that in several pages we have a use the following:
>
> {{error}}
> $error.message
> {{/error}}
>
> Where error is an Exception returned by a script service.
>
> This is done in the Scheduler, in the Extension Manager and in the my new IRC 
> Bot application.
>
> The problem is that this will only show the message but not the full stack 
> trace which contains the real problem…
>
> So here's what I propose:
>
> 1) Create an internal helper WrappingTextBlockGenerator.generate() class (I'd 
> locate it in the Macro Transformation module for lack of a better place, see 
> point 4 below) and method which returns the XDOM Blocks to do this. Namely 
> two divs with the proper "class" set.
> 2) Introduce a VelocityTool to help deal with Exceptions. I propose to make 
> ExceptionUtils from commons-lang available as a Velocity Tool: 
> http://commons.apache.org/lang/api/org/apache/commons/lang3/exception/ExceptionUtils.html
> 3) Modify the Message Macro to support the feature of displaying only the 
> first line of text and hiding subsequent lines and when the user clicks on 
> the text, the rest unrolls.

A "Show details" link/button would be more explicit. Or you mean to
have a visual clue there is more text somewhere ?

Jerome.

>I propose to do this by introducing a new "format" parameter that you would 
>use like this: {{info|warning|error 
>format="compact|normal"}}….{{/info|warning|error}}. By default format would be 
>"normal" which means everything displayed. This feature would use 
>WrappingTextBlockGenerator.generate for the implementation.
> 4) Update MacroTransformation.generateError() to use 
> WrappingTextBlockGenerator.generate
> 5) Modify Scheduler, Extension Manager, IRC Bot application to use this new 
> feature.
>
> For example for the IRC Bot application:
>
> #set ($error = $botManager.getLastError())
> #if ("$!error" != "")
>  {{error format="compact"}}
>    $error.message
>    $exceptiontool.getMessage($error)
>  {{/error}}
> #end
>
> WWDYT?
>
> Thanks
> -Vincent
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs



-- 
Jérôme Velociter
Winesquare
http://www.winesquare.net/
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to