Rubrics: Can not unselect option to use rubric

Description

An instructor can not edit an existing assignment, gradebook item, or test question to not use a rubric. When saved there is a warning in the server logs and the assignment is unchanged.

 

28-Dec-2022 12:52:43.265 WARN [http-nio-20022-exec-26] o.s.r.i.RubricsServiceImpl.saveRubricAssociation requested rubric id [] could not be converted to a longjava.lang.NumberFormatException: Zero length string at java.lang.Long.decode(Long.java:1233) ~[?:?] at org.apache.commons.lang3.math.NumberUtils.createLong(NumberUtils.java:948) ~[commons-lang3-3.12.0.jar:3.12.0] at org.sakaiproject.rubrics.impl.RubricsServiceImpl.saveRubricAssociation(RubricsServiceImpl.java:791) [rubrics-impl-22-SNAPSHOT.jar:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) [spring-aop-5.3.18.jar:5.3.18] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) [spring-aop-5.3.18.jar:5.3.18] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) [spring-aop-5.3.18.jar:5.3.18] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) [spring-tx-5.3.18.jar:5.3.18] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) [spring-tx-5.3.18.jar:5.3.18] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) [spring-tx-5.3.18.jar:5.3.18] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) [spring-aop-5.3.18.jar:5.3.18] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) [spring-aop-5.3.18.jar:5.3.18] at com.sun.proxy.$Proxy216.saveRubricAssociation(Unknown Source) [?:?] at org.sakaiproject.assignment.tool.AssignmentAction.post_save_assignment(AssignmentAction.java:8488) [classes/:?] at org.sakaiproject.assignment.tool.AssignmentAction.doPost_assignment(AssignmentAction.java:8139) [classes/:?] at org.sakaiproject.assignment.tool.AssignmentAction.doAssignment_form(AssignmentAction.java:10767) [classes/:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.sakaiproject.cheftool.VelocityPortletPaneledAction.actionDispatch(VelocityPortletPaneledAction.java:757) [sakai-velocity-tool-22-SNAPSHOT.jar:22-SNAPSHOT] at org.sakaiproject.cheftool.VelocityPortletPaneledAction.processAction(VelocityPortletPaneledAction.java:566) [sakai-velocity-tool-22-SNAPSHOT.jar:22-SNAPSHOT] at org.sakaiproject.cheftool.ToolServlet.doGet(ToolServlet.java:228) [sakai-velocity-tool-22-SNAPSHOT.jar:22-SNAPSHOT] at org.sakaiproject.cheftool.VelocityPortletPaneledAction.doGet(VelocityPortletPaneledAction.java:1098) [sakai-velocity-tool-22-SNAPSHOT.jar:22-SNAPSHOT] at org.sakaiproject.cheftool.ToolServlet.doPost(ToolServlet.java:152) [sakai-velocity-tool-22-SNAPSHOT.jar:22-SNAPSHOT] at javax.servlet.http.HttpServlet.service(HttpServlet.java:681) [servlet-api.jar:4.0.FR] at org.sakaiproject.vm.ComponentServlet.service(ComponentServlet.java:56) [sakai-velocity-tool-22-SNAPSHOT.jar:22-SNAPSHOT] at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) [servlet-api.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) [catalina.jar:9.0.62] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [catalina.jar:9.0.62] at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:447) [sakai-kernel-api-22-SNAPSHOT.jar:22-SNAPSHOT] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [catalina.jar:9.0.62] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [catalina.jar:9.0.62] at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:711) [catalina.jar:9.0.62] at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:459) [catalina.jar:9.0.62] at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:353) [catalina.jar:9.0.62] at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:313) [catalina.jar:9.0.62] at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:508) [sakai-kernel-impl-22-SNAPSHOT.jar:?] at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1505) [sakai-portal-impl-22-SNAPSHOT.jar:22-SNAPSHOT] at org.sakaiproject.portal.charon.handlers.SiteHandler.doToolBuffer(SiteHandler.java:1227) [sakai-portal-impl-22-SNAPSHOT.jar:22-SNAPSHOT] at org.sakaiproject.portal.charon.handlers.SiteHandler.bufferContent(SiteHandler.java:1061) [sakai-portal-impl-22-SNAPSHOT.jar:22-SNAPSHOT] at org.sakaiproject.portal.charon.handlers.SiteHandler.doSite(SiteHandler.java:503) [sakai-portal-impl-22-SNAPSHOT.jar:22-SNAPSHOT] at org.sakaiproject.portal.charon.handlers.SiteHandler.doGet(SiteHandler.java:279) [sakai-portal-impl-22-SNAPSHOT.jar:22-SNAPSHOT] at org.sakaiproject.portal.charon.handlers.SiteHandler.doGet(SiteHandler.java:167) [sakai-portal-impl-22-SNAPSHOT.jar:22-SNAPSHOT] at org.sakaiproject.portal.charon.handlers.WorksiteHandler.doPost(WorksiteHandler.java:69) [sakai-portal-impl-22-SNAPSHOT.jar:22-SNAPSHOT] at org.sakaiproject.portal.charon.SkinnableCharonPortal.doPost(SkinnableCharonPortal.java:1177) [sakai-portal-impl-22-SNAPSHOT.jar:22-SNAPSHOT] at javax.servlet.http.HttpServlet.service(HttpServlet.java:681) [servlet-api.jar:4.0.FR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) [servlet-api.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) [catalina.jar:9.0.62] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [catalina.jar:9.0.62] at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:496) [sakai-kernel-api-22-SNAPSHOT.jar:22-SNAPSHOT] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [catalina.jar:9.0.62] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [catalina.jar:9.0.62] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) [tomcat-websocket.jar:9.0.62] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [catalina.jar:9.0.62] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [catalina.jar:9.0.62] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) [catalina.jar:9.0.62] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [catalina.jar:9.0.62] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) [catalina.jar:9.0.62] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) [catalina.jar:9.0.62] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [catalina.jar:9.0.62] at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:769) [catalina.jar:9.0.62] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [catalina.jar:9.0.62] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) [catalina.jar:9.0.62] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) [tomcat-coyote.jar:9.0.62] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-coyote.jar:9.0.62] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890) [tomcat-coyote.jar:9.0.62] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743) [tomcat-coyote.jar:9.0.62] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:9.0.62] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) [tomcat-util.jar:9.0.62] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) [tomcat-util.jar:9.0.62] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:9.0.62] at java.lang.Thread.run(Thread.java:829) [?:?]

