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

Paul Mungai paulwando at gmail.com
Wed Jan 11 02:02:24 PST 2012


Seemingly it worked after i restarted tomcat. Now to the core issue, how do
I view the turnitin options in assignment2.

These are the settings I have in sakai.properties wrt turnitin n
assignment2.

# sakai.properties settings:
turnitin.enable.assignment2=true
#turnitin.apiURL is Optional
turnitin.apiURL=https://www.turnitin.com/api.asp?
# ID you had enabled
turnitin.aid=XYZ
# This is the secret you set online
turnitin.secretKey=notxyz
turnitin.useSourceParameter=true
assignment.useContentReview=true
#proxy for turnitin
turnitin.proxyHost=myhost
turnitin.proxyPort=8080
turnitin.defaultAssignmentName=myAssignment
turnitin.defaultAssignId=myassignment

On Tue, Jan 10, 2012 at 3:27 PM, Paul Mungai <paulwando at gmail.com> wrote:

> Hi David,
>
> I have sakai-kernel-util-1.2.1. How do I deploy the lower version?
>
>
> On Tue, Jan 10, 2012 at 12:57 PM, David Horwitz <david.horwitz at uct.ac.za>wrote:
>
>> **
>> Hi Paul,
>>
>> what version of kernel-util is deployed in the assignment2 components
>> WEB-INF/lib folder?
>>
>> What I see:
>>
>> tomcat at srvslscle002:/home/david> ls
>> /usr/local/sakai/components/sakai-assignment2-pack/WEB-INF/lib/sakai-kernel-util*
>>
>> /usr/local/sakai/components/sakai-assignment2-pack/WEB-INF/lib/sakai-kernel-util-1.1.10.jar
>>
>>
>> Which runs in 2.8 with no problem
>>
>> D
>>
>> On 01/10/2012 12:46 PM, Paul Mungai wrote:
>>
>> Has anyone managed to deploy assignment2 in 2.8.0?
>>
>> I managed to build assignment2 successfully under 2.8.x as suggested.
>>
>> However I get an error when I try to add a new assignment (as reported
>> earlier). The error is related to class FormattedText not being found:
>>
>> uccessive 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.logic.impl.ExternalLogicImpl.cleanupUserStrings(ExternalLogicImpl.java:165)
>>     at
>> org.sakaiproject.assignment2.logic.impl.AssignmentLogicImpl.saveAssignment(AssignmentLogicImpl.java:275)
>>     at
>> org.sakaiproject.assignment2.tool.beans.AssignmentAuthoringBean.internalProcessPost(AssignmentAuthoringBean.java:288)
>>     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.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.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 java.net.URLClassLoader$1.run(URLClassLoader.java:202)
>>     at java.security.AccessController.doPrivileged(Native Method)
>>     at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>>     at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
>>     at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
>>     ... 83 more
>>
>>
>>
>> On Mon, Jan 9, 2012 at 8:59 PM, Paul Mungai <paulwando at gmail.com> wrote:
>>
>>> Thats true Johan,
>>>
>>>  But that is double work (one part in sakai and the other in turnitin
>>> site) and there is no point really of having Sakai as the mediator in this
>>> process.
>>>
>>>
>>>  On Mon, Jan 9, 2012 at 8:45 PM, Jehan Badshah <jehan.badshah at nu.edu.pk>wrote:
>>>
>>>> You can also include exclude it using turnitin report (e.g., exclude
>>>> checking from institutional repository)
>>>>
>>>>
>>>>  but sakai community should help us by telling that link
>>>> https://source.sakaiproject.org/contrib/turnitin/trunk/contentreview-impl/docs/readme.html
>>>> is related to which sakai version.
>>>>
>>>>  and how to configure assignment with these options.
>>>>
>>>>
>>>>
>>>>
>>>>  On Mon, Jan 9, 2012 at 11:37 PM, Paul Mungai <paulwando at gmail.com>wrote:
>>>>
>>>>> Thanks Jehan,
>>>>>
>>>>>  I already have that setup, but the challenge comes when the lecturer
>>>>> wishes to tweak the other turnitin options and not resolving to the default
>>>>> options.
>>>>>
>>>>>  Assignment2 is meant to give more flexibility wrt turnitin but there
>>>>> seems to be poor documentation and thus the back and forth exchange of
>>>>> emails.
>>>>>
>>>>>   On Mon, Jan 9, 2012 at 8:03 PM, Jehan Badshah <
>>>>> jehan.badshah at nu.edu.pk> wrote:
>>>>>
>>>>>> Dear Paul Mungai
>>>>>>
>>>>>>  With assignment2 turnitin service look like attached file,
>>>>>> You can also view this video
>>>>>> http://www.youtube.com/watch?v=qyJSePzJld4&feature=related
>>>>>>
>>>>>>  What I suggested don't need installation of any other thing like
>>>>>> what you are doing now, only download sakai 2.8.0 and install turnitin API
>>>>>> with suggested changes and it will start work.
>>>>>>
>>>>>>
>>>>>>  If still you were facing problems then write me.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Mon, Jan 9, 2012 at 7:57 PM, Paul Mungai <paulwando at gmail.com>wrote:
>>>>>>
>>>>>>> Unfortunately I cannot get the dependencies:
>>>>>>>
>>>>>>> sakai-announcement-api-2.8-
>>>>>>> SNAPSHOT
>>>>>>> sakai-assignment-api-2.8-SNAPSHOT
>>>>>>> sakai-calendar-api-2.8-SNAPSHOT
>>>>>>> sakai-message-api-2.8-SNAPSHOT
>>>>>>> sakai-mock-2.8-SNAPSHOT
>>>>>>> sakai-taggable-api-2.8-SNAPSHOT
>>>>>>>
>>>>>>> The sources it tries accessing by default such as
>>>>>>> http://source.sakaiproject.org/maven2-snapshots/org/sakaiproject/sakai-taggable-api/2.8-SNAPSHOT/sakai-taggable-api-2.8-SNAPSHOT.jar
>>>>>>> have been moved.
>>>>>>>
>>>>>>> Any suggestions will be highly appreciated.
>>>>>>>
>>>>>>> Regards,
>>>>>>> Paul Mungai
>>>>>>>
>>>>>>>
>>>>>>>  On Mon, Jan 9, 2012 at 3:22 PM, Paul Mungai <paulwando at gmail.com>wrote:
>>>>>>>
>>>>>>>>
>>>>>>>> I now get you David, I realize I needed to run:
>>>>>>>>
>>>>>>>> sh prepare_for_sakai_env.sh
>>>>>>>>
>>>>>>>> within the assignment2 directory, which enabled me select the 2.8.x
>>>>>>>> branch.
>>>>>>>>
>>>>>>>> Hope it works now.
>>>>>>>>
>>>>>>>>
>>>>>>>>  On Mon, Jan 9, 2012 at 1:42 PM, Paul Mungai <paulwando at gmail.com>wrote:
>>>>>>>>
>>>>>>>>> Thanks for the advise.
>>>>>>>>>
>>>>>>>>>  Kindly advise if the page for add assignment in your case
>>>>>>>>> includes the turnitin options as shown from the url below.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> https://source.sakaiproject.org/contrib/turnitin/trunk/contentreview-impl/docs/readme.html
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Mon, Jan 9, 2012 at 12:32 PM, Jehan Badshah <
>>>>>>>>> jehan.badshah at nu.edu.pk> wrote:
>>>>>>>>>
>>>>>>>>>> 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.comautomatically.
>>>>>>>>>>
>>>>>>>>>>  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 <2012-01-09%2010>: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
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> 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
>>>>>>>>>
>>>>>>>>> "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
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> 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
>>>>>> UAN: +92 (0)51 - 111 128 128 ext 344<%2B92%20%280%2951%20-%20111%20128%20128%20ext%20344>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>  --
>>>>> 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
>>>>>
>>>>> _______________________________________________
>>>>> 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
>>>> UAN: +92 (0)51 - 111 128 128 ext 344<%2B92%20%280%2951%20-%20111%20128%20128%20ext%20344>
>>>>
>>>>
>>>>
>>>
>>>
>>>  --
>>> 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
>>
>>
>> _______________________________________________
>> sakai-dev mailing listsakai-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
>
> "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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20120111/f2260583/attachment.html 


More information about the sakai-dev mailing list