2.4 Release Notes
New Features in 2.4
- Added email functionality to allow instructors to email individual students from 'Scores' screens. SAK-7094
- Allow instructors to give individual students permission to re-take an assessment. SAK-7093
- A disable/enable toggle of all FCK Editors in Authoring screen. SAK-5904
- Random questions and multiple attempts: added flavor of randomization selection for random parts. SAK-7696
- Allow Samigo contents to be imported from other Sakai Sites using the Site Info tool's 'Import From Site' link. SAK-7378
- Allow instructors to change feedback settings for after assessments are published. SAK-3943
- Change the 'copy' function in question pool to be a deep copy, rather than a link. SAK-3526
- Implemented IMS content packaging to allow import/export of assessments with attachments SAK-5419
- Allow importing of Samigo assessments to Question Pool. SAK-6993
- Importing simple text formatted assessments to Samigo using Word-2-QTI converter. SAK-8642
- i18n Internationalization/localization support implemented. SAK-8643
Bugs and Tasks resolved in 2.4
140 JIRA bugs/tasks were resolved in 2.4.
Click to see Bugs/Tasks resolved in 2.4
Bug fixes made after 2.4.0
Click to see Bug fixes in 2.4.x
Known issues in 2.4
Click to see Samigo Known Issues
Configuration:
sakai.properties settings:
New settings added in 2.4:
# The e-mail settings are for Samigo only. They are used because Sakai # doesn't support real attachments. Samigo looks to these settings # instead of the regular Sakai e-mail settings. Also, these settings # do not override the usual Sakai settings. # # outgoing SMTP server (required) samigo.smtp.server=smtp.somewhere.edu # outgoing SMTP port (default: 25) samigo.smtp.port=25 # # Bypass SMTP AUTH for outgoing mail (default: false) # if false, specify username/password samigo.email.bypassAuth=false samigo.email.username=SMTP_AUTH_USER samigo.email.password=SMTP_AUTH_PASSWORD # # Temp directory for handling attachment files. Please make sure that Sakai has write privilege to the directory specified in samigo.email.prefixedPath. 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 :
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
Or
3. There is also a 3rd way, which is to sign the applet during maven build/deploy. We do this for our production deployment. Just add this postGoal in your sakai/sam/samigo-audio/maven.xml file, and the jar will be signed and deployed.
<!--replace the storepass and keystore location --> <postGoal name="jar:jar"> <ant:signjar alias="youralias" keystore="/somepath/your.keystore" storepass="yourpassword"> <ant:fileset dir="target"> <ant:include name="*.jar" /> </ant:fileset> </ant:signjar> </postGoal>
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.3.x to 2.4
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.