Skip to content

WISE v4.8 Release Notes

Hiroki Terashima edited this page Jan 9, 2015 · 29 revisions

Table of Contents

Release Schedule

Release dates:
Stable: Feb. 28, 2014. https://groups.google.com/d/msg/wise-dev/3KZxaGnADxs/bGWem8b0ABgJ
RC2: Feb. 14, 2014. https://groups.google.com/d/msg/wise-dev/Xar63ryhHPQ/L5GkxxnNBokJ
RC1: Feb. 5, 2014. https://groups.google.com/forum/#!topic/wise-dev/z2GGY8hCZ7Y

Goals

  1. Merge "VLE" and "PORTAL" projects into one "WISE" project: https://github.com/WISE-Community/WISE
    1. Reduce memory footprint by merging the two projects
    2. All configurations will be done in one "wise.properties" file
  2. Create simpler workflow for developers who want to contribute
    1. Require less setup (use HSQLDB, one config file)
    2. Write up git workflow to check out project, make changes, and commit
  3. Start development of generic JS/HTML5 step type https://groups.google.com/d/msg/wise-dev/WXKRETtmj8I/YeHyduXMR2wJ

Unresolved Issues

  1. See here: https://github.com/WISE-Community/WISE/issues?milestone=1&page=1&state=open

Major additions/changes

  1. Merged "VLE" and "Portal" codebase into "WISE": https://github.com/WISE-Community/WISE
    1. Merged "vle_database" and "sail_database" into "wise_database"
    2. Merged config files and simplified configuration process
    3. Removed files that we no longer use
    4. Refactored files to take advantage of the single context we now have
  2. Made the grading tool load quicker by only loading the minimum of what is necessary and only requesting student data as it is needed
  3. You can now develop WISE without IDE
    1. choose between mysql and hsqldb
    2. terminal setup process to initialize/reset WISE data
  4. Branching based on MultipleChoice item in Questionnaire step
  5. Added database column indexes to reduce slow queries

Minor additions/changes

  1. Signed all of our applet jars to comply with java7 update 51
  2. More internationalization
  3. More translations
  4. Improved translation tool
  5. Updated dependencies: hibernate, c3p0
  6. Show installed WISE version and latest WISE version info in admin page

Updating instructions (for people upgrading from v4.7)

There is no more vlewrapper.war and webapp.war. They have been combined to wise.war.

1. Download wise.war

  1. Backup $CATALINA_HOME/webapps/vlewrapper and $CATALINA_HOME/webapps/webapp folders. Move them somewhere out of $CATALINA_HOME/webapps.
  2. Download wise.war from wise4.org and save it in $CATALINA_HOME/webapps/
  3. Start tomcat. This will explode $CATALINA_HOME/webapps/wise.war and create $CATALINA_HOME/webapps/wise folder.

2. Create wise.properties file

  1. Find and copy $CATALINA_HOME/webapps/wise/WEB-INF/classes/wise_production.properties to $CATALINA_HOME/webapps/wise/WEB-INF/classes/wise.properties
  2. Change the property values in the wise.properties file appropriately. Read the comments in the file for more details, and if you need help, ask the developer mailinglist.
For example you will most likely need to change these lines to reflect your WISE instance and point to the paths used on your computer:
wise.name=WISE at XYZ
wiseBaseURL=http://hostname:8080/wise
wiseBaseDir=/Users/wise/tomcat/webapps/wise
curriculum_base_dir=/Users/wise/tomcat/webapps/curriculum
studentuploads_base_dir=/Users/wise/tomcat/webapps/studentuploads
You may or may not need to change certain property values. A lot of them do not need to be changed.

3. Queries to merge sail_database and vle_database into wise_database

In v4.8, all of WISE's database is stored in "wise_database". In v4.7 and older, VLE data was stored in "vle_database", and PORTAL data was stored in "sail_database". We'll need to merge the two into "wise_database".

First, we'll need to create a new 'wise_database' and give appropriate privileges to the wise4user like so:

# log into mysql as root
$ mysql -u root -p     

# create new database called 'wise_database'
mysql> create database wise_database default character set=utf8;

# give wise4user access to the new database
mysql> grant all privileges on wise_database.* to 'wise4user'@'localhost' identified by 'wise4pass';

mysql> flush privileges;  
mysql> exit;

Next, we'll dump vle_database and sail_database into backup files, and them import them into wise_database

# dump vle_database into vle_database.sql
$ mysqldump vle_database --user=wise4user --password=wise4pass > vle_database_dump.sql

# dump sail_database into sail_database.sql
$ mysqldump sail_database --user=wise4user --password=wise4pass > sail_database_dump.sql

