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`;

queXS 1.10.1 - Changes since 1.10.0

Fixed Bug: Database creation fails due to additional comma (new installations)
Translations updated - Thank you!

queXS 1.10.0 - Changes since 1.9.2

New Feature: Operators can choose extension (see: https://blueprints.launchpad.net/quexs/+spec/operatorextension)
New Feature: Accept case referrals (see: https://blueprints.launchpad.net/quexs/+spec/referral)
Fixed Bug: Timezone detection not choosing best number

Database updates:

ALTER TABLE `questionnaire` ADD `referral` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `self_complete`

CREATE TABLE IF NOT EXISTS `extension` (
  `extension_id` int(11) NOT NULL AUTO_INCREMENT,
  `extension` char(10) COLLATE utf8_unicode_ci NOT NULL,
  `password` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  `status` tinyint(1) NOT NULL DEFAULT '0',
  `current_operator_id` bigint(20) DEFAULT NULL,
  PRIMARY KEY (`extension_id`),
  UNIQUE KEY `extension` (`extension`),
  UNIQUE KEY `current_operator_id` (`current_operator_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;

INSERT INTO `extension` (extension,password,current_operator_id,status)
SELECT extension,extension_password,operator_id,voip_status
FROM operator;

ALTER TABLE `operator`
DROP `extension`,
DROP `extension_password`,
DROP `voip_status`;

queXS 1.9.2 - Changes since 1.9.1

New Feature: Auto dial (set AUTO_DIAL_SECONDS in configuration) with VoIP enabled will automatically dial the first number for interviewers
Fixed Bug: lp:1255348 Text cut off when entering some special characters
Fixed Bug: lp:1255359 Translation strings with single quotes break some SQL queries
Fixed Bug: lp:1257163 problem - closing case following self-completion on line
Translations: Updated from Launchpad. Thank you especially to contributors to the Brazilian Portuguese and Italian translations that are now complete, and for the beginnings of a Hebrew translation

queXS 1.9.1 - Changes since 1.9.0

New Feature: Add caseid to SPSS output
New Feature: Add token to sample key output
New Feature: Add more metadata to data output including case notes, case outcome, total interview time, last number dialed, operator username
Fixed Bug: lp:1209479 Allows for the deletion and modification of availability groups
Fixed Bug: lp:1220515 Database error when displaying questionnaire
Fixed Bug: lp:1209486 Supervisor can assign a blank outcome to a case which makes it unavailable
Fixed Bug: Make sure sample fields without restrictions still display
Fixed Bug: Prefill questions displaying out of order and including wrong fields
Translations: Updated and Bosnian translation begun - Thank you for your contributions!

queXS 1.9.0 - Changes since 1.8.0

New Feature: Supervisor chat via XMPP/Jabber (allow interviewers to chat with a supervisor from the interviewer screen)
New Feature: Set downloading VoIP client as the default
Fixed Bug: Server overloads when downloading VoIP client if temporary directory not writeable
Translations: Updated Czech translation - Thank you!

Database updates:

ALTER TABLE `operator` ADD `chat_enable` TINYINT( 1 ) NULL DEFAULT '0',
ADD `chat_user` VARCHAR( 255 ) NULL ,
ADD `chat_password` VARCHAR( 255 ) NULL ;

queXS 1.8.0 - Changes since 1.7.6

New Feature: Allow for restricting the view of sample variables to operators
New Feature: Case status and assignment page allowing to view the current status of cases by questionnaire, and allow for the manual assigning to operators if required

Database updates:

