Stable release 3.2.0 -------------------- * Complete german translation (Michael Waider) * Fixed bug where unneccessary crap would be added to the CONTINUE string even when CONTINUE was explicitly set. Release Candidate 3.2.0_rc1 --------------------------- * Increased maximum iterations for dynamic contents from 10 to 50. This limits, for example, the number of {$..$} blocks possible to put into one CUSTOM block. * Fixed a bug in dynamic contents where contents occurring on char 0 in a block would not be found. * Patch from BugAnt for fixing erronous page footer in display (a " was missing on a href) * Better error messages for when a tag fails (mainly IMPORT) in an eval(), previously the Display module would claim the tag doesn't exist. * Swedish translation finished * Minor updates in translation utilities * Fixed a CPU race condition in linking pre-parse fragments (bug reported by Lou Spironello) * Adopted underscore for extraversion to better fit gentoo ebuild naming scheme Development release 3.2.0-pre6 ------------------------------ * Fixed several bugs in LICKERT layout * Radical rework of layout engine, see examples. Changed functionality of THEME parameter and changed/added several layout-related parameters in visible questions. * New themes cloud (default), formal, slate, invert and rose. * StatUtils help module for Exports (basic statistic funcs like means and frequencies) * New Descriptive statistics export module demonstrating most of the functionality in the StatUtils module * New Frequency export module demonstrating the rest of the StatUtils module * More SanityParse() protection in Exports: - Replace ";" in SPSS export - Replace delimiter in Delimited export - Html escaping in CaseBrowser - Also protect table/field names in SQL (to avoid SQL injection via export) - Changed protect policy for \ in SQL (all \ now removed instead of being escaped) - Changed protect policy for \ in XML (all \ now removed instead of being escaped) * Change protect policy in DBI save method, now remove \ instead of escaping it. This is necessary to avoid double-escape SQL injection. * Option for filtering out MEMO from SQL export * Fixed bug where value captions for CHOICE where MULTI="yes" would always be exported as "[not implemented]". Now exports value array instead. * Rewrote layout in Admin to look like the one in Data * Now possible to override theme via URL (display only) * Minor adjustments in DelimitedFields export for better support for MS Access and MiniTab. * Added export for R. * Implemented MSGAFTERDATA in MAILCOPY. * TO, FROM, CC, REPLYTO and SUBJECT can now fetch from submitted variables * The optional value caption setting in MAILCOPY now actually sends value captions rather than variable captions * Implemented PASSWORD restriction in SECURITY subtags * Implemented USERS restriction in SECURITY subtags * Implemented HOSTS restriction in SECURITY subtags * Rewrote examples hierarchy from scratch * Changed id of div for submit buttons from "submit" to "mdssubmit" to be look like the rest of the divs. * Otherfield values in choice/multi are now prefixed with "!". * Patch from BugAnt for SPSS improvements: Split choice/multi up into separate variables, and option for enclosing string variables with citation marks. * Made optional modules optional in installer script. * Removed automatic configuration of apache from the installation script * Rewrote README.txt from scratch * Import.pm is now only included if _SURVEY_USEDBI (would previously crash on startup if DBI was not installed) * Patch from BugAnt for improving Import. Writable fields can now be fed back to the database and be updated. * The copyright notice at the bottom of each survey page now contains a link to Mod_Survey's homepage * Fixed bug where UNIQUE would be ignored in SECURITY/ANSWER * Updated layout of IMPORT to look like the rest * Whine if RESPFILE or USERFILE does not exist. * Patch from BugAnt for fixing missing REMOTE_USER env variable. This wasn't set after Mod_Survey implemented its own auth handling. Development release 3.2.0-pre5 ------------------------------ * Made sure all *.pm files are in unix text format. (some were, for some reason, in DOS format). * Applied patch from BugAnt for fetching values from session rather than for a second time from db at submit (IMPORT). * Minor SQL patch from Matthew Buckett for using TEXT rather than VARCHAR on long strings * Major performance issues fixed in Data.pm. Parse times for surveys with a lot of data should be lowered by a factor between 10 and 100. (10000 answers of example.survey now takes 9 seconds) * Wrote a replacement for the buggy Locale::PGetText. There is now a home-made hash module in Survey::Language. * Heavy janitorials, removed a lot of stale code: - Survey::Presentation* (Does not work in 32x) - SurveyCreator (Does not work in 32x, and fits better in Cough anyhow) - docbook-src (Outdated, and lives in separate module) - webroot/docs (Outdated, lives in separate module) - java (Does not fit and no-one uses it) * Implemented new event-based alternative API for exports * Added CaseBrowser export, partly to demo new API and partly because it's useful. * Minor survey.conf changes to avoid clash with mod_proxy * Minor bugfixes to allow root alias other than /mod_survey/ * Minor bugfixes in IMPORT from BugAnt. * Basic infrastructure for making tags know how to export themselves as XML (pointless for mod_survey as such, but needed for survey editor in Cough) * Fixed a bug where mod_survey would end up in an infinite loop when extra html markup was used (pre-parse perl is now defined {& rather than {/ ) * Fixed a bug where CAPTSTYLE was ignored in table layout * Implemented check for NUMERICAL in CUSTOM (now protests if submitted variable wasn't an int, float values still not supported. * Changed default handling of AutoData to use new safe delimiter. BEWARE this makes old data files incompatible with this version. * Text now correctly accepts float values (would previously fail on values between 0.0 and 1.0) * SPSS export now have option for filtering out all strings * SPSS export now knows about MISSING VALUES ( == ILLEGALVAL in tags and NOTDISPLAYEDVAL on global basis) * Fixed Columns: Implemented position header * Fixed Columns: Implemented width header * Fixed Columns: Now compensates for cite marks * Fixed Columns: Now compensates for extra space between columns * Fixed Columns: Option to filter out all strings * Fixed Columns: Always filters out all MEMOs (they have no fixed width) * Data Module: Better layout, and descriptions for exports Development release 3.2.0-pre4 ------------------------------ * Applied patch from Matthew Buckett for fixing erronous error messages about MULTICHOICE (this tag has been merged into CHOICE) * Applied patch from Matthew Buckett for better error messages when Session directory isn't properly setup. * Fixed bug where multipaging would not work when client refused cookies (especially IE) * Fixed a bug where variable-carrying CUSTOM blocks would not save data when in a multipage context. * Added MAILCOPY tag for sending a mail with data to a specified address. * Added outline for new CATI tag. Functionality will be added later. * Applied patch from BugAnt for basics of IMPORT tag (tag able to import values as variables from database fields) * Applied patch from Buckett for backwards-compatibility with older survey.conf files * Applied patch from BugAnt for working around script injection in HTML tables export. (replace html tags with escape sequences) * Corresponding for SQL export * Corresponding for XML export * Script injection detection code for action parameter * Sanity parse in DBI save method. * Added german translation by Michael Waider. * Added option in installer for setting PerlSendHeader to on or off. This should ensure better Apache2 compatibility. * Applied patch from Matthew Buckett for better layouting of SQL export and addition of GRANT clause. * Applied patch from Matthew Buckett for better XML export. * Changed a lot of "print content-type to $r->content_type()". Development release 3.2.0-pre3 ------------------------------ * Applied patch for DBI save from BugAnt * Fixed Data/DataEntry so that data can be read from DBI too * Cleaned up in Admin.pm (removed 70k of dead code, mainly the old data section) * Changed default checks in SQL export * Changed theme in example.survey to default (table layout), since the CSS layout seems to have gone nutty in newer IE versions. * Applied patch for reimplementation of random order in MATRIX from BugAnt, with some modifications. RANDOM now takes values "none", "column", "row" and "both". * Updated example.survey to reflect new random syntax in MATRIX * Updated installer to fix bug where the default answer to "do advanceed config" was counter-intuitive (the bug was reported by Michael Kirschner on the list in the end of december). * Updated installer with warnings about subsystems not yet updated to work with 3.2.x Development release 3.2.0-pre2 ------------------------------ * Fixed bug in installer where Session.pm would not be installed. * Fixed bug in installer where it was not possible to continue if httpd.conf was not found (this file is not necessary for the installer to access unless the user requested the addition of an Include line) * Fixed bug in installer where examples would not be installed. * Added support in CUSTOM for carrying variables. That is, it is now possible to design a question completely from scratch inside a custom block. * Added the custblock.survey example for demonstrating new CUSTOM. * Applied patch from BugAnt concerning bugs with NUMERICAL and MUSTANSWER in TEXT * Added DATETIME object for saving date/time data was submitted. * Added TIMER object for measuring how long the respondent takes for answering a survey chain. * Added example date.survey to show off DATETIME and TIMER * Added support for basic auth to survey.conf (installer.pl) * Replaced the ALLOW* params of SURVEY with the new SECURITY tag * Merged patch from BugAnt fixing erronous MATRIX inclusion when in multipage. (did minor fixes to patch) * Added Security.pm in installer * Added Authentication.pm in installer * Started to do header updates for Apache2 compatibility * Updated most examples to follow new syntax Development release 3.2.0-pre1 ------------------------------ * Drastic internal rewiring of parser, display system and submit system - All questions reside in their own module file - All questions take care of their own parsing, display and submit - Data is transferred between parts in a multipage chain via a new server-side Session module rather than as GET strings - Everything transmitted between methods are now in the form of arrays rather than semi-colon delimited strings - Completely removed all code concerning cache (both parser and display). It was deprecated by other optimizations. * Drastic rewiring of data exports functionality - New interface for exports ( ?action=data ) - There is a logical and easy-to-understand new API for writing exports - Each export now reside in its own module - Visual design of exports interface much more pleasing - Comments and information possible to see specifically for each export - Possible for the user to modify the export's behaviour (to, for example, include coloring and boldfacing in html exports). * Implemented conditional branching with the new tags ROUTE, IFROUTE and CASEROUTE. * The SEQUENCEFILE parameter of the SURVEY tag has been replaced with the new SEQUENCE tag. * Wrote several new survey files to examplify syntax * Implemented dynamic content markup. This syntactically a dramatic improvement, see special file in docs directory. * Fixed a spelling mistake in Admin.pm (meta-data export didn't work because of it) * Combined CHOICE and MULTICHOICE into one, with new parameter "MULTI" (patch from Silvia) * Made MATRIX accept "MULTI" (patch from Silvia) * Made MATRIX accept UNIQUEROW/UNIQUECOLUMN so one can decide if rows or cols should define questions (patch from Silvia) * MATRIX has new syntax with MATRIXROW and MATRIXCOLUMN as subtags, replacing MATRIXELEMENT. * Now possible to have same key for whole branch sequence, so clicking back and changing is possible (patch from Silvia) * SPSS Labels export (patch from various italians) * Various bugfixes in exports (patch from Silvia) * Many bugfixes in TEXT, particularly when NUMERICAL="yes" * Updates on front page