# import vle_database.sql into wise_database
$ mysql wise_database --user=wise4user --password=wise4pass < vle_database_dump.sql 

# import sail_databse.sql into wise_database
$ mysql wise_database --user=wise4user --password=wise4pass < sail_database_dump.sql 

4. Other queries

Run these queries in your database:

# update portal settings
mysql> INSERT INTO wise_database.portal (id,settings,sendmail_on_exception,OPTLOCK) VALUES (1,'{isLoginAllowed:true}',1,0) ON DUPLICATE KEY UPDATE settings='{isLoginAllowed:true}';

# update class paths in acl_class table to match new code layout
mysql> update wise_database.acl_class set class="org.wise.portal.domain.project.impl.ProjectImpl" where class="org.telscenter.sail.webapp.domain.project.impl.ProjectImpl";

mysql> update wise_database.acl_class set class="org.wise.portal.domain.run.impl.RunImpl" where class="org.telscenter.sail.webapp.domain.impl.RunImpl";

mysql> update wise_database.acl_class set class="org.wise.portal.domain.workgroup.impl.WISEWorkgroupImpl" where class="org.telscenter.sail.webapp.domain.workgroup.impl.WISEWorkgroupImpl";

ALTER TABLE `wise_database`.`chatlog` CHANGE COLUMN `chatRoomId` `chatRoomId` VARCHAR(255) NULL DEFAULT NULL  ;

ALTER TABLE `wise_database`.`journal` CHANGE COLUMN `data` `data` TEXT NULL DEFAULT NULL  ;

ALTER TABLE `wise_database`.`portal_statistics` CHANGE COLUMN `id` `id` BIGINT NOT NULL AUTO_INCREMENT  ;

ALTER TABLE `wise_database`.`portal_statistics` CHANGE COLUMN `totalNumberStudents` `totalNumberStudents` BIGINT NULL DEFAULT NULL  , CHANGE COLUMN `totalNumberStudentLogins` `totalNumberStudentLogins` BIGINT NULL DEFAULT NULL  , CHANGE COLUMN `totalNumberTeachers` `totalNumberTeachers` BIGINT NULL DEFAULT NULL  , CHANGE COLUMN `totalNumberTeacherLogins` `totalNumberTeacherLogins` BIGINT NULL DEFAULT NULL  , CHANGE COLUMN `totalNumberProjects` `totalNumberProjects` BIGINT NULL DEFAULT NULL  , CHANGE COLUMN `totalNumberRuns` `totalNumberRuns` BIGINT NULL DEFAULT NULL  , CHANGE COLUMN `totalNumberProjectsRun` `totalNumberProjectsRun` BIGINT NULL DEFAULT NULL  ;

ALTER TABLE `wise_database`.`premadecomments` CHANGE COLUMN `listposition` `listposition` BIGINT NULL DEFAULT NULL  ;

ALTER TABLE `wise_database`.`runstatus` CHANGE COLUMN `id` `id` BIGINT NOT NULL AUTO_INCREMENT  , CHANGE COLUMN `runId` `runId` BIGINT NULL DEFAULT NULL  ;

ALTER TABLE `wise_database`.`studentstatus` CHANGE COLUMN `id` `id` BIGINT NOT NULL AUTO_INCREMENT  , CHANGE COLUMN `runId` `runId` BIGINT NULL DEFAULT NULL  , CHANGE COLUMN `periodId` `periodId` BIGINT NULL DEFAULT NULL  , CHANGE COLUMN `workgroupId` `workgroupId` BIGINT NULL DEFAULT NULL  ;

ALTER TABLE `wise_database`.`announcements` CHANGE COLUMN `announcement` `announcement` MEDIUMTEXT NULL DEFAULT NULL  ;

ALTER TABLE `wise_database`.`newsitem` CHANGE COLUMN `news` `news` TEXT NULL DEFAULT NULL  ;

ALTER TABLE `wise_database`.`ideabasket` 
ADD INDEX `runIdAndWorkgroupIdIndex` (`runId` ASC, `workgroupId` ASC);

ALTER TABLE `wise_database`.`userinfo` 
ADD INDEX `workgroupIdIndex` (`workgroupId` ASC);

ALTER TABLE `wise_database`.`studentstatus` 
ADD INDEX `workgroupIdIndex` (`workgroupId` ASC),
ADD INDEX `runIdIndex` (`runId` ASC);

ALTER TABLE `wise_database`.`node` 
ADD INDEX `runIdIndex` (`runId` ASC);

ALTER TABLE `wise_database`.`runstatus` 
ADD INDEX `runIdIndex` (`runId` ASC);
Clone this wiki locally