CREATE TABLE IF NOT EXISTS `case_queue` (
  `case_queue_id` bigint(20) NOT NULL AUTO_INCREMENT,
  `case_id` bigint(20) NOT NULL,
  `operator_id` bigint(20) NOT NULL,
  `sortorder` int(11) NOT NULL,
  PRIMARY KEY (`case_queue_id`),
  UNIQUE KEY `case_id` (`case_id`),
  KEY `operator_id` (`operator_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

CREATE TABLE IF NOT EXISTS `sample_import_var_restrict` (
  `sample_import_id` bigint(20) NOT NULL,
  `var` char(128) collate utf8_unicode_ci NOT NULL,
  `restrict` tinyint(1) NOT NULL default '0',
  PRIMARY KEY  (`sample_import_id`,`var`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

queXS 1.7.6 - Changes since 1.7.5

Fixed Bug: Define operator skills as for the assigning of cases to operators
Fixed Bug: Define availability group as for respondent
Fixed Bug: Add description of shift defining process and label year and week of year
Fixed Bug: Add message about missing sample if sample not assigned 
Fixed Bug: Don't display overall stats unless explicitly selected
New Feature: Search for cases that have been assigned but not completed in more than 24 hours and put them back in the pool
New Feature: Allow for editing of assigned sample details
New Feature: Assign appointments in order of closest ending time
New Feature: Added IS_INTERVIEWER token so can check if the questionnaire is administered by an interviewer by the following Lime Expression Manager code: {if(IS_INTERVIEWER,'This is an interviewer','THIS IS NOT AN INTERVIEWER')}
Fixed Bug: Set default template if token specified but no equivalent token in queXS (i.e. when using limesurvey within queXS standalone)
Translations: Added Persian language and updated translations from Launchpad - thank you

queXS 1.7.5 - Changes since 1.7.4

Fixed Bug: Set default supervisor extension to be 1000
Fixed Bug: Add quota updates to system sort process to keep additive quotas up to date
Fixed Bug: Previews in Limesurvey should be as an interviewer
Fixed Bug: Reset page position when respondent is to self complete in a different mode
Fixed Bug: Only apply automatic text focus when working as an interviewer (otherwise may jump to strange part of page)
Fixed Bug: Updated error message when adding operator if extension is the same
Fixed Bug: Make sure cases are only generated for enabled questionnaires
Fixed Bug: Email charset wasn't UTF8
New Feature: Display if assigned questionnaires are enabled or not
Translations: Updated translations (thank you again to all the translators)

queXS 1.7.4 - Changes since 1.7.3

Fixed Bug: Only auto advance in the questionnaire if an interviewer (not when self completing)
Fixed Bug: When emailing - respect the limesurvey email settings including SSL

queXS 1.7.3 - Changes since 1.7.2

Fixed Bug: Reliance on JS executing as PHP for ckeditor
Fixed Bug: Use of group concat for timezones is character limited and causes timezone list to truncate
Fixed Bug: PEAR Calendar class issuing PHP Strict notices
Fixed Bug: Adding a contact phone without a description causes new case transaction to fail on some versions of MySQL
Fixed Bug: Can't add operator with \ in name 
Fixed Bug: HTTPS incorrectly being used in admin pages on IIS

queXS 1.7.2 - Changes since 1.7.1

New Feature: Add display of cases currently available by sample (in: questionnaire outcomes)
Fixed Bug: Fixed .htaccess.example for limesurvey/admin directory
Fixed Bug: Fixed errors that seemed to afflict mysql 5.1.68 on windows with PHP 5.4 and IIS (not creating a new case due to transaction failure)
Fixed Bug: Removed deprecated ereg_replace
Fixed Bug: Replace date time hardcoding with defaults from config
Fixed Bug: Add operator and respondent details to core replacements in Limesurvey expression manager (need to use capitalisation)
Translations: Updated and a new full Czech translation (thank you Zbyněk Schwarz)

queXS 1.7.1 - Changes since 1.7.0

Fixed Bug: Deletion of queXS questionnaire failed

queXS 1.7.0 - Changes since 1.6.1

New Feature: Replace queXS caseid as token with a random token to allow for safe external access
New Feature: Allow for responents to self complete the questionnaire via email invitation
New Feature: Allow restricting appointment to just yourself
New Feature: Added ability to edit operators
New Feature: Can delete a queXS questionnaire
New Feature: List, rename and enable/disable sample files
New Feature: Deidentify (delete fields) from sample files
Fixed Bug: Replaced php short tags with long tags

Database updates:

ALTER TABLE `case` ADD `token` VARCHAR( 36 ) NOT NULL ;

-- To allow for accessing existing cases in new system, need to assign a "token" for each case:

UPDATE `case` SET token = case_id;
ALTER TABLE `case` ADD UNIQUE (`token`);

-- New outcomes for email invitation and online self completion:

INSERT INTO `outcome` (`outcome_id`, `aapor_id`, `description`, `default_delay_minutes`, `outcome_type_id`, `tryanother`, `contacted`, `tryagain`, `eligible`, `require_note`, `calc`) VALUES
(40, '1.1', 'Self completed online', 0, 4, 0, 1, 1, 1, 0, 'I'),
(41, '2.36', 'Self completion email invitation sent', 10080, 1, 0, 1, 1, 1, 0, 'O');

-- New sample variable type (Email address):

INSERT INTO `sample_var_type` (`type`, `description`, `table`) VALUES
(8, 'Email address', '');

-- Specify details of respondent self completion:

ALTER TABLE `questionnaire` ADD `self_complete` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `info`,
ADD `lime_mode` VARCHAR( 64 ) NULL COMMENT 'Limesurvey mode for respondent self completion' AFTER `self_complete` ,
ADD `lime_template` VARCHAR( 128 ) NULL COMMENT 'Limesurvey template for respondent self completion' AFTER `lime_mode` ,
ADD `lime_endurl` VARCHAR( 256 ) NULL COMMENT 'Forwarding end URL for respondent self completion' AFTER `lime_template` ;

-- Allow for enabling/disabling sample files:

ALTER TABLE `sample_import` ADD `enabled` TINYINT( 1 ) NOT NULL DEFAULT '1';

-- Contact phone should allow for char phone numbers:

ALTER TABLE `contact_phone` CHANGE `phone` `phone` CHAR( 30 ) NOT NULL 


queXS 1.6.1 - Changes since 1.6.0

New Feature: Include paradata/metadata in data output (number call attempts, number of answering machine messages and all sample variables)
Fixed Bug: Sample import lists not translatable
Translations updated (Thanks to those who contributed on Launchpad) 

quexs 1.6.0 - Changes since 1.5.4

Major New Feature: Updated to Limesurvey 1.92 Build 120919 last commit a2955e94e254f09b6f31c6c0ca8cf25929ec7e7 on GitHub 13 November 2012
New Feature: Use ADODB from Limesurvey (so no additional ADODB installation required)
New Feature: Access sample variables via the Limesurvey Expression Manager system (using {SAMPLE:xxxx} notation)
New Feature: Make default end URL {ENDINTERVIEWURL}


queXS 1.5.4 - Changes since 1.5.3:

New Feature: Added bulk appointment generator from CSV 
New Feature: Added questionnaire to call history and CSV download option
New Feature: List questionnaires from newest first
New Feature: Added count of outcomes by call attempt
New Feature: Add process_clear_log function to make sure process_log table doesn't get too big
Fixed Bug: Use less memory when exporting CSV call history
Fixed Bug: Fixed timezone assignment in AU database by phone number prefix
Fixed Bug: List questionnaires even if not in default language
Fixed Bug: Updated jquery in Limesurvey due to Firefox 12 scroll bug: https://bugzilla.mozilla.org/show_bug.cgi?id=749935
Translations updated (Thanks to those who contributed on Launchpad)

Database changes suggested:

ALTER TABLE sample_prefix_timezone MODIFY val char(10) NOT NULL;

queXS 1.5.3 - Changes since 1.5.2:

New Feature: Automatically create tokens table when activating (as is required by queXS)
New Feature: Sample only quota for row quota (set quotas based on sample record values)
New Feature: Complete sample file output with caseid (if assigned) and current outcome
New Feature: Added a listing of cases by outcome for a questionnaire when clicking on the outcome code. Can then link through to individual case management

Fixed Bug: Make sure to mark system sort process as stopped when manually killed
Fixed Bug: Question quota selections to work properly with Limesurvey 1.91+ database structure


queXS 1.5.2 - Changes since 1.5.1:

New Feature: Add a response via XML RPC. Using this revision of queXS and queXF 1.13.0 - you can export a paper form from queXS and once paper forms are scanned and verified, the data can be sent from queXF back to queXS using XMLRPC (can be on different servers)
Fixed Bug: Timezones entered from list instead of manually
Updates: Limesurvey to 1.91+ Revision 11354 
Translations updated (thanks!)

queXS 1.5.1 - Changes since 1.5.0:

New features:
*Alternate interface avaialble to operators that aren't using VoIP (enable with ALTERNATE_INTERFACE directive in config file) - sponsor: Zimi

Updates:
*Updated Limesurvey to 1.91+ Revision 11132
*Translations updated (thank you to everyone who contributed on Launchpad)

queXS 1.5.0 - Changes since 1.4.0:

New features:
*Updated to Limesurvey 1.91+
*Data export via Limesurvey allowing for limitations by queXS questionnaire / sample
*Select the first respondent for an appointment by default

queXS 1.4.0 - Changes since 1.3.0:

New features:
*Administrator appointment editing added calendar to assist
*Disabled overall performance information as it is slow with large installations and not particularly useful
*Added "availability" feature:
**Administrators specificy "availability groups" which include days of the week and times
**Operators then choose if a case will be available within the availability group
*Updated queXMLPDF class to queXML 1.3.3
*Assign the next case to an operator specifically using the administrative functions
*Reorganised administrators menu
*Added database optimisations and keys
*Updated translations. Thank you to all who contributed on Launchpad!

Bug fixes:
*Fixed: SIP Channels not hanging up
*Fixed: Respondent selection text editor not printed correctly in Chrome - Patch by Grzesiek (thank you)
*Fixed: Export to SPSS was failing due to queXS tokens
*Removed reliance on sessions in sample import process unecessary

Database changes:

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;


queXS 1.3.0 - Changes since 1.2.0:

queXS 1.3.0 includes major performance improvements for larger installations using the system sort process, better handling of VoIP, integration with FreePBX for easy VoIP extension creation, improved questionnaire management and support for the Internet Explorer >= 6.0 browser.

New features:
*{PERCCOMPLETE} token displays percentage complete in limesurvey and can be used as conditions token (eg > 0 means interview started)
*messagesleft token for limesurvey conditions on number of answering messages left
*Choose operator timezone from a list instead of having to enter
*Integration with FREEPBX v2.8.0 (creation of extensions and reloading)
*Operator management functions added 
*Split database configuration file to structure and data by region (Added for Australia and USA)
*Ability to download VoIP client
*Support for Internet Explorer >= 6.0 (Sponsored by Zimi)
*Can define project information in administrative menu
*Ability to enable/disable questionnaires to remove clutter in administration screens
*Complete outcome only appears for completed cases (Sponsored by Zimi)
*Jump directly to questionnaire where no respondent selection informatino defined (Sponsored by Zimi)
*AUTO_COMPLETE_OUTCOME added to automatically assign complete outcome on questionnaire completion (Sponsored by Zimi)
*AUTO_LOGOUT_MINUTES to automatically logout interviewer session if left idle (Sponsored by Zimi)
*DEFAULT_TAB, DEFAULT_TAB_APPOINTMENT set default tab to display in info section (Sponsored by Zimi)
*Tabs can be enabled/disabled in configuration file
*System sort process added for system wide case sorting. May improve performance in large installations
*HEADER_EXPANDER_MANUAL directive added to allow for the header to be shrunk by the operator (Sponsored by Zimi)
*Log of system sorting and voip monitoring displayed in table form
*Limesurvey database automatically installed with new install

Bug fixes:
*queXS admin menu stays in place when using limesurvey condition editor
*Case and appointments display correctly when questionnaire is not shift restrcited
*Appointment time display respects TIME_FORMAT configuration directive
*Word "till" localised (Thank you Zimi)
*VoIP monitoring process gracefully handles errors/timeouts


Required database modifications from 1.2.0:

ALTER TABLE `questionnaire_sample_exclude_priority` ADD `sortorder` INT( 11 ) NULL ;
ALTER TABLE `questionnaire_sample_exclude_priority` ADD INDEX ( `sortorder` ) ;
ALTER TABLE `case` ADD `sortorder` INT( 11 ) NULL ;
ALTER TABLE `case` ADD INDEX ( `sortorder` ) ;
ALTER TABLE `questionnaire` ADD `info` text NULL ;
ALTER TABLE `questionnaire` ADD `enabled` TINYINT( 1 ) NOT NULL default '1';
ALTER TABLE `process` ADD `type` INT NOT NULL DEFAULT '1' AFTER `process_id` ;
CREATE TABLE `process_log` (
`process_log_id` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`process_id` BIGINT NOT NULL ,
`datetime` DATETIME NOT NULL ,
 `data` text collate utf8_unicode_ci NOT NULL,
INDEX ( `process_id` )
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
CREATE TABLE IF NOT EXISTS `setting` (
 `setting_id` int(11) NOT NULL auto_increment,
 `field` varchar(255) collate utf8_unicode_ci NOT NULL,
 `value` text collate utf8_unicode_ci NOT NULL,
 PRIMARY KEY  (`setting_id`),
 UNIQUE KEY `field` (`field`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
COMMENT='Serialised table of settings';


queXS 1.2.0 - Changes since 1.1.0:

queXS 1.2.0 has 3 major feature additions since 1.1.0.

1. Ability to produce a seperate Limesurvey questionnaire to act as a respondent selection module
2. Can export Limesurvey questionnaires directly to queXML PDF files, ready to import to queXF for banding
3. Quota row prioritisation added including auto priority calculation (Sponsor: Zimi)

In addition, Translations have been updated (Thank you to those on Launchpad who have contributed). 

The documentation on the website (Administration manual and Reports and quota documentation) has been ammended to include details of the new features.

Upgrading requires a small database update:

INSERT INTO `outcome` VALUES(33, '2.36', 'Miscellaneous - Unavailable for a week', 10080, 1, 0, 1, 1, 1, 0, 'O');
ALTER TABLE `questionnaire` ADD `lime_rs_sid` INT( 11 ) NULL ;

queXS 1.1.0 - Changes since 1.0.0:

New features:
*Performance improvements when using quota rows (Thank you Zimi)
*Added configuration directive for Auto advance: LIME_AUTO_ADVANCE
*Added more descriptive elements to printable survey for debugging
*Added extension password to operator details
*Status updated to handle extension password for switching VoIP on an off
*VoIP Functions can properly handle IAX2 extensions
*Can output entire key file 
*(Limesurvey) Can assign queXS sample codes in the fieldname of a condition
*Added VoIP Extension status monitoring in admin functions
*Does not use popup windows (better for Kiosks) (Thank you McMaster University)
*Added ability to delete case notes as supervisor

Bug fixes:
*Put the code for outcome to be for the supervisor in the right spot
*Supervisor outcomes given priority along with final outcomes
*Added error message when not an operator and trying to add a shift
*Fixed bug where not displaying if default lang is not 'en'
*(Limesurvey) When INSERTANS used, do not display "No Answer" when no answer is selected
*Make sure to only move forward on click where appropriate (allow false to be passed to stop auto click)
*(Limesurevy) Updated templates to look a bit better and include the limesurvey customonLoad function
*VoIP status is now part of VoIP monitoring so we don't query the Asterisk server often
*Added index to appointment table to speed up case selection criteria
*Added case_id and date to queXML structure output (as appears in fixed width data file)
*Doesn't try to call supervisor when on a call

Translations updated from Launchpad. Thank you for your contributions:
*Galacian
*Spanish
*French
*Italian
*Lithuanian
*Dutch


