Affects Version/s: 2.6.2, 2.7.0
Fix Version/s: None
Component/s: Worksite Setup
1) Startup in demo mode so sample CM data loads
2) Login as instructor1
3) Create a new site via Worksite Setup, selecting a few sections, adding the Roster and Section Info tools
4) Navigate to Section Info, no sections will be listed
5) Navigate the Roster tool, no rosters appear in the pull-down
In 2.5.x per-roster Site Groups would be created and populated automatically (assuming automatic section management is enabled). Not so for 2.6.x+
When creating a new site, SiteAction.doFinish() calls SiteAction.updateCourseSiteSections() to bind the selected rosters into the new site. But instead of updating and/or saving the in-memory Site object, updateCourseSiteSections() loads the underlying AuthzGroup from the db again, changes it, saves it, but then doesn't reload nor update the in-memory Site object. So when SectionManagerImpl is notified (for the nth time) that the Site was saved, it tries to create per-section groups but can't b/c it doesn't find the list of roster IDs on Site object it's given. So the site creation process ends without any groups/sections being created.
Observed the problematic behavior in 2.6.x, 2.6.2, and 2.7.x. Tried the pre-2.8 trunk but don't get any selectable sections in Worksite Setup... maybe an environment problem or an unrelated change to demo CM data handling. In any event... for 2.6.x the issue is compounded by
SAK-17790 and for both 2.6.x and 2.6.2 KNL-320 prevents proper group creation and deletion for non-super-users. But the SiteAction problem affects all three versions.
Attaching patches which modify updateCourseSiteSections() to work on the in-memory Site. Don't think there's a reason to load the Site or AuthzGroup again. And don't think there's a reason for that method to save the Site or its underlying AuthzGroup. Both of its callers take care of that.
The 2.7.x patch is the same as the 2.6.2 patch, except for line numbers. UVa has been running the 2.6.2 patch in production, in combination with kernel patches approximating
KNL-320 for several weeks now.