-
Notifications
You must be signed in to change notification settings - Fork 24
WISE v5.0 Release Notes
Hiroki Terashima edited this page Mar 12, 2016
·
51 revisions
Stable: Mar 11, 2016 Announcement
RC2: Feb 23, 2016 Announcement
RC1: Feb 12, 2016 Announcement
You can download WISE 5.0 at http://wise5.org
WISE5 Goals Read WISE5's goals.
WISE5 Design Doc and Notes Read this to get an overview of what's new in WISE5.
List of Issues for v5.0 List of issues for WISE5.
This release requires Tomcat 8.0.x and and java 7+ to work with WebSockets. WISE@Berkeley is using Tomcat 8.0.28 with java 1.7.0_95 (as of Feb. 2016)
- Client-side VLE re-written using AngularJS and ES6.
- New visual design for the VLE
- A New Project Structure to support adaptive navigation like branching, hinging, constraints.
- New "Component" project data type. WISE4 "Step" => WISE5 "Component". WISE5 "Step" is a collection of one or more "Components". You can read more on components here.
- Event Logging support.
- Auto-save for all components.
- Responsive Design to work on different screen sizes.
- Simpler development process using npm.
- Performance improvements in client and server-side codebases.
- Unit Tests and End-to-End tests.
- Merge student data size limitation levels into one
- PreviewProject now uses the lang=XX option in the URL param
- More translations into Hebrew, and Traditional Chinese
- Upgraded SpringFramework dependency 4.1.4 => 4.2.0
- Upgraded SpringSecurity dependency 4.0.1 => 4.0.2
- Refactoring and code cleanup
- Removed *.html from URL paths
- /previewprojectlist.html => /projectlibrary
/teacher/index.html => /teacher
/student/index.html => /student
/signup.html => /join
/student/registerstudent.html => /student/join
/teacher/registerteacher.html => /teacher/join
/student/startproject.html => /student/startproject
/vleconfig.html => /vleconfig
etc...
- /previewprojectlist.html => /projectlibrary
- Bug fixes
1. Add new key/value pairs to wise.properties (see wise_sample.properties for example)
student_max_work_size=512000 defaultLocale=en google_analytics_id= userAgentParseKey=You can then remove "student_max_work_size_default", "student_max_work_size_large", and "nodes_with_large_student_work" keys.
2. Run queries to update database
DROP TABLE `stepwork_cache`; ALTER TABLE `projects` ADD COLUMN `wiseVersion` INT(2) NULL DEFAULT NULL AFTER `run_fk`; ALTER TABLE `annotation` ADD COLUMN `nodeId` VARCHAR(45) NULL DEFAULT NULL AFTER `toUser_id`; # drop duplicateId column from stepwork table. https://github.com/WISE-Community/WISE/issues/528 ALTER TABLE `stepwork` DROP column duplicateId; # make stepwork table's postTime, node_id, userInfo_id, and data fields not nullable. separated into multiple queries since each query takes a long time to run ALTER TABLE `stepwork` CHANGE COLUMN `userInfo_id` `userInfo_id` BIGINT(20) NOT NULL; ALTER TABLE `stepwork` CHANGE COLUMN `node_id` `node_id` BIGINT(20) NOT NULL; ALTER TABLE `stepwork` CHANGE COLUMN `postTime` `postTime` DATETIME NOT NULL; ALTER TABLE `stepwork` CHANGE COLUMN `data` `data` MEDIUMTEXT NOT NULL; # change postLevel to non-null column and any existing null fields to 5 (max postlevel) UPDATE `runs` set `postLevel` = 5 where `postLevel` is null; ALTER TABLE `runs` CHANGE COLUMN `postLevel` `postLevel` INT(11) NOT NULL ; # add StudentWork table and set indices create table studentWork ( id integer not null auto_increment, clientSaveTime datetime not null, componentId varchar(30), componentType varchar(30), isAutoSave bit not null, isSubmit bit not null, nodeId varchar(30) not null, serverSaveTime datetime not null, studentData mediumtext not null, periodId bigint not null, runId bigint not null, workgroupId bigint not null, primary key (id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; alter table studentWork add constraint FK_mimnejycw7u1bgltxkf3wbxwh foreign key (periodId) references groups (id); alter table studentWork add constraint FK_1bx4p6cs0itbhbugx9a1ov8fq foreign key (runId) references runs (id); alter table studentWork add constraint FK_4hqdejeubrrob2lvlgkqgw63k foreign key (workgroupId) references wiseworkgroups (id); create index runIdIndex on studentWork (runId); create index workgroupIdIndex on studentWork (workgroupId); # add events table and set indices create table events ( id integer not null auto_increment, category varchar(255) not null, clientSaveTime datetime not null, componentId varchar(30), componentType varchar(30), context varchar(30) not null, data text not null, event varchar(255) not null, nodeId varchar(30), serverSaveTime datetime not null, periodId bigint not null, runId bigint not null, workgroupId bigint not null, primary key (id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; alter table events add constraint FK_hvs65ix9oss3abisglg7r502r foreign key (periodId) references groups (id); alter table events add constraint FK_18ony502dcyxdrgjriir0u8bm foreign key (runId) references runs (id); alter table events add constraint FK_jh9ptmwgfdnyq9flj9mly66qd foreign key (workgroupId) references wiseworkgroups (id); create index runIdIndex on events (runId); create index workgroupIdIndex on events (workgroupId); # add Annotations table and set indices create table annotations ( id integer not null auto_increment, clientSaveTime datetime not null, componentId varchar(30), data text not null, nodeId varchar(30), serverSaveTime datetime not null, type varchar(30) not null, studentWorkId integer, fromWorkgroupId bigint, periodId bigint not null, runId bigint not null, toWorkgroupId bigint not null, primary key (id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; create index runIdIndex on annotations (runId); create index toWorkgroupIdIndex on annotations (toWorkgroupId); alter table annotations add constraint FK_1d5pxm1esuhp2itfr2xx6cha9 foreign key (studentWorkId) references studentWork (id); alter table annotations add constraint FK_3uwsbpxbqpqynfwt7oym6p59g foreign key (fromWorkgroupId) references wiseworkgroups (id); alter table annotations add constraint FK_k3bkb9frmuj637vfehvmnrdqo foreign key (periodId) references groups (id); alter table annotations add constraint FK_qoauslcyxtauxtlgeipbsxj1n foreign key (runId) references runs (id); alter table annotations add constraint FK_ss22rostrwvgvh4x7n5mmq173 foreign key (toWorkgroupId) references wiseworkgroups (id); # add studentAssets table and set indices create table studentAssets ( id integer not null auto_increment, clientDeleteTime datetime, clientSaveTime datetime not null, componentId varchar(30), componentType varchar(30), filePath varchar(255) not null, fileSize bigint not null, fileName varchar(255) not null, isReferenced bit not null, nodeId varchar(30), serverDeleteTime datetime, serverSaveTime datetime not null, periodId bigint not null, runId bigint not null, workgroupId bigint not null, primary key (id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; create index runIdIndex on studentAssets (runId); create index workgroupIdIndex on studentAssets (workgroupId); alter table studentAssets add constraint FK_i27j9qbi42yndvm9u2fqu7x9o foreign key (periodId) references groups (id); alter table studentAssets add constraint FK_g3yxcw4g5gt6t2febfuoeyu6q foreign key (runId) references runs (id); alter table studentAssets add constraint FK_1op2r8en8svkyyh8k0o00sb9n foreign key (workgroupId) references wiseworkgroups (id); # add NotebookItems table and set indices create table notebookItems ( id integer not null auto_increment, clientDeleteTime datetime, clientSaveTime datetime not null, componentId varchar(30), content text, nodeId varchar(30), serverDeleteTime datetime, serverSaveTime datetime not null, title varchar(255), type varchar(30), periodId bigint not null, runId bigint not null, studentAssetId integer, studentWorkId integer, workgroupId bigint not null, primary key (id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; create index runIdIndex on notebookItems (runId); create index workgroupIdIndex on notebookItems (workgroupId); alter table notebookItems add constraint FK_ise5npapdk8l8oboed1cwdpvy foreign key (periodId) references groups (id); alter table notebookItems add constraint FK_ovww8da6he3tajdqcv5kjnkyc foreign key (runId) references runs (id); alter table notebookItems add constraint FK_qhj21osipe081frv53u06gsf7 foreign key (studentAssetId) references studentAssets (id); alter table notebookItems add constraint FK_o7cl4ipb1r8i5golyna3hd3iq foreign key (studentWorkId) references studentWork (id); alter table notebookItems add constraint FK_1kysecht20yj67y65kh1n1agw foreign key (workgroupId) references wiseworkgroups (id); # Merge urlmodules table into modules table PART 1/3 # commit: https://github.com/WISE-Community/WISE/commit/2b8c6d0548476093c940eb23d806031ad7a3ca64 alter table modules add column moduleUrl varchar(255) not null; # Merge urlmodules table into modules table PART 2/3 UPDATE modules JOIN urlmodules ON modules.id = urlmodules.id SET modules.moduleUrl = urlmodules.module_url; # Merge urlmodules table into modules table PART 3/3 drop table urlmodules; # change Run.owners => Run.owner PART 1/4 # add runs.owner_fk column alter table `runs` add column `owner_fk` bigint(20) not null; # change Run.owners => Run.owner PART 2/4 # copy run owner data from runs_related_to_owners.owner_fk to run.owner_fk column UPDATE runs JOIN runs_related_to_owners ON runs.id = runs_related_to_owners.runs_fk SET runs.owner_fk = runs_related_to_owners.owners_fk; # change Run.owners => Run.owner PART 3/4 # add foreign key to run.owner_fk alter table runs add constraint FK_rtby4u6ckas8uabbsphui5c3g foreign key (owner_fk) references users (id); # change Run.owners => Run.owner PART 4/4 # delete runs_related_to_owners table drop table runs_related_to_owners; # change Project.owners => Project.owner PART 1/4 # add projects.owner_fk column alter table projects add column `owner_fk` bigint(20) not null; # change Project.owners => Project.owner PART 2/4 # copy project owner data from projects_related_to_owners.owner_fk to project.owner_fk column UPDATE projects JOIN projects_related_to_owners ON projects.id = projects_related_to_owners.projects_fk SET projects.owner_fk = projects_related_to_owners.owners_fk; # change Project.owners => Project.owner PART 3/4 # add foreign key to project.owner_fk alter table projects add constraint FK_lglinci94nt1chg4acxpds1nh foreign key (owner_fk) references users (id); # change Project.owners => Project.owner PART 4/4 # delete projects_related_to_owners table drop table projects_related_to_owners; # Drop modules_related_to_owners table drop table modules_related_to_owners; # Drop projects.run_fk column. Will need to drop the foreign key constraint first. show create table projects; alter table projects drop foreign key FOREIGN_KEY_ID; (replace FOREIGN_KEY_ID with id of the constraint, like FKC479187ABD6D05A5, which you can find in the output of the "show create table projects" above.) alter table projects drop column run_fk; # change Tag.id type from Long to Integer alter table tags change column id id integer not null auto_increment; alter table projects_related_to_tags change column tag_fk tag_fk integer not null; # change NewsItem.id type from Long to Integer alter table newsitem change column id id integer not null auto_increment; # change portal.id from bigint to tinyint alter table portal change column id id tinyint not null auto_increment; # change announcement.id from bigint to medium int. You might need to disable constraints to make this work. alter table runs_related_to_announcements change column announcements_fk announcements_fk mediumint not null; alter table announcements change column id id mediumint not null auto_increment; # change portal_statistics.id from bigint to unsigned smallint alter table portal_statistics change column id id smallint unsigned not null auto_increment; # change student_attendance.id from bigint to unsigned int alter table student_attendance change column id id int unsigned not null auto_increment;