|
This likely wouldn't ever come up for a proper fixed set of tools in production, but it did come up either when we were creating new tools against sakai or testing some tool out of contrib. I don't remember the exact details of why I saw it, but having this patch did make my life easier. It was last summer that I'd patched and used it, I'll see if I can dig up some email or blog where I'd hit it. I don't know if it really was #1 tool developer error but it was an easy fix and useful.
Basically what i can gather from this chat, when a tool in the portal has an this error without the patch it will crash with a null pointer exception, dump a stack track to the screen and to the log and usually won't give you much detail about it, saying something along the lines of:
(I'm sure you've seen this) org.sakaiproject.portal.api.PortalHandlerException: java.lang.NullPointerException at org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:891) caused by: java.lang.NullPointerException at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:459) at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1343) . . . When this was in place, it actually was able to trap some of these errors if a tool was improperly registered and tell you more about the problem. It's mostly for developers trying to get their tool registration files correct but did pop up for a some other reasons. I pulled up some emails where we lost a few hours trying to track down a bug for development of some tool before this patch, so it might probably save some other developers time. (4 votes on the original issue) I suppose it's severity is minor overall though. I think it was being trigged for us by some kind of cache timeout or something, which was harder to track down, was a weird bug and there were like 6 tools on the page that had the problem. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The original JIRA suggested that this might show up with incorrectly configured tools in a development context. Under what scenarios would one expect to see this in a production system?