queXS 1.12.0 Released

queXS 1.12.0 has been released on Sourceforge today.

Complex quotas have been implemented. These quotas allow for multiple sample fields to be referenced when calculating completions instead of a single field. Also, time slots can be defined on a sample by sample basis as well as a questionnaire by questionnaire basis. Also included is a collection of bug fixes and translation/localisation updates.

Read on for more details including how to upgrade from queXS 1.11.x (Database upgrade required)

Upgrading from queXS 1.11.x (Database upgrade required)

  1. Browse to the queXS administration page
  2. Click on "Start and monitor system wide case sorting"
  3. Confirm that the sorting process is stopped
  4. Click on "Start and monitor VoIP"
  5. Confirm that the VoIP process is stopped
  6. IMPORTANT: Backup your database and files
  7. Run the following SQL on the queXS database:

    CREATE TABLE `questionnaire_sample_timeslot` (
    `questionnaire_id` bigint( 20 ) NOT NULL ,
    `sample_import_id` bigint( 20 ) NOT NULL ,
    `availability_group_id` bigint( 20 ) NOT NULL ,
    PRIMARY KEY ( `questionnaire_id` , `availability_group_id` , `sample_import_id` )
    ) ENGINE = InnoDB DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci;

    CREATE TABLE `qsqr_question` (
    `qsqr_question_id` bigint(20) NOT NULL AUTO_INCREMENT,
    `questionnaire_sample_quota_row_id` bigint(20) NOT NULL,
    `lime_sgqa` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
    `value` varchar(2048) COLLATE utf8_unicode_ci NOT NULL,
    `comparison` varchar(15) COLLATE utf8_unicode_ci NOT NULL,
    `description` text COLLATE utf8_unicode_ci NOT NULL,
    PRIMARY KEY (`qsqr_question_id`),
    KEY `questionnaire_sample_quota_row_id` (`questionnaire_sample_quota_row_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;

    CREATE TABLE `qsqr_sample` (
    `qsqr_sample_id` bigint(20) NOT NULL AUTO_INCREMENT,
    `questionnaire_sample_quota_row_id` bigint(20) NOT NULL,
    `exclude_var` char(128) COLLATE utf8_unicode_ci NOT NULL,
    `exclude_val` varchar(256) COLLATE utf8_unicode_ci NOT NULL,
    `comparison` varchar(15) COLLATE utf8_unicode_ci NOT NULL,
    `description` text COLLATE utf8_unicode_ci NOT NULL,
    PRIMARY KEY (`qsqr_sample_id`),
    KEY `questionnaire_sample_quota_row_id` (`questionnaire_sample_quota_row_id`),
    KEY `exclude_var` (`exclude_var`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;

    INSERT INTO qsqr_question (questionnaire_sample_quota_row_id,lime_sgqa,value,comparison)
    SELECT questionnaire_sample_quota_row_id, lime_sgqa, value, comparison
    FROM questionnaire_sample_quota_row
    WHERE lime_sgqa != -1 AND lime_sgqa != -2;

    INSERT INTO qsqr_sample (questionnaire_sample_quota_row_id,exclude_var,exclude_val,comparison)
    SELECT questionnaire_sample_quota_row_id, exclude_var,exclude_val, 'LIKE'
    FROM questionnaire_sample_quota_row;

    ALTER TABLE `questionnaire_sample_quota_row`
    DROP `lime_sgqa`,
    DROP `value`,
    DROP `comparison`,
    DROP `exclude_var`,
    DROP `exclude_val`;

  8. Rename the queXS 1.11.x directory
  9. Extract quexs-1.12.0 to a new directory on your web server
  10. Rename the new directory to the same as the existing installation was originally
  11. Copy the config.inc.local.php file from the queXS 1.11.x installation to this directory
  12. If you used .htaccess files, copy these to their respective directories also, for example: .htaccess admin/.htaccess client/.htaccess include/limesurvey/admin/.htaccess