queXS 1.4.0 Released

queXS 1.4.0 has been released today on Sourceforge

queXS 1.4.0 contains a new case availability feature, which allows administrators to specify time slots that interviewers can use to restrict case availability (for example - only available on weekday evenings). Other minor features include being able to assign a case to appear next for a specific operator and an update to the latest queXMLPDF class. Bug fixes include correcting a hangup issue on SIP channels, and fixing the display of the respondent selection text editor in Chrome (thanks Grzesiek for the patch).

Read on for more details including how to upgrade from 1.3.0 (Database changes required)

  1. Backup your database and files
  2. Run the following SQL on the database:
    ALTER TABLE `operator` ADD `next_case_id` BIGINT( 20 ) default NULL ;
    ALTER TABLE `call` ADD INDEX(`start`);
    ALTER TABLE `case` ADD INDEX(`last_call_id`);
    ALTER TABLE `lime_saved_control` CHANGE `identifier` `identifier` BIGINT( 20 ) NOT NULL;
    ALTER TABLE `lime_saved_control` ADD INDEX(`identifier`);
    ALTER TABLE `lime_saved_control` ADD INDEX(`srid`);

    CREATE TABLE IF NOT EXISTS `availability` (
    `availability_id` bigint(20) NOT NULL auto_increment,
    `availability_group_id` bigint(20) NOT NULL,
    `start` time NOT NULL,
    `end` time NOT NULL,
    `day_of_week` tinyint(1) NOT NULL,
    PRIMARY KEY (`availability_id`),
    KEY `availability_group_id` (`availability_group_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

    INSERT INTO `availability` (`availability_id`, `availability_group_id`, `start`, `end`, `day_of_week`) VALUES
    (1, 1, '00:00:00', '11:59:59', 2),
    (2, 1, '00:00:00', '11:59:59', 3),
    (3, 1, '00:00:00', '11:59:59', 4),
    (4, 1, '00:00:00', '11:59:59', 5),
    (5, 1, '00:00:00', '11:59:59', 6),
    (6, 2, '12:00:00', '17:59:59', 2),
    (7, 2, '12:00:00', '17:59:59', 3),
    (8, 2, '12:00:00', '17:59:59', 4),
    (9, 2, '12:00:00', '17:59:59', 5),
    (10, 2, '12:00:00', '17:59:59', 6),
    (11, 3, '18:00:00', '23:59:59', 2),
    (12, 3, '18:00:00', '23:59:59', 3),
    (13, 3, '18:00:00', '23:59:59', 4),
    (14, 3, '18:00:00', '23:59:59', 5),
    (15, 3, '18:00:00', '23:59:59', 6),
    (16, 4, '00:00:00', '23:59:59', 7);

    CREATE TABLE IF NOT EXISTS `availability_group` (
    `availability_group_id` bigint(20) NOT NULL auto_increment,
    `description` text collate utf8_unicode_ci NOT NULL,
    PRIMARY KEY (`availability_group_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

    INSERT INTO `availability_group` (`availability_group_id`, `description`) VALUES
    (1, 'Weekday mornings (Before 12pm)'),
    (2, 'Weekday afternoons (After 12pm but before 6pm)'),
    (3, 'Evenings (After 6pm)'),
    (4, 'Saturdays');

    CREATE TABLE IF NOT EXISTS `case_availability` (
    `case_id` bigint(20) NOT NULL,
    `availability_group_id` bigint(20) NOT NULL,
    PRIMARY KEY (`case_id`,`availability_group_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

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

  3. Rename the queXS 1.3.0 directory
  4. Extract quexs-1.4.0 to a new directory on your web server
  5. Rename the new directory to the same as the existing installation was originally
  6. Copy the config.inc.local.php file from the queXS 1.3.0 installation to this directory