Releases: colbyj/bride-of-frankensystem
Releases · colbyj/bride-of-frankensystem
2.0
Changes from 1.2 to 2.0
Core Changes
- Removed support for Python 2.7.x
- Changes to support the latest Flask version and latest SQLAlchemy.
- New documentation.
- Updated all JS libraries.
- Consent text is now read in from a
consent.html
file next to the configuration file instead of from the configuration file. - Added "BOFS" command to start projects instead of needing a separate
run.py
file. - No more need for the "app" directory to be a part of the project.
- Use
flask-compress
to serve brotli and gz files (e.g., for Unity WebGL builds). - Improved auto-reload feature that now works with templates.
- Export code was rewritten to minimize the chance of throwing exceptions.
- Simple error messages will now show up if in production mode, rather than a generic 500 error.
- If not in debug mode, save any 500 errors to a log file.
- When a project starts, check for missing DB columns from tables and questionnaires and add them (only works with SQLite).
- Detect web scrapers and if found exclude them from the condition counts and progress page.
- Many bug fixes.
Project Configuration Options
- Can now specify a specific completion code, or redirect users to an external URL upon reading
/end
. /start_mturk
route is now/external_id
.- Can now configure what the prompt on
/external_id
says. - If
PROLIFIC_PID
is passed in as a URL parameter, the session variable is set and the input field on/external_id
is automatically populated with the value passed. - Conditions are now defined with labels and can be disabled selectively; labels show on progress page and are used in the export instead of the numbers.
- Can now configure
ABANDONED_MINUTES
andCOUNTS_INCLUDE_ABANDONED
, relating to ignoring participants who abandoned the task when considering participant counts within conditions.
Administration
- Can now download SQLite database from the admin panel as well as clear it out.
- Admin panel styling changes.
- Admin login now redirects users to where they were trying to go instead of always redirecting to the progress page.
- Added the ability to selectively indicate individual participants to exclude from the participant counts.
- Added a results page to the admin panel to view summary statistics of any numeric data.
Tables, Questionnaires, and Blueprints
- Can define custom exports within the JSON-defined tables.
- Can now use 'HAVING' clauses in custom exports.
- Can now configure the default value of sliders.
- Some slight improvements to how the questionnaires are rendered on mobile devices.
/table
POST route now understands JSON data.- Blueprints no longer need a
views.py
file to be included. - Can now have "simple" HTML pages, that support templates but can be shown without any additional Python code.
- It is now possible to define custom question types to use within questionnaires.
- Can put questionnaires and tables inside of a blueprint's folders
1.2
This is the last release of the 1.x version. Future releases will not support Python 2.7.x.
Changes/Enhancements:
- Flag some parts of the questionnaire JSON as safe (so HTML can be added to those fields).
- Custom export feature now works without grouping or ordering variables.
- Can now group by multiple columns on custom exports.
- Added a simple honeypot to the consent page.
- Added a progress summary to the top of the admin panel's progress page.
- When assigning conditions to participants, omit "abandoned" attempts from the calculation of participant counts in each condition.
- Added in the ability to load in participant progress based on their MTurk ID (via the
RETRIEVE_SESSIONS
config option, set it toTrue
). - Removed the IP address check on verify_session_valid.
- Made changes to work with the 2021.1.x version of Unity (which uses a different type of compression).
- Added a method of defining database tables via a JSON file instead of in the
models.py
file.
Fixes:
- Fixed variance fallback method.
- Fixed bug where the last condition's questionnaires weren't found.
- Possible fix for participants getting redirected back to the start_mturk page.
1.1
Features Added
- Session information from previous attempts can now be loaded in after entering the MTurkID.
- Questionnaire calculation strings that can be embeded into the .json files and are exported by /admin/export (e.g., for subscales)
General Improvements
- condition field is now nullable
- added config option to allow/restrict re-takes (multiple attempts)
- added crumbs variable to be added to templates by default
- pages with blank names no longer show in the bread crumb list
- admin panel: if logGridClicks is False, don't show dropdown
- Server-side sessions are now provided by a custom interface, rather than flask-sessionstore.
- Removing dependency on Flask-SocketIO (while allowing eventlet to stay)
- Slight change to how blueprints are imported.
- Embedded js libraries into project rather than linking to external URLs.
- Additional admin pages can now be defined directly in blueprints, rather than just in the config file.
- Logging of grid click data is now working again
- Added check on /current_url route to avoid exceptions for people who have no session data.
- Fixed previewing questionnaires not loaded in the config.
- Now reports the URL when running with
self.debug = False
(on launch) - Fixed a bug with condition assignment.
- Added basic /submit route that redirects user on form submission.
- blank logo (instead of USask logo)
- Updated README.md and setup.py
Initial Release
v1.0.0 Update README.md