Releases: ctreffe/alfred
alfred3 v2.6.1
What's Changed
- Catch AbortMove on startup by @jobrachem in #268
- Add identifier argument to dynamic file method by @jobrachem in #280
- Fix for issue #275 by @ctreffe in #278
- Closes send_mail() Issue #276 by @ctreffe in #279
Full Changelog: v2.6.0...v2.6.1
alfred3 v2.6.0
What's Changed
- Bump pygments from 2.7.4 to 2.15.0 in /docs by @dependabot in #244
- Add debug_value parameter to InputElement class by @jobrachem in #260
- Yaml import by @jobrachem in #257
- Add SessionQuota module to index.rst by @jobrachem in #258
- Add lazy and greedy callback behavior options by @jobrachem in #262
- Update busy flag to use session id by @jobrachem in #263
New Contributors
- @dependabot made their first contribution in #244
Full Changelog: v2.4.0...v2.6.0
alfred3 v2.4.0
alfred3 v2.3.4
Fixed v2.3.4
- Correctly export
DateEntry
andTimeEntry
elements for date and time input - Removed dependency on mongomock for standard usage. It is still required for
development, since it is used in the unit tests.
alfred3 v2.3.2
Added v2.3.2
- Added
DateEntry
andTimeEntry
elements for date and time input. - Added
DeleteUnlinkedPage
. This page allows you to delete the unlinked
data associated to a specific experiment. Must be imported from
alfred3.admin
directly. - Added
ExperimentSession.tmp
, which is a dictionary for temporary data
that does not need to be saved to the experiment data. - Added parameter
silent
toElement.validate_data
(#191)
Changed v2.3.2
alfred3.Card
elements with collapse=True will now start in collapsed
view.- Any call to
Experiment.finish()
will only go through now, if the experiment
session is not already aborted. - Some small updates to the documentation, most notably regarding the command
line interface (CLI).
Fixed v2.3.2
- Hotfix for #174
- Fixed #141
- Fixed #144
- Fixed #139
- Fixed #169
- Fixed #157
- Fixed #185
- Closed #187, #184, #196, #172, #178, #195
- Fixed an issue that lead
alfred3.Card
elements to render sub-elements
as codeblocks instead of correctly displaying their full web widget. - Fixed an issue that lead
alfred3.Card
elements to not add input elements
to the parent page in the intended way. - Fixed an issue in
ExperimentSession.all_unlinked_data
for access to
local unlinked data.
alfred3 v2.3.1
alfred3 v2.3.1 (Released 2021-10-28)
Fixed v2.3.1
- Fixed an issue with string inputs to
NumberEntry
that was
introduced in v2.3.0
alfred3 v2.3.0
alfred3 v2.3.0 (Released 2021-10-28)
Added v2.3.0
- New Elements
- Added
RangeInput
element, a slider for number entry. - Added
SubmittingBar
, the sibling of the already existingSubmittingButtons
- Added
MatchEntry
as alias forRegEntry
element - Added
EmailEntry
element. This is aMatchEntry
element that offers
a default validation for email inputs. - Added the elements
BackButton
andForwardButton
, which do as they say. - Added a
Card
element that can be used for displaying text and other
elements in bootstraps nice-looking cards. The highlight of the card
element is its possibility to turn the header into a button that hides
or shows the card body on click via the argument collapse.
- Added
- Pages and Sections
- We are excited to present the new section class
HideOnForwardSection
:
A section that hides pages
once they have been submitted. This is basically a slightly more liberal
version of aForwardOnlySection
. Take a look at the documentation
for more details! - Added the methods
Page.position_in_section
andSection.position_in_section
.
These are used to get the position of the current page or section inside
its parent section, which can be useful if you create section or pages
in loops.
- We are excited to present the new section class
- Codebook
- The codebook now includes the number of choices for all choice elements
(#114) - On codebook export, alfred3 will check if the two newest sessions contain
identical element labels. If not, alfred3 will log a warning. This can
help users to discover unfortunate element or page randomization setups.
- The codebook now includes the number of choices for all choice elements
- Different modes
- Added a test mode (#90). If you start an experiment with the url parameter
?test=true
, the experiment starts in test mode. The test mode's only
effect is that it prefixes session IDs of test sessions with "test-".
Test mode is active in debug mode aswell.- Keep in mind that a test session will take up a slot in list
randomization just as any other session. You have to use experiment
version numbers to manage randomization slots.
- Keep in mind that a test session will take up a slot in list
- Added the possibility to start the "debug" mode with the url parameter
?debug=true
. Debug mode is a "fancy test mode" - session IDs created
in debug mode will be prefixed with "test-". - Added the parameter
test
toExperimentRunner.auto_run
and, subsequently,
toExperiment.run
- Added a test mode (#90). If you start an experiment with the url parameter
To start an experiment in test mode locally, you can use this parameter
in the if __name__ == "__main__"
block:
import alfred3 as al
exp = al.Experiment()
exp += al.Page(name="demo")
if __name__ == "__main__":
exp.run(test=True)
- Miscellaneous
Changed v2.3.0
- Changed the default design. The top bar is now white instead of red.
- Sections will now immediately raise an error, if you mistakenly define
a page-only hook likeon_first_show
oron_first_hide
on a section,
which can be a common but very hard-to-debug programming error. - The
NumberEntry
element now returns its value as afloat
. Previously,
the value was returned as a string, which was unexpected behavior in
most cases. - From now on, sections do not close all of their pages by default on leaving.
Instead, you can override the attributeclose_pages_on_leave
. By setting
it to True, a section will close all its pages when it is left. - Minimal finetuning of the progress bar: It can now be set to zero progress.
Fixed v2.3.0
- Some updates to the documentation
- Fixed the option "logo_text" in the section "layout" in
config.conf
- Fixed the "shuffle" argument of Sections. Previously, it did not
successfully lead to randomization of the pages and subsections in a
section. It affects only first-level subsections, i.e. the order of
subsections is randomized, but the order of pages inside those
subsections is not affected. - Fixed the defaults for SingleChoice element and its children that are
used in debug mode (#125).
alfred3 v2.2.2
alfred3 v2.2.2 (Released 2021-10-14)
The last update (v2.2.1) did not contain the intended changes. This update
fixes this issue.
Changed v2.2.2
- We temporarily deactivated the
MultipleChoiceList
element, because
we have to sort out some issues with it. It has seen no use so far, so
the deactivation should not be a problem.
Fixed v2.2.2
- We fixed some encoding issues on Windows machines.
- We fixed some issues in the documentation.
alfred3 v2.2.0
alfred3 v2.2.0 (Released 2021-10-14)
Added v2.2.0
-
Added
alfred3.SessionQuota
, a class for smart session counting. You
can use it to control the maximum number of participants to your
experiment. The SessionQuota is a new parent class to ListRandomizer. -
Added a new admin mode to alfred3 that you can use to access experiment
information and manage your experiment (#113). You can also grant access to
others on three different levels of authorization. You can add
functionality to your experiment's admin mode by adding pages, just like
you add pages to an ordinary experiment. You start it by adding
?admin=true
to the experiment's start url.
Please refer to the official documentation for more details. -
Added
alfred3.PasswordPage
, a wide page that can be used to restrict
access. -
Added lots of automatic unit tests.
Changed v2.2.0
-
Removed the method ListRandomizer.abort_if_full. Instead, you can check
the randomizer's status with the attributes :attr:.full
,
:attr:.allfinished
, :attr:.nopen
, :attr:.npending
, and
:attr:.nfinished
and call :meth:.ExperimentSession.abort
directly. -
We turned
Page.showif
andSection.showif
into hooks that you can use
to dynamically control whether a page or section is shown or not. You
use it by overloading
the method when writing a page or section in class style. If the method
returns True, the page or section is shown, if it returns False it
is not shown.
Fixed v2.2.0
- Fixed #118
alfred3 v2.1.6
Fixed
- Fixed an issue with the upper allocation limits of the
ListRandomizer
.