Development of AMY in February had seen a boost due to my winter break
(I graduated university and had about a month of free time before MSc studies
started), and that ended with today’s release of v1.5.
AMY’s development chart shows a peak in February 2016. (click to enlarge)
Experiment
This time I decided to carry out a small experiment: I broke the month-long
release cycle by deploying a v1.5.0-dev around February 15th.
There were some big changes already in the develop so I was hoping to get
feedback on them and fix any issues in time for March.
Unfortunately I don’t think anyone used them yet, since I hear nothing about
them.
Bug fixes
The number of bug-fixes for this release is higher than for v1.4, but it’s
still considerably smaller than number of features :-)
Here are fixed bugs:
Django Rest Framework erroring URLs were removed (still not sure what caused
them to error-out)
dashboard and workshop issues now show only active (== not stalled, not
marked as complete) events
workshop issues was extended by providing a list of workshops without any
assigned instructors
a rare error when looking someone up was fixed
API throttle rates have been increased
current and upcoming events on the dashboard are now based off of published
events.
New features
The biggest new features for this release:
new workshops requests once accepted are linked to resulting events
admins now can submit invoices from AMY
admins can now receive event submissions (this should work really well for
self-organized workshops that already have a workshop page)
Other changes:
badge details view allows for filtering
development and production software was updated
production assets (JavaScript and CSS files) are now compressed and served
with unique name
persons merging was reworked and is now a lot better
it’s possible to find duplicates in the database now
base templates were renamed to lower confusion
API returns award date for every person for every badge
added CSV renderer to some API endpoint for exporting members
debrief was renamed and also allows for CSV export
Award model gained awarded_by field pointing to the person responsible
for awarding a badge
person lookup in some places now works for “Name Lastname” pattern too.
Changes contributed by Greg Wilson:
CSV export of instructor completion rates
CSV export of missing instructor certificates
(Yes, Greg’s responsible for training new instructors.)
Next release
This was the last month of prof. Ethan White’s
support of AMY’s development and I’d like to thank him a lot for the almost
half-year long generous support. It definitely helped me work on AMY.
Since I’ve just started Master’s programme, and it’s very challenging, I’ll be
slowing down the development pace. That’s also the reason why v1.6 doesn’t
have a deadline (yet).
In the queue there are some very interesting changes to be made. To name a few:
generating certificates for people from AMY
checking-in workshop attendees from AMY
having a cronjob look over all workshop pages to find out if they were
updated
AMY is probably also facing a database migration to PostgreSQL at one point
(but rather sooner than later).
I will be mentoring for any of Software Carpentry’s projects that will get
a student. Right now we have 3 proposal of our own, but we accept new
proposals from students.
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:
One bugfix: don’t break whole timeline widget when there are TODOs without due
date.
Release v1.3.2
New feature: stop using dots (.) for usernames, use underscores (_)
instead.
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: banaszkiewicz.piotr is 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.
Release v1.4
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.
Data fixing
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 DC instructor badge.
Bug fixes
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 (stalled and unresponsive) were kicked out from
debrief lookup,
some invoice options were changed to remain consistent with the rest.
New features
As usual, we hit a fair number of new features for AMY:
Person model 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.
Next release
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.
I’m studying Automation Control and Robotics, a major that doesn’t say
clearly what a person would do after graduating it.
From time to time I talk with people who either think I’m studying programming,
or that I’m going to build robots in the future.
What is Automation Control and Robotics?
Most people don’t know what automation control is, so they focus on the part
that sounds familiar: robotics. They automatically assume I’ll be building
robots like
these,
or these.
Well, I won’t.
My studies concentrate on things like control systems (think of it as
SCADA),
optimization methods,
control theory, electronics,
specialized electronics (FPGAs, embedded systems, assembler programming,
industrial-class robots), leverage of
stochastic methods
in industrial process identification, computer vision,
PLC programming,
and others.
As you can see, I was mostly balancing between engineering and very specialized
computer science. There really was very little robotics during my Bachelor’s
studies.
What can you do after graduating?
I like to call it: engineering.
People graduating automatics control and robotics are vast-minded, and ready to
work in pretty much any engineering field that has something to do with
programming:
we can set up wind-turbines
or air control systems
or nitrogen refill systems
or fine-tuning of power plants
or building assembly lines
There are thousands of options, all different kinds of industries.
Do I enjoy these studies?
Contrary to many of my friends, I do enjoy studying automation control and
robotics. I learned a lot of engineering- and maths-related subjects, and
I have hopes for a great work in future.
This is the third post-gsoc release of AMY, the workshop management tool
for Software-Carpentry. This release
was supported by prof. Ethan White.
Thanks a lot!
the same API gained a new endpoint used for generating list of
current members of Software-Carpentry Foundation; this is in no way
official list of members, but it can be used to help determine who’s
eligible (credits for this one go to both Greg and me since I
finished his pull request),
it’s now possible to search in events’ URL, contact, venue and
address fields,
2 new options for invoice status were added (not invoiced for
historical reasons and not invoiced because of membership),
more places (workshop issues, and on each workshop without
attendance data) to send “Give us attendance figures” emails, more
people to send to,
profile update requests can now be edited by admins.
Next release
There’s number of issues scheduled for
v1.3 release, and
there will be others added to that list. The problem is that December
contains:
end of my semester,
one huge exam, a couple of smaller tests,
Christmas,
deadline for my BEng. project and thesis.
So total time spent on AMY in December probably will be lower than what
I did in November.
This is the second post-gsoc release of AMY, the workshop management
tool for Software-Carpentry. Below
you can find a release notes for version
1.1.
Announcement
I’m very happy to announce that development of AMY versions 1.1, 1.2 and
1.3 is supported by prof. Ethan White.
Thanks a lot!
v1.1
Bug fixes
Can the low number of bug fixes mean that AMY’s getting mature? I hope
so!
Small typo in README.md fixed.
Logic for displaying uninvoiced events was fixed so that events
marked as uninvoiced but without any admin fee do show up on the
dashboard.
Fields layout on the profile update request details page was changed
to avoid confusion.
Better wording in email request to workshop hosts for attendees
figures.
New features
New switch for Open/Closed requests (both profile update requests
and workshop requests). Admins will be able to look up dismissed or
finished requests.
“Recently changed” log was moved to a separate view so that it
doesn’t clutter the dashboard.
Some objects (events, hosts, persons, airports, tasks) are followed
by django-reversion.
Thanks to that fact we can now show who+when created any of these
objects and who+when last modified it.
Each event marked as “uninvoiced” can easily be invoiced by the
admin thanks to the new “Invoice” button on the event’s details
page.
New report: people who have been through instructor training but
didn’t finish.
Self-organized workshops can now have a “self-organized” host.
New report: show how often instructors teach.
Admins can mark events as completed and throw them out of the filter
results.
Big: events can have multiple TODO items associated with them.
Next release
There’s already a big pile of things to do for the
v1.2 release. I
can guess that only a number of the issues will be fixed. It’s good,
because otherwise there would be nothing for me to do for v1.3. :)
That was a looong ride, but we’re finally here! AMY is mature enough to
be given the v1.0
tag.
This will be a joined release notes to multiple
releases:
v0.9.1
v0.9.2
v0.9.5
v0.9.6
v0.9.7
and v1.0.0
v0.9.1
Greg Wilson has worked on the “problems” page: switched its layout
to 3-column, added better email messages, etc.
He also extended our API to return airport’s country.
v0.9.2
I hot-fixed an issue with creating M2M with intermediary model in
model forms (basically impossible, we have to do this manually).
v0.9.5
This release adds workshop request forms and profile update request
form to AMY.
v0.9.6
I hot-fixed a bug with settings: we should load more email settings
from environmental variables in order to use emails from Django.
v0.9.7
I added a new country: ‘Online’ (for international / online events,
like some Instructor Trainings).
The dashboard was changed to show not only upcoming, but also
ongoing workshops (in the same column).
Greg added some helper commands to report inconsistencies in PDF
certificates for instructors.
He also removed old command used for checking AMY’s database against
SWC site’s archive. Site has moved to use AMY’s API, so the archive
was gone and the command was made redundant.
I updated check.py script (used for checking workshop settings
correctness) from workshop-template repository.
Greg cleared up titles of forms introduced in v0.9.5.
I split these forms’ templates and added SWC and DC logos to them.
v1.0.0
Bug fixes
Bulk-uploaded CSVs with entries that contained empty rows (for
example: ,,,,,,) were treated as correct, but not anymore.
“Artificial” country European Union had been removed and was brought
back since some hosts were using it.
API now returns website URLs to events instead of original URLs.
New features
We have a new database for development use (I need to switch to
fixtures some day…).
I changed the way AMY handles event URLs:
admins cannot use GitHub repository URL for event’s URL
migration was used to change all URLs to website-URL format (if
possible)
I also fixed import/update from URL feature to auto-select
country if possible
…and to auto-use correct website URL instead of repository URL.
AMY auto-counts event attendees if provided with a list of attendees
(for example via bulk-upload).
External links now open in new tabs.
Now there are more options to Event.invoice (for example with reason
for lack of invoice).
New remove awards functionality.
Next release
I asked our admins what they want to see next in AMY and I received very
nice feedback. You can see all requests in v1.1
tag on GitHub. It’s
scheduled for the end of October (but you can expect some delays :) ).
With a week of delay (3 weeks after v0.8 release), I finally released
AMY v0.9 today.
The list of changes for this release doesn’t contain one big thing I was
hoping for, but it’s still decent.
This is also the last release that (partly) took place during Google
Summer of Code 2015.
Google Summer of Code 2015
I’d really like to thank everyone who helped me during this Summer:
Raniere Silva for keeping eye on the participants’ reminders and for
so many friendly chats over these months
Greg Wilson for mentoring me and for lots of enjoyable meetings
W. Trevor King for introducing me to some very advanced git methods
my application’s users: Amy, Giacomo, Maneesha, Tracy and others,
for providing me with excellent feedback.
This was incredible Summer; I learned a lot and had so much fun. That’s
great to see that we’ll release AMY
v1.0 soon as a
wrap up of 4 or 5 months of work.
Bug fixes
Okay, back to the change log.
Some workshop URLs weren’t translated between repository and website
versions. This is now fixed and every workshop with one of these
links will automatically display the other link as well.
It happened that users put whole links into Host.domain (in the
form https://domain.tld). This caused errors in many places where
we wanted to display link to that Host. The issue is now fixed:
users aren’t allowed to put protocols or trailing slashes into
Host.domain.
Some management commands were broken due to the fact that we
switched underlying methods to use API endpoints, but we didn’t
change the commands themselves.
Feature(s)
This release was focused on getting permissions sorted out and adding
read-only access to people from Software-Carpentry Foundation Steering
Committee.
We had to cut out the another exciting feature: workshop requests,
profile update requests. The Pull Request for this feature is very big
and we’ll release it in
v0.9.5 somewhere
in the next week.
After another two weeks, AMY v0.8 was released today.
The list of changes for this release is really small.
Bug fixes
Some workshops that didn’t provide a list of instructors or helpers
were erroring out during Import from URL. That was fixed in a v0.7.1
in between release.
Some of location fields (address or venue) and contact field were
too short for some events. Their length was bumped to 255 chars.
Feature(s)
This release was focused on integrating main Software-Carpentry
website and AMY.
On the AMY side, I implemented a basic REST API (read-only).
Changes to the website are still WIP: this is a big project and I still
don’t get “the whole image” clearly, so the development is slower.