queXS 1.14.0 Released

queXS 1.14.0 has been released on Sourceforge today.

User authentication is now session based (no need to set up web server directory authentication). Other new features include the ability to order sample files within questionnaires and overall to determine which sample new numbers should be drawn from first. The client panel has been updated to include basic summary statistics. Also the admin backend allows for the definition of custom outcome codes and the selection of outcome codes to display on a questionnaire by questionnaire basis.

Bug fixes include the quota report where multiple lime quotas are used, and self completions are counted towards the quota. A bug relating to creating new cases due to a random number collision has also been fixed.

Translations have been updated - thank you for your contributions. Please note queXS has a lot of new features and an updated interface now - so if you are able to update your translations it would be greatly appreciated.

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

Upgrading from queXS 1.13.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:

    /* Make the first user the admin user - with default password of: password */
    INSERT INTO `lime_users` (`users_name`, `password`, `full_name`, `parent_id`, `lang`, `superadmin`)
    SELECT username, 0x35653838343839386461323830343731353164306535366638646336323932373733363033643064366161626264643632613131656637323164313534326438, firstName, 0, 'auto', 1
    FROM operator
    WHERE operator_id = 1;

    /* Make all other users operators - with default password of: password */
    INSERT INTO `lime_users` (`users_name`, `password`, `full_name`, `parent_id`, `lang`, `superadmin`)
    SELECT username, 0x35653838343839386461323830343731353164306535366638646336323932373733363033643064366161626264643632613131656637323164313534326438, firstName, 1, 'auto', 0
    FROM operator
    WHERE operator_id != 1;

    /* Make all clients - with default password of: password */
    INSERT INTO `lime_users` (`users_name`, `password`, `full_name`, `parent_id`, `lang`, `superadmin`)
    SELECT username, 0x35653838343839386461323830343731353164306535366638646336323932373733363033643064366161626264643632613131656637323164313534326438, firstName, 1, 'auto', 0
    FROM client
    WHERE 1;

    /* Remove redundant table */
    DROP TABLE `sessions2`;

    /* Add sort order feature to questionnaire sample table */
    /* after update just open "Assign & Sort questionnaire samples" admin page (assignsample.php) and set required sort_order*/
    ALTER TABLE `questionnaire_sample` ADD `sort_order` INT( 11 ) NOT NULL DEFAULT '1';

    /* Add default outcomes feature */

    /* -- add `default` and `permanent` parameters for outcomes -- */
    ALTER TABLE `outcome` ADD `default` TINYINT(1) UNSIGNED NOT NULL DEFAULT '1' COMMENT 'Used as default for questionnaire outcomes' AFTER `calc`, ADD `permanent` TINYINT(1) UNSIGNED NOT NULL COMMENT 'Permanent outcome, used for all questionnaires, not possible to de-select' AFTER `default`;

    /* -- define and set mandatory(constant) outcome_id's --*/
    UPDATE `outcome` SET `permanent` = '1' WHERE `outcome`.`outcome_id` IN (1,2,3,7,9,10,14,17,18,19) ;

    /* -- set AUTO_INCREMENT to 100 @ `outcome` to reserve some id's -- */
    ALTER TABLE `outcome` AUTO_INCREMENT = 100;

    /* -- add `outcomes` parameter , define default list of outcome_ID's to be enabled for new questionnaries --*/
    ALTER TABLE `questionnaire` ADD `outcomes` VARCHAR(256) NULL DEFAULT '1,2,3,7,9,10,14,17,18,19' COMMENT 'Comma-separated string of outcomes defined for the questionnaire' AFTER `enabled`;

    /* -- enable all outcomes for existing questionnaires -- */
    UPDATE `questionnaire` SET `outcomes` = '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,40,41,42,43,44,45' ;

  8. Rename the queXS 1.13.0 directory
  9. Extract quexs-1.14.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.13.x installation to this directory