This is a test and survey tool for the Sakai (http://sakaiproject.org) learning management system. It has it's own web UI framework (ambrosia) that's part of this repository.
To build have a copy of Java 8 and Maven 3 and run:
mvn install
Etudes Mneme Tool and additional projects.
This is a test and survey tool for the Sakai (http://sakaiproject.org) learning management system. It has it's own web UI framework (ambrosia) that's part of this repository.
To build have a copy of Java 8 and Maven 3 and run:
mvn install
Reported by Austin that the mic tool in CKEditor doesn't work if you're a student.
What is your favorite number: {3568}
Pick a number 3 or 4: {3|4}
What is your favorite number: 3,568
Pick a number 3 or 4: 3
When running fresh with auto-ddl turned on, one question table was not created.
Turns out the DDL for the table was missing from the mneme_question.sql, which is the file that auto-ddl runs.
This a problem for both Oracle and MySQL
I see this error thousands of times when the menme maintenance runs. I believe it started happening due to adding the SendEmailOnSubmission stuff in the oxford changes.
13-Sep-2018 12:25:25.874 WARN [org.etudes.mneme.impl.SubmissionServiceImpl] org.etudes.mneme.impl.SubmissionServiceImpl.getTimedOutSubmissions Error getTimedOutSubmissions: java.lang.IllegalArgumentException
Continue... getTimedOutSubmissions
java.lang.IllegalArgumentException
at org.etudes.mneme.impl.AssessmentImpl.setSendEmailOnSubmission(AssessmentImpl.java:1866)
at org.etudes.mneme.impl.AssessmentStorageSql$9.readSqlResultRecord(AssessmentStorageSql.java:1103)
at org.sakaiproject.db.impl.BasicSqlService.dbRead(BasicSqlService.java:583)
at org.sakaiproject.db.impl.BasicSqlService.dbRead(BasicSqlService.java:471)
at org.etudes.mneme.impl.AssessmentStorageSql.readAssessments(AssessmentStorageSql.java:1052)
at org.etudes.mneme.impl.AssessmentStorageSql.readAssessment(AssessmentStorageSql.java:1014)
at org.etudes.mneme.impl.AssessmentStorageSql.getAssessment(AssessmentStorageSql.java:221)
at org.etudes.mneme.impl.AssessmentServiceImpl.getAssessment(AssessmentServiceImpl.java:452)
at org.etudes.mneme.impl.SubmissionAssessmentImpl.getAssessment(SubmissionAssessmentImpl.java:945)
at org.etudes.mneme.impl.SubmissionAssessmentImpl.getTimeLimit(SubmissionAssessmentImpl.java:647)
at org.etudes.mneme.impl.SubmissionServiceImpl.getTimedOutSubmissions(SubmissionServiceImpl.java:3519)
at org.etudes.mneme.impl.SubmissionServiceImpl.run(SubmissionServiceImpl.java:2205)
at java.lang.Thread.run(Thread.java:748)
Steps
15-Jun-2018 10:27:36.900 DEBUG [http-nio-8980-exec-4] org.etudes.mneme.impl.PoolServiceImpl.allowManagePools allowManagePools: 546076f7-7b0d-4484-8e43-fa3d25f0cb81
[Fatal Error] catalog.xml:1:1: Content is not allowed in prolog.
org.xml.sax.SAXParseException; systemId: file:/usr/local/apache-tomcat-8.5.31-for-sakai-12.1-dev-uh/webapps/etudes-mneme-tool/WEB-INF/classes/catalog.xml; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:257)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:339)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:150)
at org.etudes.mneme.tool.UploadXml.setUpload(UploadXml.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.etudes.ambrosia.impl.UiPropertyReference.setFileValue(UiPropertyReference.java:802)
at org.etudes.ambrosia.impl.UiPropertyReference.write(UiPropertyReference.java:438)
at org.etudes.ambrosia.impl.UiDecoder.decode(UiDecoder.java:149)
at org.etudes.ambrosia.impl.UiServiceImpl.decode(UiServiceImpl.java:202)
at org.etudes.mneme.tool.ImportQtiView.post(ImportQtiView.java:124)
at org.etudes.ambrosia.util.AmbrosiaServlet.doPost(AmbrosiaServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:418)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:728)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:470)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:356)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:316)
at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:513)
at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1488)
at org.sakaiproject.portal.charon.handlers.SiteHandler.doToolBuffer(SiteHandler.java:1227)
at org.sakaiproject.portal.charon.handlers.SiteHandler.bufferContent(SiteHandler.java:1061)
at org.sakaiproject.portal.charon.handlers.SiteHandler.doSite(SiteHandler.java:490)
at org.sakaiproject.portal.charon.handlers.SiteHandler.doGet(SiteHandler.java:266)
at org.sakaiproject.portal.charon.handlers.SiteHandler.doGet(SiteHandler.java:154)
at org.sakaiproject.portal.charon.handlers.WorksiteHandler.doPost(WorksiteHandler.java:69)
at org.sakaiproject.portal.charon.SkinnableCharonPortal.doPost(SkinnableCharonPortal.java:1172)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:467)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1468)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
The export fails with
2016-10-06 16:22:45,506 WARN ajp-bio-8009-exec-164 org.etudes.mneme.impl.AttachmentServiceImpl - summary spreadsheet:
java.lang.NullPointerException
typos in ambrosia.dtd file
-<ELEMENT failedRequirementsMessage (message)* >
+<!ELEMENT failedRequirementsMessage (message)* >
-<<!ATTLIST htmlModel stripP (TRUE|FALSE) #IMPLIED >
+<!ATTLIST htmlModel stripP (TRUE|FALSE) #IMPLIED >
Where the "User Name" column is a new column that was added.
When using the migration script mneme_assessment_oxford.sql, it adds a column SEND_SUBMIT_EMAIL
to the MNEME_ASSESSMENT
table. However, if there are already assessments present added by a previous version of mneme, the value will become null
in this column.
This has the unfortunate effect that an error page is shown when opening mneme from Sakai. The page shows a non descriptive message and a button that seemingly does nothing.
Alert
Press "Return" to continue.
Return
There is no cause of the error provided. After code inspection it turns out that a check on the sendEmailOnSubmission
setter of the AssessmentImpl
object makes sure that an IllegalArgumentException
is thrown when the value returns null
from the database.
@bgarciaentornos @buckett I've added a pull request to this issue to fix the migration script by adding a default value for that column.
SAK-33857 Remove useless code in GradebookService
causes compile errors in Sakai 12.6
look at first mneme screen, you may have to create a test first. Check any images in first column are 'normal size'
Checking the tomcat logs there is an error:
[Fatal Error] :2:165: Attribute "xmlns" was already specified for element "manifest".
ambrosia buttons should use Sakai's default button background color
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.