You can override the exception content being rendered by overriding the following tacos hivemind service points:

tacos.AjaxExceptionPresenter
tacos.AjaxStaleSessionExceptionPresenter

They are defined in the top level hivemodule.xml file bundled with tacos. The interfaces are those of the normal tapestry ExceptionPresenters. Doing that will allow you to provide your own custom html page to be returned.

On 4/27/06, Andreas Andreou <[EMAIL PROTECTED]> wrote:

Chris Norris wrote:

> I guess disabling the popup isn't what I want to do, because I don't
> want that information going to the client, hidden or not.  What would
> be the best way to intercept the tacos.handleException(responseElement)?


For now, simple add
tacos.handleException = function(responseElement) {}
somewhere in your html.

But as you said, it would be nice to:
1) Turn off exception reporting completely
2) Allow customized exception page

Our bugtracker is at
http://tacoscomponents.jot.com/BugReporter/

>
> Eventually it'd be nice to have a configurable exception handling
> scheme.  Should I add a feature request to the sourceforge project?
>
> -Chris
>
> On 4/27/06, *Andreas Andreou* <[EMAIL PROTECTED]
> <mailto: [EMAIL PROTECTED]>> wrote:
>
>     Chris Norris wrote:
>
>     > Hi Andreas,
>     > I have a few questions about your response:
>     > 1) In what version was tacosConfig.popupWhenException fixed?
>
>     actually, i haven't committed this yet...
>     your only chance right now is to add
>     tacosConfig.popupWhenException=false inside <BODY>
>     so that it is after the tacos.js include
>
>     > 2) Can I override the exception presenter in my hivemodule?  I've
>     > tried doing this using the following, but it doesn't seem to do
>     anything:
>     >     <implementation service-id="tacos.AjaxExceptionPresenter">
>     >         <invoke-factory>
>     >             <construct
>     > class=" collective.ui.custom.CustomExceptionPresenter ">
>     >                 <set-object property="exceptionPageName"
>     > value="infrastructure:exceptionPageName"/>
>     >                 <set-object property="requestExceptionReporter"
>     > value="infrastructure:requestExceptionReporter"/>
>     >                 <set-object property="responseRenderer"
>     > value="infrastructure:responseRenderer"/>
>     >             </construct>
>     >         </invoke-factory>
>     >     </implementation>
>     >
>     >
>     > I was confused about that because you say if I want to customize the
>     > exception page, it's in the hivemodule, but then go on to say that
>     > there should be a way to override this setting (implying that there
>     > isn't currently a way to override this setting).
>
>     I just meant that we need to implement this feature :)
>
>     >
>     > I definitely think that allowing tacos users to define the way
>     errors
>     > are handled is very important.  Using CSS to hide the error div is
>     > better than nothing, but still means that I'm giving the user a
>     lot of
>     > information that they shouldn't have.  That div contains a ton
>     of info.
>     >
>     > Thanks again,
>     > Chris
>     >
>     > On 4/27/06, *Andreas Andreou* <[EMAIL PROTECTED]
>     <mailto: [EMAIL PROTECTED]>
>     > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>> wrote:
>     >
>     >     The idea is that you can define tacosConfig the same way as
>     you define
>     >     djConfig.
>     >     So, in my Border i can have
>     >       djConfig = { isDebug: true,
>     >                    baseRelativePath: "js/dojo",
>     >                    preventBackButtonFix: false,
>     >                    parseWidgets: false
>     >                  };
>     >       tacosConfig = {popupWhenException:false};
>     >
>     >     and all of this is rendered within <head>
>     >
>     >     However, tacosConfig.popupWhenException was overriden in
>     tacos.js
>     >     which makes it difficult to use (it's fixed now).
>     >     The other problem is that when
>     tacosConfig.popupWhenException=false
>     >     the exception page is appended to the current page by
>     default, in
>     >     a new div
>     >     with id tacosConfig.defaultExceptionConsoleId (by default
>     this is
>     >     'exceptionId')
>     >     If that div already exists, its contents are overwritten.
>     >
>     >     So, if you want to hide the exception, you can:
>     >     - add a css rule #exceptionId {display:none;}
>     >     - or, add _javascript_ that intercepts the
>     >     tacos.handleException (responseElement)
>     >     function and does other things...
>     >
>     >     If you want to display it, you can do it:
>     >     - in a popup (default behaviour)
>     >     - in a normal div, by adding tacos.popupWhenException=false
>     >
>     >     If you want to customize the exception page, the exception
>     >     presenter is
>     >     defined in
>     >     hivemodule.xml
>     >
>     http://svn.sourceforge.net/viewcvs.cgi/tacos/trunk/src/descriptor/META-INF/hivemodule.xml?view=markup
>     >     and it sets
>     >     tacos:/net/sf/tacos/ajax/pages/AjaxException as the
>     exceptionPageName.
>     >
>     >     I guess we should add a way to override this setting + allow
>     users to
>     >     create their own exception page.
>     >
>     >
>     >     Chris Norris wrote:
>     >
>     >     > Thanks for the reply.  Where in my html should I be adding
>     that?
>     >     >
>     >     > Also, a coworker pointed out the hivemodule.xml for tacos,
>     which
>     >     was
>     >     > in the jar but not in the source zip that I was looking
>     in.  Can I
>     >     > specify the exception presenter that the AjaxDirectLink
>     will use
>     >     in my
>     >     > hivemodule?
>     >     >
>     >     > -Chris
>     >     >
>     >     > On 4/27/06, *Andreas Andreou* < [EMAIL PROTECTED]
>     <mailto: [EMAIL PROTECTED]>
>     >     <mailto: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
>     >     > <mailto: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
>     <mailto:[EMAIL PROTECTED] <mailto: [EMAIL PROTECTED]>>>> wrote:
>     >     >
>     >     >     Add
>     >     >     tacosConfig.popupWhenException = false;
>     >     >     in your html.
>     >     >
>     >     >     Chris Norris wrote:
>     >     >
>     >     >     > I haven't used the Tacos stuff too much, but I'm
>     working
>     >     on a bug
>     >     >     > related to the AjaxDirectLink right now.  The problem is
>     >     that if an
>     >     >     > exception gets thrown, then this big ugly floating
>     div/window
>     >     >     pops up
>     >     >     > and displays way too much information that the user
>     >     shouldn't be
>     >     >     > seeing.  I looked into the AjaxDirectServiceImpl
>     class and
>     >     see
>     >     >     that it
>     >     >     > looks like the exception presenters are
>     >     injectable.  Great!  But
>     >     >     where
>     >     >     > do I do it?  I was expecting some hivemind-ish type of
>     >     >     configuration,
>     >     >     > but there don't seem to be many xml files in the
>     project and
>     >     >     none of
>     >     >     > them seem to wire this stuff up.
>     >     >     >
>     >     >     > We already have a pretty nice error handling thing
>     going
>     >     on with our
>     >     >     > tapestry stuff, and I'd like to use that here,
>     too.  If I
>     >     can't do
>     >     >     > that, I'd like to at least just display a simple message
>     >     rather
>     >     >     than
>     >     >     > this big huge page.
>     >     >     >
>     >     >     > Thanks!
>     >     >     >
>     >     >     > -Chris
>     >     >
>     >     >
>     >     >
>     >     >     -------------------------------------------------------
>     >     >     Using Tomcat but need to do more? Need to support web
>     services,
>     >     >     security?
>     >     >     Get stuff done quickly with pre-integrated technology to
>     >     make your
>     >     >     job easier
>     >     >     Download IBM WebSphere Application Server v.1.0.1 based on
>     >     Apache
>     >     >     Geronimo
>     >     >
>     >
>     http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
>     <http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 >
>     >
>     <http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
>     <http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642>>
>     >     >     <
>     >
>     http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
>     < http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642>
>     >
>     < http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
>     < http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642>>>
>     >     >     _______________________________________________
>     >     >     Tacos-devel mailing list
>     >     >     [email protected]
>     <mailto:[email protected] >
>     >     <mailto: [email protected]
>     <mailto:[email protected] >>
>     >     >     <mailto:[email protected]
>     <mailto:[email protected] >
>     >     <mailto: [email protected]
>     <mailto:[email protected] >>>
>     >     >     https://lists.sourceforge.net/lists/listinfo/tacos-devel
>     >     >
>     >     >
>     >
>     >
>     >     -------------------------------------------------------
>     >     Using Tomcat but need to do more? Need to support web services,
>     >     security?
>     >     Get stuff done quickly with pre-integrated technology to
>     make your
>     >     job easier
>     >     Download IBM WebSphere Application Server v.1.0.1 based on
>     Apache
>     >     Geronimo
>     >
>     http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
>     <http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642>
>     >
>     <http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
>     < http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642>>
>     >     _______________________________________________
>     >     Tacos-devel mailing list
>     >     [email protected]
>     <mailto:[email protected]>
>     >     <mailto: [email protected]
>     <mailto:[email protected]>>
>     >     https://lists.sourceforge.net/lists/listinfo/tacos-devel
>     <https://lists.sourceforge.net/lists/listinfo/tacos-devel >
>     >
>     >
>
>
>     -------------------------------------------------------
>     Using Tomcat but need to do more? Need to support web services,
>     security?
>     Get stuff done quickly with pre-integrated technology to make your
>     job easier
>     Download IBM WebSphere Application Server v.1.0.1 based on Apache
>     Geronimo
>     http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
>     <http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 >
>     _______________________________________________
>     Tacos-devel mailing list
>     [email protected]
>     <mailto: [email protected]>
>     https://lists.sourceforge.net/lists/listinfo/tacos-devel
>
>


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Tacos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tacos-devel



--
Jesse Kuhnert
Tacos/Tapestry, team member/developer

Open source based consulting work centered around dojo/tapestry/tacos/hivemind.

Reply via email to