AMY release v1.4
Intense month of January is almost behind us, so it’s time for new AMY release.
First, let me brag a little: on January 22 I graduated from my university, and have the Polish official profession title of engineer. You can imagine I’m like this all the time:
All the time. (click to enlarge)
One bugfix: don’t break whole timeline widget when there are TODOs without due date.
New feature: stop using dots (
.) for usernames, use underscores (
This was an interesting issue: since we rely on some Ruby software on the SWC
website, we can’t have dots in filenames (they’re treated as parameter access
operator, for example:
piotr parameter on
banaszkiewicz object). But we have filenames that correspond to usernames in
AMY. So it was necessary to drop dots and switch to underscores…
Unfortunately, due to the way we have our project laid out on GitHub, some of the features implemented for v1.4 before this feature were included in the deployment; I will still put them to v1.4 section, though.
The biggest highlights of this month are definitely:
- first approach to the new API
- API reports
- merging events.
There were also some essential features, but not much. In v1.5 there will be a lot more.
We had to programmatically fix/complete some of our records:
- historical events on production server were assigned an administering organization (that’s the one responsible for taking care of the workshop bureaucracy),
- new DC instructors were added: anyone with a special note or anyone who
taught at DC workshop now has a
Looking at the list of issues for this release, it seems like many bugs were fixed. It’s true, however the bugs themselves weren’t that big:
- some fields containing numerical values were switched to other type of fields to prevent slider from appearing; the background for this issue was that when scrolling through a page with form, on MacOSX people would accidentally change values of numerical fields,
- generation of initial revisions was added to the process of creating a fake database for development use,
- some types of events (
unresponsive) were kicked out from debrief lookup,
- some invoice options were changed to remain consistent with the rest.
As usual, we hit a fair number of new features for AMY:
Personmodel is now able to store person’s occupation and ORCID code,
- events can hold links to survey results (pre-workshop for learners and for instructors, post-workshop for learners and for instructors, and long-term for learners),
- API call for getting members list is now for logged in users only, and returns members’ usernames too,
- merging events: with option to select fields from either of events, or (in some cases) even to combine them together. The underlying code may be reused to fix persons merging,
- workshop issues page now allows to filter workshops by assigned admin
- move most of reports to the API; 3 reports now present a graph for easy use, 1 report was requested to be moved to API, and 1 new report was requested (and I made it in API),
- API: new structure. It’s using hyperlinks between resources and allows to view and filter for example people associated with specific events,
- slow tests were fixed (we gained probably around 10s on whole test suite, even though about 10-20 new tests were introduced); now it’s time to speed up migrations,
- Greg added two new badges to the database: maintainer and trainer; I made sure to allow for editing badges via Django Admin interface, and also added these new badges to the fake database command,
- Greg also added a new command for getting list of people who should be warned because their instructor training was about to close,
- meanwhile I added a command for displaying report about instructor training completion rates.
I want to thank prof. Ethan White for his support to AMY development in January.
The next release may be last one made on such regular basis. The reason for this is that in March I start a new academic year (Masters!) and I know it will be very hard; what I don’t know is if I have time to work on AMY this much as in previous months.
Therefore there are multiple important features we want to implement in the v1.5 release – look for the “essential” issues.