Recent Releases of formr.org
formr.org - v0.24.4
[v0.24.4] - 31.07.2025
Fixes
- Fixes survey import via run (broken in v0.24.0)
- Fixes code/Rmarkdown download when testing
- Fixes redirect when run is accessed without trailing slash so query string is preserved
- Fixes expiry date for formrcookieconsent by redelivering the long expiry duration via HTTP (Brave/iOS limit to 7 days when set using JS)
- Fixes a problem with Google Spreadsheet on some servers
- PHP
Published by rubenarslan 7 months ago
formr.org - v0.24.1 bugfix counter item
Fixes
- Fixes the special item type defined by the class
counter.
- PHP
Published by rubenarslan 8 months ago
formr.org - v0.24.0 Progressive web app and push notification support
[v0.24.0] - 19.06.2025
Added
- Progressive Web App (PWA) support.
- Formr studies can now be turned into web apps that are installable to devices running Android, iOS, MacOS, Windows, etc.
- Each study can be its own app
- Can be added to phone home screen
- Service worker and configurable manifest endpoints for each run/study.
- Logos, names, settings are configurable
- Push message support in the run
- Surveys get four new items: requestcookie, requestphone, addtohomescreen, and pushnotification which help configure the app
- Switch from grunt/bower to npm/webpack for clientside dependencies
Fixes
- Cookies are now set to SameSite: Lax, so that cookies are always set upon first visit to the page
- Fixed a bug where expired CSRF tokens caused confusing errors, will also give more informative error messages now
- New cookie management improves compliance with GDPR. By default, only session cookies are set, if user consents, these cookies are kept for longer (a configurable duration). formr continues not to set any third-party cookies by default. A new survey item allows you to re-request permissions.
- Unlinking surveys and hiding results works again
Full Changelog: https://github.com/rubenarslan/formr.org/compare/v0.23.2...v0.24.0
- PHP
Published by rubenarslan 8 months ago
formr.org - fix max file size for audio/video
Fixes
- it wasn't possible to specify a maximal file size for audio/video uploads
- PHP
Published by rubenarslan about 1 year ago
formr.org - change paths for user uploaded files
make it easier to group user uploaded files in tmp. also, store full paths.
- PHP
Published by rubenarslan about 1 year ago
formr.org - v0.23.0 Two-factor auth, auto-deletion, compliance work
[v0.23.0] - 23.01.2025
Added
- Added two-factor authentication (2FA) thanks to groundwork by @EliasAhlers and @Epd02
- 2FA is now enabled by default
- 2FA can be made required for all users
- The formr R package now supports 2FA
- Runs/Studies can now be exported noninteractively
- This enables a new R package function
formr::formr_backup_study()which can be used to export runs/studies, all user data, and all user uploaded files
- This enables a new R package function
- Authentication was improved
- Minimal wait times to avoid timing attacks and brute force attacks
- Process runs that need to be reminded or deleted (thanks to @eliasheithecker for some groundwork) for simpler compliance with GDPR and other regulations
- Autodeletion is not turned on by default, but can be required in settings.php
- We loop over the reminder intervals and process the runs that need to be reminded or deleted.
- Reminders are sent 6, 2, and 1 month(s) and 1 week and 1 day before expiry.
- To avoid spamming, we only send a reminder if the run has not received a reminder in the last 6 days.
- If the study owner has received 2 reminders and the first reminder was at least two weeks ago, we delete the run data.
- The expiry routine is configured in such a way that run data may not be deleted on the day of expiry if the study owner was not given sufficient notice (e.g., because of problems with the email server or because they recently changed their expiry date).
- Orphaned files which were uploaded within a survey are now automatically deleted every night.
Fixed
- User account deletion is now working again
- link to ToS on signup page was incorrect
- PHP
Published by rubenarslan about 1 year ago
formr.org - compliance and bug fix release
[v0.22.0] - 18.12.2024
This is a bigger release than we've had in a while. Several smaller errors have been fixed. There have also been some small changes to the admin-facing interface. We also finally updated the documentation to reflect more of formr's feature set. The most major additional work relates to managing an instance, so now several requirements (such as having a privacy policy or a terms of service for a study) can be set.
Fixed
- superadmin OpenCPU timing graph
- bug where (backup) server-side errors for invalid items weren't displayed
- issues with file uploads in the survey where error messages were not displayed, could be cryptic
- maxlength for textarea items was not respected
- fixed an issue where a minimum of 0 for number-type inputs was not respected
Changed
- when you upload a survey from a Google spreadsheet, the name of a survey is now automatically read from the spreadsheet file. The name set in formr has to match the Google spreadsheet name to ensure consistency
- documentation has been updated for item types, on how formr auto-enriches data in R code etc. In addition, documentation is available in more places.
Added
- compliance work
- added special user-facing static pages for privacy policy and terms of service
- added an option to require that a privacy policy exists before studies go public
- improved default footer text/imprint to include admin email address, links to privacy policy, ToS, settings, make referral tokens optional
- added setting for extended agreements to conditions when uploading files in runs
- audio type items, including
record_audioclass for a recorder button - video type items
- the submit button item now allows for negative "timeouts" — i.e. the user has to wait until they can submit
- PHP
Published by rubenarslan about 1 year ago
formr.org - v0.21.4
- implement JS changes for material design too
- bug fix for default session code regex
- default to exporting items when exporting run JSONs
- all newly created surveys have a default field "iteration" which is simply an auto-increment number from 1 to number of responses to survey
- PHP
Published by rubenarslan over 1 year ago
formr.org - v0.21.0 release
- make it easier to dockerise formr
- track bower_components to make it easier to collaborate on changes in CSS/JS
- improve cookie handling, so that formr works similarly, whether you use study-specific subdomains or not.
- PHP
Published by rubenarslan almost 2 years ago
formr.org - v0.19.4 hotfix release
- fix bug where emails sent via Test button were infinitely resent
- explicitly encode current unit session in run session table
- better result logging
- PHP
Published by rubenarslan over 4 years ago
formr.org - v0.19.3 hotfix release
The update will include the following changes:
- better email queueing and logging and more informative errors (some users still reported breakage without useful error messages)
- we now default to testing email accounts after any change and don't send emails if we know an account is setup incorrectly.
- generally better logging of what happens in a run
- some users saw dupes in the user overview. these were only displayed in duplicate there, not causing any functional problems, but of course needed to be fixed.
- a lot of users found the current handling of missing values in surveys in formr counter-intuitive. two changes here:
- if a check-type item is unchecked it defaults to 0, not NA
- using the R function is.na(item) now also works in Javascript (formr just replaces it with the approximately correct and hard to remember JS idiom (typeof(item)==="undefined")
- one note: is.na in javascript will not throw an error if the item name is mistyped. it's a limitation of how we set things up. I still hope this causes fewer problems than the old way.
- PHP
Published by rubenarslan over 4 years ago
formr.org - v0.19.0 major release
Major release v0.19.0
New features
- the user detail now briefly logs the result at each step in the run, which should make it easier to trace errors
- in the same vein, formr now notifies the admin if emails stop sending (many change the password for their study email account and forget to tell formr)
- fractional pauses are now possible, so you can expire a pause after 1.5 minutes etc.
Bug fixes
- the new queueing system introduced more precise expiration times and was meant to reduce computational load on our server, however there were some hiccups and delays that we hope will be fixed by this update
- fractional numbers were rounded in the results table (but not in detailed results). this will not happen in the future, but if you collected fractional numbers or sliders in the past, work with the detailed results instead.
- several other fixes related to queueing
- it is now possible again to set a "get"-type item to required (useful for Prolific/Mturk etc)
- no more getting stuck with zero minute pauses
- some CSS classes fixed
Updates
- updated to more recent versions of phpmailer/phpspreadsheet etc
- PHP
Published by rubenarslan over 4 years ago
formr.org - new ways to expire surveys
- New options give you more control over when survey access expires.
- Fixed server-side validation: information entered into forms is no longer lost.
- PHP
Published by rubenarslan about 8 years ago
formr.org - v0.16.13
Bug fix release. [0.16.13] - 02.10.2017
Changed
- See closed issues for details
- add mc_horizontal class
- fix some CSS bugs in new material design
- several UI fixes
- PHP
Published by rubenarslan over 8 years ago
formr.org -
[0.15.0] - 1.12.2016
Added
- E-mail queuing
- Setting:
$settings['email']['use_queue']- Should queue be used or not? - Setting:
$settings['email']['queue_loop_interval']- Number of seconds for which deamon loop should rest before getting next batch
- Setting:
- Run management interface for superadmin. In this interface the superadmin can determine which run is allowed to run in the cron and whose cron should be forked in an independent process.
- MySQL database v21: add email queue table, run property for process forking and a sent flag to email log table.
Changed
- Memory limits to exports are now configurable.
- Increased weekly limit on how many e-mails an address can receive.
- Bug Fixes:
- https://github.com/rubenarslan/formr.org/issues/270
- https://github.com/rubenarslan/formr.org/issues/244
- https://github.com/rubenarslan/formr.org/issues/272
- PHP
Published by cyriltata about 9 years ago
formr.org - v0.13.0
[0.13.0]
Added
- Reminders now processed as unit sessions. Researchers are able to see how many times a particular reminder has been sent to a participant.
- Actions in "User Overview" can be performed on multiple participants at the same time:
- Deleting Sessions
- Moving sessions to a position in the run
- Sending reminders
- Setting test status
- Users can choose to execute email units (i.e. send emails) only when user is not currently active on a study using the option in the email run unit.
- New panic button to temporarily de-activate run in case of emergency: Functions of the panic button:
- lock's run
- disable's run cron
- makes run private.
- [major feature] Background session processing is now distributed and make asynchronous by using Gearman
Changed
- Error reporting on survey upload improved to point out what individual item caused issues
- Modified study examples: Experience sampling and Longitudinal studies.
- Bug fixes:
- PHP
Published by cyriltata over 9 years ago
formr.org - maintenance release + minor features
This release lumps some previous releases, that we didn't write up.
Done for v.0.12.0
See closed issues: - much more complex feedback (including JS-graphs etc.) now possible because we embed iframes - run/survey import/export improved - some UI improvements
Done for v.0.11.0
See closed issues: - pause module was simplified (if an hour of day is set, the pause will only expire once per day) for diaries - improved external module to simplify integration with e.g. SoSci Survey (how to) - surveys can be renamed, run unit modules description default to survey names
Done for v.0.10.0
- let surveys and external run unit expire
- unlinked surveys for slightly better separation of concerns
- bunch of bug fixes
- allow snipping unit sessions (deleting the current survey entry) in the monkey bar
- PHP
Published by rubenarslan over 9 years ago
formr.org - OSF API integrated + survey module reworked
v0.9.0.
improvements to testing
- when the test button is clicked in the edit run view, test emails are sent to your admin email address, not mailinator
- there are new buttons when testing surveys: a light bulb shows items that were hidden on the page, a magnifying glass shows debugging info (item names, requests sent to openCPU)
- our openCPU debugger (the accordion with info on the openCPU request) is now shown whenever there is an r problem (or you click the magnifying glass). it has the option to download the r code or the rmarkdown. That way you can edit it in Rstudio, which has much better code highlighting for debugging.
improvements to the survey module
- now hidden items work consistently: every showif is only called once unless the return value in R is
NA. - only items on the currently visible page are evaluated (before this calculate items at the end of the survey were also evaluated)
- we've minimised costly openCPU requests
css improvements
- there are no more flashes of unstyled content (where the mc_buttons only appear after a moment)
Open Science Framework API connection
- barring unforeseen changes on the side of osf.io it is now possible to connect runs to an OSF project. Currently, you can only export the Run-JSON there (in essence, saving all of the run structure and survey items). You can use this for pre-registration or version tracking.
- PHP
Published by rubenarslan almost 10 years ago
formr.org - v0.8.0
Version 0.8.0
Issues closed by this release here.
Important additions:
- Items can be shuffled (in and between blocks) now.
- Timed submit buttons allow you to specify a minimum time in which to submit.
- Item tables can be imported straight from Google Docs, reducing the edit-download-upload-cycle previously necessary. Makes collaboration easier.
- A proper test mode
- you can now create test codes for runs. They're special in that they enable a bar with specific features (auto-filling forms, skipping to the next step in the run/ending a pause).
- you can now share test codes for runs before releasing the run to the public
- test codes have names like zanyElephant, which allow you to find them again if you're looking for a specific test case
- the first semblance of an OAuth2.0 API (manual activation needed)
- users can turn off emails from your study for a week or forever if you allow them to.
- PHP
Published by rubenarslan over 10 years ago
formr.org - v0.7.0
There is only one change that could change behaviour in some special cases: It's now possible to present submit buttons by themselves on a page. Sometimes this might happen unintendedly if all items on a page are skipped via a showif, but the submit button doesn't have the same showif. In this case, previously, the submit button would never be displayed. We decided it would be more consistent to show it once. This shouldn't break anything, but might lead to an extraneous step in some very complex studies (most of which we've pre-tested though).
Here's a list of other changes to expect:
- calls to openCPU are now grouped and hence much faster, this will be especially noticeable for very complex studies
- dynamic item and choice labels now have the survey context (ie. you can simply write r item1 instead of r survey1$item1, but the latter still works). This makes surveys more portable (you can simply rename them).
- debugging R mistakes that you made should now be generally easier and more consistent (if you test your studies as an admin, you'll get to see the familiar debugging interface)
- notes should no longer be sticky (in some cases users reported problems with notes being repeated)
- instant validation has been turned on. Previously if you made a mistake, this was only alerted before submission, now it happens after you go to the next question
- sending text messages has been simplified (see the Import button in your run) or here https://github.com/rubenarslan/formr.org/wiki/How-to-send-text-messages-(SMS)
- it's now possible to set an expiry time (in minutes) for your survey. If a participant is inactive for longer than the specified time, the survey will wrap up and the run will move on. This is especially useful for diary studies, where participants might sometimes start filling out and then close their browser, getting stuck.
- a few other minor bug fixes, see https://github.com/rubenarslan/formr.org/issues?q=is%3Aissue+milestone%3Av0.7.0+is%3Aclosed
- it's now possible to scaffold a complete diary design by simply clicking the import button and selecting basic diary. We'll be looking for other "standard" designs, that can be imported this way, to make formr easier to use.
- PHP
Published by cyriltata over 10 years ago
formr.org - new run modules
reorganised run modules
branches are now SkipForward and SkipBackward. TimeBranches have been eliminated in favour of better-documented examples for SkipForward, that fill the void. Shuffle has been added as an easy way to randomise participants. Generally, tried to add a music player controls theme to it to make it more intuitive.
rethought some of the logic behind the scenes
e.g. skipifs now are showifs
improved documentation
all modules now have documentation with examples, so do item types, the survey. Internal documentation has also been proved.
mobile layout improved
mainly by fixing some minor annoyances and switching the viewport to device-width
- PHP
Published by rubenarslan about 12 years ago
formr.org - formr now deserves the R in its name
Now all user-supplied run logic is written in R. This makes formr much safer and hopefully easier to use. Also, emails now support embedded figures, something which worked only on iPhone Mail until now.
- PHP
Published by rubenarslan over 12 years ago
formr.org - last release using MySQL for branches, skipifs etc.
- PHP
Published by rubenarslan over 12 years ago