AMY release v1.6
After (I think) 12 days of delay and 7 days of postponing, we finally closed and released AMY v1.6. It packs a whole lot of changes and bugfixes!
New features
- I implemented a Data-Carpentry form for submitting requests for running self-organized workshops.
- I added a histogram into frequency of instructors teaching report page.
- Aditya Narayan added “Contact all” button on the all persons page.
- Aditya Narayan continued W. Trevor King’s work on the
Language
model and now we can accurately track languages amongst multiple forms and related models (e.g. events and persons). - Aditya Narayan added a summary of tasks per role on person’s details page.
- Chris Medrela added an application form for individuals wanting to become instructors.
- I added
Language
support in additional forms (original PR was missing language support in some forms). - Big: Chris Medrela worked hard to bring GitHub authentication into AMY (with success!). There are some caveats, but we’ll smoothen them out for the next release. This work included opening AMY to other users (a move we were afraid of), and tests for each and every test to ensure we got the permissions right.
- In the same PR, Chris Medrela added an
AutoUpdateProfileForm
used by users (who can log in from GitHub) to self-populate their profiles. - Aditya Narayan defined sorting of tasks on the person’s details page.
Bug fixes
- I fixed a bug that caused
IntegrityError
when people with similar tasks (task has arole
,person
, and anevent
; tasks for these people were the same exceptperson
was different) were being merged.IntegrityError
means that a uniqueness constraint was violated (ie. after the merge there were twoTask(role, personA, event)
, which is prohibited). - Chris Medrela fixed interpolation on some of our charts that looked like the data was swinging, while in reality it wasn’t.
- Aditya Narayan fixed default field values on the “All activities over time” page; now the fields have meaningful default values and the datetime inputs have a proper calendar widget.
- Aditya Narayan reworked teaching frequency report to eliminate bug that duplicated numbers for people simultaneously marked as SWC and DC instructors.
- I fixed some corner cases in event validation (behavior for required or optional tags/metadata (see below)).
- I fixed a bug resulting in
500 Server error
when accessing weblink to a non-existingHost
. - Chris Medrela added one small migrations missing from the codebase.
- Greg Wilson fixed a bug in API that prevented
list
from working on the generator objects for some renderers (CSV
andYaml
). - Prerit Garg fixed a specific bug preventing saving a permissions form when person’s email field is empty.
- Chris Medrela fixed a
TrainingRequest
form that display additional fields (that weren’t supposed to appear).
Other
- Chris Medrela refactored “tags” to “metadata”; tags as key-value pairs
describing workshops’ date, times, location, instructors and helpers. We
changed the naming to “metadata” to not confuse with
Tag
model. - Chris Medrela sped up our tests by changing hashing algorithm to a slower one, which – surprisingly – is one of suggested test speedup suggestions by Django development team.
Summary
I’d like to thank Greg Wilson for supporting us throughout the exams, and even when we disappointed him by continuously not delivering and rescheduling this release. Greg, you’re awesome!
Finally I also want to point to Chris Medrela’s blog where he regularly posts AMY’s development during this Summer of Code.