[Building Sakai] Create Turnitin Class & Assignment Process Flow in SAKAI

Jehan Badshah jehan.badshah at nu.edu.pk
Mon Jan 9 02:32:40 PST 2012


Dear Paul Mungai

I am using sakai 2.8.0, assignment 2, and same version of content review
and turnitin, I also faced you like problems, but now it is solved by doing
slight changes in source code of turnitin API.

>From turnitin log I came to know that API is not calling createClass(),
createAssignmment etc functions, due to which instructors, their classes
and assignments are not creating on turnitin.com automatically.

It is the issue in source code, in file TurnitinReviewServiceImpl.java, in
which statement (*turnitinConn.isUseSourceParameter())* always return true

 due to which inside code is not executing for creation of instructors,
their classes and assignments.

*if (!turnitinConn.isUseSourceParameter()) { createClass(),
createAssignment etc }*
remove "!" from above statement (replace attached file), compile it, and
hopfully it will start work.

Further Turnitin API developers can help us, why source parameter making
problem.

If you need any further help then contact me.

JIRA: https://jira.sakaiproject.org/browse/TII-123


On Mon, Jan 9, 2012 at 2:04 PM,  Paul Mungai <paulwando at gmail.com > wrote:

>
>
> ---------- Forwarded message ----------
> From: Paul Mungai <paulwando at gmail.com>
> Date: Mon, Jan 9, 2012 at 2:04 PM
> Subject: Re: [Building Sakai] Create Turnitin Class & Assignment Process
> Flow in SAKAI
> To: sakai-dev Developers <sakai-dev at collab.sakaiproject.org>
>
>
> If its the sakai version, I am running 2.8.0, then assignment2-tag-1.0 and
> contentreview-2.9.1.
>
>
>
> On Mon, Jan 9, 2012 at 10:52 AM, David Horwitz <david.horwitz at uct.ac.za>wrote:
>
>> **
>> It looks like you have updated to build against 2.9/Trunk? There has been
>> a change to the kernel usage of the FormattedText class. You need to build
>> against the 2.8 kernel so you pull in the 2.8 util class
>>
>> D
>>
>>
>> On 01/09/2012 10:09 AM, Paul Mungai wrote:
>>
>> Another hiccup. When I try to add a new assignment2, the turnitin options
>> are not there. The assignment does not get saved, I get this error:
>>
>>
>> INFO: EntityEncodingManager: No entities to format (json) and output for
>> ref (/assignment2)
>> 2012-01-09 10:02:50,116 WARN (RSFActionHandler.java:235) - <Error
>> invoking action>
>> Target exception of class java.lang.NoClassDefFoundError
>> Successive lines until stack trace show causes progressing to exception
>> site:
>> org/sakaiproject/util/api/FormattedText
>> java.lang.NoClassDefFoundError: org/sakaiproject/util/api/FormattedText
>>     at
>> org.sakaiproject.assignment2.tool.beans.AssignmentAuthoringBean.cleanUpAssignment(AssignmentAuthoringBean.java:391)
>>     at
>> org.sakaiproject.assignment2.tool.beans.AssignmentAuthoringBean.internalProcessPost(AssignmentAuthoringBean.java:171)
>>     at
>> org.sakaiproject.assignment2.tool.beans.AssignmentAuthoringBean.processActionPost(AssignmentAuthoringBean.java:127)
>>     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
>> uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:23)
>>     at
>> uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:17)
>>     at
>> uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:77)
>>     at
>> uk.org.ponder.reflect.ReflectiveCache.invokeMethod(ReflectiveCache.java:141)
>>     at
>> uk.org.ponder.mapping.support.DARApplier.invokeBeanMethod(DARApplier.java:179)
>>     at
>> uk.org.ponder.rsf.state.support.RSVCApplier.invokeAction(RSVCApplier.java:218)
>>     at
>> uk.org.ponder.rsf.processor.support.RSFActionHandler$1.run(RSFActionHandler.java:189)
>>     at
>> uk.org.ponder.util.CollectingRunnableInvoker$1.run(CollectingRunnableInvoker.java:25)
>>     at
>> uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper.invokeRunnable(BasicScopedAlterationWrapper.java:59)
>>     at
>> uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper$$FastClassByCGLIB$$84f89202.invoke(<generated>)
>>     at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
>>     at
>> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:628)
>>     at
>> uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper$$EnhancerByCGLIB$$100f0a2f.invokeRunnable(<generated>)
>>     at
>> uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper$$FastClassByCGLIB$$84f89202.invoke(<generated>)
>>     at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
>>     at
>> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:628)
>>     at
>> uk.org.ponder.rsf.flow.support.BasicScopedAlterationWrapper$$EnhancerByCGLIB$$100f0a2f.invokeRunnable(<generated>)
>>     at
>> uk.org.ponder.util.CollectingRunnableInvoker$1.run(CollectingRunnableInvoker.java:29)
>>     at
>> uk.org.ponder.util.CollectingRunnableInvoker.invokeWrappers(CollectingRunnableInvoker.java:22)
>>     at
>> uk.org.ponder.util.CollectingRunnableInvoker.invokeRunnable(CollectingRunnableInvoker.java:14)
>>     at
>> uk.org.ponder.rsf.processor.support.RSFActionHandler.handle(RSFActionHandler.java:165)
>>     at
>> uk.org.ponder.rsf.processor.support.RSFActionHandler$$FastClassByCGLIB$$e3b6899d.invoke(<generated>)
>>     at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
>>     at
>> org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:628)
>>     at
>> uk.org.ponder.rsf.processor.support.RSFActionHandler$$EnhancerByCGLIB$$a3edfaa8.handle(<generated>)
>>     at
>> uk.org.ponder.rsf.processor.support.RootHandlerBeanBase.handlePost(RootHandlerBeanBase.java:125)
>>     at
>> uk.org.ponder.rsf.processor.support.RootHandlerBeanBase.handle(RootHandlerBeanBase.java:82)
>>     at sun.reflect.GeneratedMethodAccessor522.invoke(Unknown Source)
>>     at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>     at java.lang.reflect.Method.invoke(Method.java:597)
>>     at
>> uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:23)
>>     at
>> uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:17)
>>     at
>> uk.org.ponder.reflect.JDKReflectiveCache.invokeMethod(JDKReflectiveCache.java:77)
>>     at
>> uk.org.ponder.rsac.support.RSACBeanLocatorImpl.createBean(RSACBeanLocatorImpl.java:553)
>>     at
>> uk.org.ponder.rsac.support.RSACBeanLocatorImpl.access$000(RSACBeanLocatorImpl.java:75)
>>     at
>> uk.org.ponder.rsac.support.RSACBeanLocatorImpl$1.run(RSACBeanLocatorImpl.java:449)
>>     at
>> uk.org.ponder.rsac.RSACErrorBridge.invokeRunnable(RSACErrorBridge.java:38)
>>     at
>> uk.org.ponder.rsac.support.RSACBeanLocatorImpl.createBean(RSACBeanLocatorImpl.java:447)
>>     at
>> uk.org.ponder.rsac.support.RSACBeanLocatorImpl.getLocalBean(RSACBeanLocatorImpl.java:348)
>>     at
>> uk.org.ponder.rsac.support.RSACBeanLocatorImpl.getBean(RSACBeanLocatorImpl.java:379)
>>     at
>> uk.org.ponder.rsac.support.PerRequestInfo$1.locateBean(PerRequestInfo.java:49)
>>     at
>> uk.ac.cam.caret.sakai.rsf.servlet.ReasonableSakaiServlet.service(ReasonableSakaiServlet.java:65)
>>     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.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:511)
>>     at
>> org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1429)
>>     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:1224)
>>     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:659)
>>     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:662)
>> Caused by: java.lang.ClassNotFoundException:
>> org.sakaiproject.util.api.FormattedText
>>     at
>> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1438)
>>     at
>> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1284)
>>
>>
>>
>>
>> On Mon, Jan 9, 2012 at 9:40 AM, Paul Mungai <paulwando at gmail.com> wrote:
>>
>>> Just checked the logs.
>>>
>>> That error appears if one has not added gradebook as a tool to the site
>>> in question. I presume in the next iteration, the warning be more accurate
>>> to the users noting that they manage their sites and not the admin.
>>>
>>>
>>>
>>> On Mon, Jan 9, 2012 at 8:52 AM, Paul Mungai <paulwando at gmail.com> wrote:
>>>
>>>> Thanks Wagner,
>>>>
>>>> It built successfully when unit tests are turned off:
>>>>
>>>> mvn clean install sakai:deploy -Dmaven.test.skip=true
>>>>
>>>>
>>>> However, am now getting this warning when I attempt to add a new
>>>> assignment (assignments2)
>>>>
>>>> My apologies, but there seems to have been an error. Please note the
>>>> time/date and the server you are on (located in the footer) and contact the
>>>> support center for assistance resolving this problem.
>>>>
>>>>
>>>> On Fri, Jan 6, 2012 at 9:19 PM, Wagner, Michelle R. <wagnermr at iupui.edu
>>>> > wrote:
>>>>
>>>>>  Hi Paul,
>>>>> It looks like your build failed because there is a new method in the
>>>>> GradebookService for Sakai 2.9 (isPointsPossibleValid) that is not
>>>>> implemented in
>>>>> org.sakaiproject.assignment2.logic.test.stubs.GradebookServiceStub in
>>>>> Assignment2 1.0.  Assignment2 uses a mock of the GradebookService for its
>>>>> unit tests since the two tools are so tightly integrated.  I believe for
>>>>> now you can build with unit tests turned off to avoid this error (or add
>>>>> the unimplemented method locally).  It may be time for an updated release
>>>>> of Assignment2 to work against 2.9 with unit tests turned on.
>>>>>
>>>>> Have a great day,
>>>>> Michelle
>>>>>  ------------------------------
>>>>> *From:* sakai-dev-bounces at collab.sakaiproject.org [
>>>>> sakai-dev-bounces at collab.sakaiproject.org] on behalf of Paul Mungai [
>>>>> paulwando at gmail.com]
>>>>> *Sent:* Friday, January 06, 2012 12:27 PM
>>>>> *To:* sakai-dev Developers
>>>>> *Subject:* Re: [Building Sakai] Create Turnitin Class & Assignment
>>>>> Process Flow in SAKAI
>>>>>
>>>>>   Thanks David.
>>>>>
>>>>> Just noted that for assignment2 (tag 1.0), one needs to first deploy
>>>>> the following dependencies:
>>>>>
>>>>> sakai-announcement-api-2.9-SNAPSHOT
>>>>> sakai-assignment-api-2.9-SNAPSHOT
>>>>> sakai-calendar-api-2.9-SNAPSHOT
>>>>> sakai-message-api-2.9-SNAPSHOT
>>>>> sakai-mock-2.9-SNAPSHOT
>>>>> sakai-taggable-api-2.9-SNAPSHOT
>>>>> slf4j-log4j12-1.4.3
>>>>>
>>>>> However, the build (offline) for assignment2 still fails. The
>>>>> following error appears:
>>>>>
>>>>> [ERROR] COMPILATION ERROR :
>>>>> [INFO] -------------------------------------------------------------
>>>>> [ERROR]
>>>>> /opt/sakai-2.8.0/assignment-tags-1.0/impl/src/test/org/sakaiproject/assignment2/logic/test/stubs/GradebookServiceStub.java:[57,7]
>>>>> org.sakaiproject.assignment2.logic.test.stubs.GradebookServiceStub is not
>>>>> abstract and does not override abstract method
>>>>> isPointsPossibleValid(java.lang.String,org.sakaiproject.service.gradebook.shared.Assignment,java.lang.Double)
>>>>> in org.sakaiproject.service.gradebook.shared.GradebookService
>>>>> [INFO] 1 error
>>>>> [INFO] -------------------------------------------------------------
>>>>> [INFO]
>>>>> ------------------------------------------------------------------------
>>>>> [ERROR] BUILD FAILURE
>>>>> [INFO]
>>>>> ------------------------------------------------------------------------
>>>>> [INFO] Compilation failure
>>>>> /opt/sakai-2.8.0/assignment-tags-1.0/impl/src/test/org/sakaiproject/assignment2/logic/test/stubs/GradebookServiceStub.java:[57,7]
>>>>> org.sakaiproject.assignment2.logic.test.stubs.GradebookServiceStub is not
>>>>> abstract and does not override abstract method
>>>>> isPointsPossibleValid(java.lang.String,org.sakaiproject.service.gradebook.shared.Assignment,java.lang.Double)
>>>>> in org.sakaiproject.service.gradebook.shared.GradebookService
>>>>>
>>>>>
>>>>> Could the previous deployment of assignment1 affect this?
>>>>>
>>>>> --
>>>>> Regards,
>>>>> Paul Mungai
>>>>>
>>>>> "Ability is what youre capable of doing. Motivation determines what
>>>>> you do. Attitude determines how well you do it" By Lou Holtz, Notre Dame
>>>>> Football Coach
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Regards,
>>>> Paul Mungai
>>>>
>>>> "Ability is what youre capable of doing. Motivation determines what you
>>>> do. Attitude determines how well you do it" By Lou Holtz, Notre Dame
>>>> Football Coach
>>>>
>>>
>>>
>>>
>>> --
>>> Regards,
>>> Paul Mungai
>>>
>>> "Ability is what youre capable of doing. Motivation determines what you
>>> do. Attitude determines how well you do it" By Lou Holtz, Notre Dame
>>> Football Coach
>>>
>>
>>
>>
>> --
>> Regards,
>> Paul Mungai
>>
>> Skype: pwando
>> Twitter: pwando
>> Facebook: paulwando
>> LinkedIn: http://za.linkedin.com/pub/paul-mungai/b/388/512
>> Blog: http://pmungai.wordpress.com
>> Flickr: http://bit.ly/b84lip
>>
>> "Ability is what youre capable of doing. Motivation determines what you
>> do. Attitude determines how well you do it" By Lou Holtz, Notre Dame
>> Football Coach
>>
>>
>> _______________________________________________
>> sakai-dev mailing list
>> sakai-dev at collab.sakaiproject.orghttp://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>
>> TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of "unsubscribe"
>>
>>
>> _______________________________________________
>> sakai-dev mailing list
>> sakai-dev at collab.sakaiproject.org
>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>
>> TO UNSUBSCRIBE: send email to
>> sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of
>> "unsubscribe"
>>
>
>
>
> --
> Regards,
> Paul Mungai
>
> Skype: pwando
> Twitter: pwando
> Facebook: paulwando
> LinkedIn: http://za.linkedin.com/pub/paul-mungai/b/388/512
> Blog: http://pmungai.wordpress.com
> Flickr: http://bit.ly/b84lip
>
> "Ability is what youre capable of doing. Motivation determines what you
> do. Attitude determines how well you do it" By Lou Holtz, Notre Dame
> Football Coach
>
> _______________________________________________
> sakai-dev mailing list
> sakai-dev at collab.sakaiproject.org
> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>
> TO UNSUBSCRIBE: send email to
> sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of
> "unsubscribe"
>
>


-- 

Regards
----------------------------------------------------
Jehan Badshah | Sr. Software Engineer
FAST - National University of Computer and Emerging Sciences
A.K. Brohi Road, H-11/4, Islamabad, Pakistan
UAN: +92 (0)51 - 111 128 128 ext 344
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20120109/4b9d3b37/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TurnitinReviewServiceImpl.java
Type: application/octet-stream
Size: 70062 bytes
Desc: not available
Url : http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20120109/4b9d3b37/attachment.obj 


More information about the sakai-dev mailing list