----- Original Message ----- From: "Stefano Mazzocchi" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, December 05, 2001 12:08 AM Subject: Re: [VOTE] directly setting variables in sitemap
> [people, please remove the text that is not relevant to your reply, that > both reduces load on the apache machines (which costs!) and improves > readability. Thanks] Ok :-) > Sylvain Wallez wrote: > > > > Sure, it would be useful for us, but how useful would it be for our > > > users in the longer term? > > > > The main benefit is this will allow us to propose our users more > > appropriate and specialized error screens instead of the current Cocoon > > "blue screen of death" (hey, this is also "sharing microsoft experience" > > :) which is developper oriented (class names, stack traces, etc) and is > > really frightening for the average user. > > Uh? well, that's why you have it generated as an XML file, so you can > transform it to make it more friendly for your system. You can even add > different error handlers to the different pipelines to customize this. > > > To be more precise, I use an "ExplainableException" (child of > > RuntimeException) which is raised when the system detects it can't > > perform the required operation, but is able to explain why (a kind of > > auto-FAQ) and can be rendered in XML (it is XMLizable). > > Hey, I'd say: let's make "all" of our exceptions like that since I have > troubles myself in getting information out of those mile-long recursive > stack traces (which sometimes are totally meaningless!) Correct. Notificable was intended to work this way in the first place. > > Triggering > > pipelines through exception types (or their symbolic name) would allow > > to have nice explanation pages for ExplainableExceptions while keeping > > the death screen for other exceptions. > > I hate that 'death' page as much as you do, believe me, but more than > ever I hate exceptions with don't provide any real information (like the > infamous NullPointerException without the line that triggered it!) Incredibly, this was the "itch" that made me start the Notifier in the first place! At first it was ok, but then things evolved around it and now it's time to put things right. > Let me tell you: instead of modifying the sitemap, we must make Cocoon > better at general exception throwing because, as it currently stands, > it's dead verbose but deadly useless :( Yep, and this is exactly my concern, also because it stems from unfinished work on my part. So seeing that there are no objections on the fact that this has to be done, I will work on this in these days and send you patches. What I need is comments and votes on the Notificable interface: 1: change name from Notificable to Notifiable? 2: should Notifications be cascading themselves? 2: which methods are useless, limited, needed and is the meaning understandable/stood? public interface Notificable { /** * Gets the Type attribute of the Notificable object * NKB instead of String return a log level? */ String getType(); /** * Gets the Title attribute of the Notificable object * NKB the brief description */ String getTitle(); /** * Gets the Source attribute of the Notificable object * NKB who made the error */ String getSource(); /** * Gets the Sender attribute of the Notificable object * NKB who sent me the notification */ String getSender(); /** * Gets the Message attribute of the Notificable object * NKB What the error is about. */ String getMessage(); /** * Gets the Description attribute of the Notificable object * NKB Detailed description of the error with possible solutions-explanations-links to faq. */ String getDescription(); /** * Gets the ExtraDescriptions attribute of the Notificable object * NKB other special fields that may be needed (stacktrace4example) */ HashMap getExtraDescriptions(); } Nicola Ken Barozzi These are the days of miracle and wonder... ...so don't cry baby, don't cry <[EMAIL PROTECTED]> Paul Simon --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]