Upgrade version 2.8 to 2.12

Upgrade version 2.8 to 2.12

by Brad Saxton -
Number of replies: 3
Can WebWork be upgraded from version 2.8 to 2.12 directly or should we go through each incremental version (ie. 2.8 -> 2.9 -> 2.10 -> 2.11 -> 2.12) in turn.

In reply to Brad Saxton

Re: Upgrade version 2.8 to 2.12

by Michael Gage -
I haven't tried it but I don't know of any fundamental reason why you can't upgrade directly from 2.8 to 2.12.  You should read the release notes for all of the intermediate versions, particularly any remarks about configuration changes and or additional cpan modules needed.  There are also some scripts that need to be run to upgrade the "admin course" before it is accessible from the web and can be used to upgrade the other courses from the admin webpage.

Since you will be making more configuration changes than if you go from one release to the next I would set aside a bit more time to solve puzzles as you perform the upgrade but over all it will probably be quicker to do the one big upgrade than 4 smaller ones.

In reply to Michael Gage

Re: Upgrade version 2.8 to 2.12

by Michael Gage -
If you do proceed with the jump upgrade let us know how it goes.  I'm sure that others will be interested.

-- Mike
In reply to Michael Gage

Re: Upgrade version 2.8 to 2.12

by Björn Bergstrand -
I updated webwork from 2.8 to 2.12 with almost no issues. UTF-characters did not work, but applying the patch at resolved that issue.

However: When running the OPL-update script it fails with message:

DBD::mysql::db do failed: Specified key was too long; max key length is 1000 bytes at /var/webwork/webwork2/bin/OPL-updat
e line 266.

The offending query is:

CREATE TABLE `OPL_author` (  
       author_id int (15) NOT NULL auto_increment,
       institution tinyblob,
       lastname varchar (255) NOT NULL,
       firstname varchar (255) NOT NULL,
       email varchar (255),
       KEY author (lastname, firstname),
       PRIMARY KEY (author_id)

It seems to have to do with UTF-characters again, where 255 of them take up too many bytes for the index.
Unfortunately the library browser does not work because of this.
Is there a way around this issue?

EDIT: After some googling it seems that the problem is with the myisam-engine. However, i have
$database_storage_engine = 'innodb';
in my site.conf, so i'm not sure why OPL-update wants to use myisam.

EDIT2: Well it turns out that the offenting configuration was in defaults.config. I changed MYISAM to INNODB and the update ran through fine.