Activity

Show:

Thomas Kelsey April 15, 2023 at 6:26 PM

Verified in 23.x, build: 70ed2d0a

Verified in 22.x, build: 0535e4cf

Christina Schwiebert March 31, 2023 at 3:23 PM

Verified on 24.x - https://trunk-mysql.nightly.sakaiproject.org/, build ea4d73ac

Automation for Jira March 21, 2023 at 8:45 PM

A pull request has been created, "SAK-48248 Rubrics: Allow removal of item associations by parsing blank rubric IDs as 0", you can see it at https://github.com/sakaiproject/sakai/pull/11363

Earle Nietzel March 14, 2023 at 3:13 PM

Noticed this issue while working and after fixing those issues this issue didn’t occur anymore.

Christina Schwiebert March 9, 2023 at 10:24 PM

Updated to include that this is NOT just an issue with Assignments. Rubrics can’t be removed from any item.

Fixed

Details

Priority

Affects versions

23 Status

QA Verification Pass

22 Status

Verified

Components

Assignee

Reporter

Environment

https://trunk-mysql.nightly.sakaiproject.org/ https://qa23-mysql8.nightly.sakaiproject.org/ https://qa22-mysql.nightly.sakaiproject.org/
Created December 28, 2022 at 5:56 PM
Updated May 26, 2023 at 1:58 PM
Resolved March 22, 2023 at 4:08 PM