[Building Sakai] 2.7.1 new site content not modifiable

Matthew Jones jonespm at umich.edu
Thu Mar 10 09:15:04 PST 2011


Well, there is a property set in SAK-17571 that disabled conditional release
by default. I would think that It whouldn't get into this code if it's
disabled, but don't know enough about it.

conditions.service.enabled=false

Since it did hit it though somehow for you, and findbugs would find it
eventually it seems like it's a bug that should be fixed. But I don't know
the appropriate fix since I don't even know what this does. (We don't use
conditional release here)

Check the array length of resourceTokens and put up an alert/return? Put it
into a try/catch? Put the creation of the additionalAssignmentInfo String
into a for loop?

On Thu, Mar 10, 2011 at 11:41 AM, Chris Ribble <cribble at uwindsor.ca> wrote:

> Thanks for the reply Matthew.
>
> Do you think the ticket/patch would fix this issue or is it simply related
> to it, since this ticket seems to not include the content/resources tool?
>
> Also, the test server that I am running, where this issue doesn't show up,
> is using the exact same code as the QA server where the problem is
> occurring. If there is a problem in the code, is there any configuration to
> the server that could affect the way the conditional release feature
> behaves?
>
> Thanks
> Chris
>
>
>
> From:        Matthew Jones <jonespm at umich.edu>
> To:        Chris Ribble <cribble at uwindsor.ca>
> Cc:        sakai-dev at collab.sakaiproject.org
> Date:        03/10/2011 11:01 AM
> Subject:        Re: [Building Sakai] 2.7.1 new site content not modifiable
> Sent by:        jonespm at gmail.com
> ------------------------------
>
>
>
> At a quick glance, I'm not sure what this code is doing (related to
> conditional release) but I'd say that CR-8/SAK-18838 has a array size that
> really needs to be checked. It seems like you can't guarantee there to be
> 7 resourceTokens. ;)
>
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 5
>         at
> org.sakaiproject.content.tool.ResourceConditionsHelper.saveCondition(ResourceConditionsHelper.java:87)
>
>
> *
> https://source.sakaiproject.org/viewsvn/content/trunk/content-tool/tool/src/java/org/sakaiproject/content/tool/ResourceConditionsHelper.java?r1=77493&r2=77494&
> *<https://source.sakaiproject.org/viewsvn/content/trunk/content-tool/tool/src/java/org/sakaiproject/content/tool/ResourceConditionsHelper.java?r1=77493&r2=77494&>
>
> [1] *https://jira.sakaiproject.org/browse/SAK-18838*<https://jira.sakaiproject.org/browse/SAK-18838>
>
> -Matthew
>
> On Thu, Mar 10, 2011 at 9:57 AM, Chris Ribble <*cribble at uwindsor.ca*<cribble at uwindsor.ca>>
> wrote:
> Hi all,
>
> I'm new to the list so I am hoping I'm not asking a question that has been
> answered before.
>
> We are running a 2.7.1 test instance with Kernel 1.1.8. We run it behind an
> F5 load balancer and it uses an Oracle 10g DB for storage. This instance was
> created after running migration scripts from our current 2.5.2 production
> environment.
>
> In our 2.7.1 instance, our sakai admin has been testing various functions
> of each of the tools. In the content/resources tool we've noticed that when
> a new course site is created or an old course site is copied we cannot
> create new folders or edit existing files/folders for that site. We can
> however add new files, but cannot edit them once they are added. For
> instance, when you select create folder, and you are presented with the
> screen to name your folder, you click "Create Folder" and it just refreshes
> that same screen. In catalina.out the following stack trace error is seen:
>
> org.sakaiproject.cheftool.VelocityPortletPaneledAction - Exception calling
> method doCreateFolders java.lang.reflect.InvocationTargetException (Caused
> by java.lang.ArrayIndexOutOfBoundsException: 5)
> java.lang.reflect.InvocationTargetException
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at
> org.sakaiproject.cheftool.VelocityPortletPaneledAction.actionDispatch(VelocityPortletPaneledAction.java:618)
>         at
> org.sakaiproject.cheftool.VelocityPortletPaneledAction.processAction(VelocityPortletPaneledAction.java:528)
>         at
> org.sakaiproject.cheftool.ToolServlet.doGet(ToolServlet.java:230)
>         at
> org.sakaiproject.cheftool.VelocityPortletPaneledAction.doGet(VelocityPortletPaneledAction.java:1025)
>         at
> org.sakaiproject.cheftool.ToolServlet.doPost(ToolServlet.java:154)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
>         at
> org.sakaiproject.vm.ComponentServlet.service(ComponentServlet.java:56)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>         at
> org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:580)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>         at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:659)
>         at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:457)
>         at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:359)
>         at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
>         at
> org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.help(ActiveToolComponent.java:570)
>         at
> org.sakaiproject.cheftool.ToolServlet.sendToHelper(ToolServlet.java:659)
>         at
> org.sakaiproject.cheftool.ToolServlet.doGet(ToolServlet.java:221)
>         at
> org.sakaiproject.cheftool.VelocityPortletPaneledAction.doGet(VelocityPortletPaneledAction.java:1025)
>         at
> org.sakaiproject.cheftool.ToolServlet.doPost(ToolServlet.java:154)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
>         at
> org.sakaiproject.vm.ComponentServlet.service(ComponentServlet.java:56)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>         at
> org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:580)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>         at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:659)
>         at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:457)
>         at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:359)
>         at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
>         at
> org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:500)
>         at
> org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1226)
>         at
> org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:204)
>         at
> org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:96)
>         at
> org.sakaiproject.portal.charon.handlers.ToolHandler.doPost(ToolHandler.java:73)
>         at
> org.sakaiproject.portal.charon.SkinnableCharonPortal.doPost(SkinnableCharonPortal.java:1069)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>         at
> org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:641)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
>         at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
>         at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
>         at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
>         at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
>         at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
>         at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 5
>         at
> org.sakaiproject.content.tool.ResourceConditionsHelper.saveCondition(ResourceConditionsHelper.java:87)
>         at
> org.sakaiproject.content.tool.ResourcesHelperAction.doCreateFolders(ResourcesHelperAction.java:930)
>         ... 63 more
>
> The odd thing is I have another test instance that I run locally on my
> machine(using the same db) and I can modify the content/resources in those
> same sites fine through it. I've checked the config files they are mostly
> the same, the only main difference being that the broken test instance is
> behind a load balancer and it forces an SSL connection.
>
> We've checked the realms for content and everything looks fine, so all
> checks out there....
>
> Has anyone seen anything like this before? Is there a setting I missed that
> is specific to this problem?
>
>
> Thanks
> Chris
>
>
> Chris Ribble
> LMS Application Developer
> Information Technology Services
> University of Windsor
> 519-253-3000 x4412 *
> **cribble at uwindsor.ca* <cribble at uwindsor.ca>
> _______________________________________________
> sakai-dev mailing list*
> **sakai-dev at collab.sakaiproject.org* <sakai-dev at collab.sakaiproject.org>*
> **http://collab.sakaiproject.org/mailman/listinfo/sakai-dev*<http://collab.sakaiproject.org/mailman/listinfo/sakai-dev>
>
> TO UNSUBSCRIBE: send email to *
> sakai-dev-unsubscribe at collab.sakaiproject.org*<sakai-dev-unsubscribe at collab.sakaiproject.org>with a subject of "unsubscribe"
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20110310/4281d3e7/attachment.html 


More information about the sakai-dev mailing list