2.3 Release Notes

2.3 Release Notes

New Features in 2.3

    • SAK-4396, allowing instructors to attach any kind of files to a question
    • SAK-4397, bulk downloading file upload answers
    • SAK-4573, filtered view in grading to allow full view or abbreviated view of short answers or rationales
    • SAK-4402 and SAK-4403, added a pager/search box for the Grading pages
    • SAK-6325: Addition of new question type: numeric response

Bugs and Tasks resolved in 2.3

140 JIRA bugs/tasks were resolved in 2.3.
Click to see Bugs/Tasks resolved in 2.3

Known issues in 2.3

Click to see Samigo Known Issues 

Configuration: 

sakai.properties settings: 

For File Upload and Audio Recording questions in Samigo, answers are saved to DB as a blob by default.  If you want to save answers to files, you can override this default by adding the following in your sakai.properties file. 

 

\# \*\* Samigo File Upload question type settings \*\*
\# the following default settings
\# com.corejsf.UploadFilter.repositoryPath,
\# com.corejsf.UploadFilter.sizeThreshold,
\# com.corejsf.UploadFilter.sizeMax and
\# com.corejsf.UploadFilter.saveMediaToDb in Samigo web.xml
\# can be overidden with the following settings in sakai.properties

samigo.answerUploadRepositoryPath=/sakaitmp/
samigo.sizeThreshold=512
samigo.sizeMax=20480
samigo.saveMediaToDb=false

Please make sure that Sakai has write privilege to the directory specified in samigo.answerUploadRepositoryPath.

When saveToDB is true, SAM_MEDIA_T.MEDIA must be a blob or equivalent to work.  If you're running Oracle and using auto.ddl to create tables, you should check the data type of the "MEDIA" column in the SAM_MEDIA_T table. Hibernate tries to choose the right data type for this field, but has a habit of choosing the wrong one for Oracle. The correct types for each database are:

  • HSQLDB --> varbinary
  • Oracle --> blob
  • MySQL --> longblob

Audio recording questions (since 2.2):

Audio recording questions are turned on by default.  You can turn it off by modifying sam/samigo-app/src/webapp/WEB-INF/faceconfig.xml, and changing the showAudio to false.

    <managed-property>
      <property-name>showAudio</property-name>
      <value>false</value>      
    </managed-property>

Audio recording uses the same storage configuration as File Upload questions, so they can be configured to be stored either in DB or files. 

Audio recording questions uses an Audio Recording Applet (Based on Sun's Java Sound API) to record.  Because the default JRE installation doesn't allow Java to record audio from your computer's sound card, you have to do one of the following:

1. Modify your java.policy file and add the following permissions:

 
 permission javax.sound.sampled.AudioPermission "record";
 permission java.io.FilePermission "<<ALL FILES>>", "read, write";
 permission java.util.PropertyPermission "user.dir", "read";

Or
2. Obtain a digital certificate and use it to sign the applet.

 
  Here is an example we used on our dev instance, coursework-s1, to get a self-signed certificate :

 
  a. login to coursework-s1 
  
  b. assuming we have deployed sakai in tomcat already, i.e. samigo.war has expanded in tomcat/webapps, kill tomcat 
      ~/nightly/sakai2.2-oracle/tomcat/bin/killjava.sh 
    
  c. create ketstore 
       keytool -genkey -keyalg RSA -keystore ~/daisyf/applet-keystore/audio_applet_keystore -alias audioApplet -keypass mypassword -validity 3650 
       I used these value when prompted "cn=Daisy Flemming, ou=SUL / ACOMP, o=Stanford University, l=Stanford, st=CA, c=US" 
  
  d. create self-signed certificate 
      keytool -selfcert -keystore ~/daisyf/applet-keystore/audio_applet_keystore -alias audioApplet -dname "cn=Daisy Flemming, ou=SUL / ACOMP, o=Stanford University, l=Stanford, st=CA, c=US" -validity 3650 
  
  e. signing applet 
      cd ~/nightly/sakai2.2-oracle/tomcat/webapps/samigo/applets 
      jarsigner -keystore ~/daisyf/applet-keystore/audio_applet_keystore -storepass mypassword sakai-samigo-audio-dev.jar audioApplet 
      jarsigner -verify sakai-samigo-audio-dev.jar 
  
  f. restart tomcat 
      ~/nightly/sakai2.2-oracle/tomcat/bin/startup.sh 


  In production, you will probably need to get an officially signed applet.  

References used 
 
1. http://java.sun.com/developer/onlineTraining/Programming/JDCBook/signed.html 
2. http://www-personal.umich.edu/~lsiden/tutorials/signed-applet/signed-applet.html 
3. http://java.sun.com/j2se/1.4.2/docs/tooldocs/solaris/keytool.html 

Temporary file location for QTI Assessment Import

Currently, by default QTI Assessment Import also uses the com.corejsf.UploadFilter.repositoryPath parameter in web.xml as the location to store a temporary file.  These temporary files are removed after the import is completed.  com.corejsf.UploadFilter.repositoryPath is set to /tmp by default.  This again can be overridden in sakai.properties the same way as in File Upload/Audio recording questions.   Please make sure that Sakai has write privilege to this directory.

For example, 

    samigo.answerUploadRepositoryPath=/sakaitmp/

Conversion from 2.2.x to 2.3

If you are upgrading from Samigo 2.2.x to 2.3, after you finish running the conversion script, please be sure to turn off autoddl by setting autoddl=false in your sakai.properties file. There is a known issue with autoddl=true which causes duplicate indexes to be created.