2.5 Release Notes

2.5 Release Notes

New Features in 2.5

  • Allow ability to move/copy/remove multiple questions to other pools SAK-11254 - Getting issue details... STATUS
  • Allow ability to adjust score in edit assessment screen SAK-11252 - Getting issue details... STATUS
  • allow ability to remove published assessments SAK-11237 - Getting issue details... STATUS
  • Allow feedback to be viewed right after an assessment is submitted. SAK-10523 - Getting issue details... STATUS
  • Add event logging for user operations SAK-11137 - Getting issue details... STATUS
  • Allow copying of all questions in a part to a selected pool SAK-11364 - Getting issue details... STATUS
  • Allow students' responses to be exported to Excel. SAK-4399 - Getting issue details... STATUS
  • Allow point values of questions to be reset when a random draw from pool part is created; All questions from the pool are copied to the part. SAK-11332 - Getting issue details... STATUS

Issues resolved in 2.5.0

140 JIRA bugs/tasks were resolved in 2.5.
Click to see Issues resolved in 2.5

Issues resolved after 2.5.0.

Click to see Issues resolved after 2.5.0

Known issues in 2.5

Click to see Samigo Known Issues 

Configuration: 

sakai.properties settings: 

Email settings:  In 2.5, sakai smtp server settings are used as default so no separate smtp server needs to be set for Samigo.

# The email settings are for Samigo only. They are used because Sakai email
# doesn't support Resources attachments. Samigo first looks to these settings

# instead of the regular Sakai email settings. If they are not set, the

# Sakai email settings will be used. Please note, these settings do not   
# override the usual Sakai settings.
#
# outgoing SMTP server (If not set, the Sakai smtp server setting will be used)
#samigo.smtp.server=
# outgoing SMTP port (If not set, the default part 25 will be used)
#samigo.smtp.port=
#
# Temp directory for handling email attachment files.
samigo.email.prefixedPath=/tmp/
 

# to allow testing of the Word-2-QTI convertor, the "easy" text editing of question and answer text
# samigo.samliteEnabled=true

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 :


  1. assuming we have deployed sakai in tomcat already, i.e. samigo.war has expanded in tomcat/webapps, kill tomcat

  2. 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"

  3. 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

  4. signing applet
      cd ../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

  5. restart tomcat


  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

Or
3. There is also a 3rd way, which is to sign the applet during maven build/deploy. Modify your sakai/sam/samigo-audio/pom.xml file, and the jar will be signed and deployed.

<!--replace your alias, storepass and keystore location -->


  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <executions>
           <execution>
              <goals>
                 <goal>sign</goal>
              </goals>
           </execution>
        </executions>
        <configuration>
           <keystore>/somepath/your.keystore</keystore>
           <alias>youralias</alias>
           <storepass>yourpassword</storepass>
           <verify>true</verify>
        </configuration>
      </plugin>
    </plugins>
    <resources>
      ...
    </resources>
  </build>


 

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.4.x to 2.5

If you are upgrading from Samigo 2.4.x to 2.5, 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.