I deployed a big update yesterday that included all the changes in the 2-2-x branch since 2.2.0 along with a few query optimizations of my own. It included fixes for bugs that were bugging us, like the inability to add students to groups and a stack overflow error in the Section Info tool.
I had given this code a cursory look on our staging server and it looked good, so I ran with it. Unfortunately, I missed the fact that participants in a multi-roster course did not have access to their course. I got the call this morning while I was shaving. There's nothing like troubleshooting code in a bath towel. I immediately rolled back to yesterday's code.
My plan for today was to figure out what had been wrong with the new release, but I spent much of the day fixing two new problems: site setup stopped adding rosters to course sites when they were created, and certain users couldn't update their site's rosters after the fact.
The first problem was a result of using an updated version of SiteAction.java without also updating the CourseManagementProvider it depends on. The second problem was a result of SiteAction.java calling the CourseManagementService with an Id, instead of an Eid. I decided to jira that one
Sadly, I'm no closer to my awesome update than I was this morning. I do have a hunch about what was going wrong though. I think my new method in the CourseManagementProvider may not be right. This time I'll be sure before it goes into production. I keep meaning to create a whole suite of Selenium tests
. Perhaps someday soon!