Skip to content

Commit 6122f0d

Browse files
plukasewern
authored andcommitted
SAK-40646: SiteStats no longer tracks Gradebook events (sakaiproject#6016)
1 parent 32daae4 commit 6122f0d

File tree

4 files changed

+41
-15
lines changed

4 files changed

+41
-15
lines changed

sitestats/sitestats-api/src/config/org/sakaiproject/sitestats/config/toolEventsDef.xml

+15-4
Original file line numberDiff line numberDiff line change
@@ -90,18 +90,29 @@
9090

9191
<!-- gradebook (available in sakai 2.4+) -->
9292
<!-- (see SAK-6207 and SAK-10802) -->
93-
<tool
94-
toolId="sakai.gradebook.tool"
93+
<tool
94+
toolId="sakai.gradebookng"
95+
additionalToolIds="sakai.gradebook.tool"
9596
selected="true">
9697
<event eventId="gradebook.newItem" selected="true"/>
98+
<event eventId="gradebook.updateAssignment" selected="true"/>
9799
<event eventId="gradebook.deleteItem" selected="true"/>
100+
<event eventId="gradebook.updateItemScore" selected="true"/>
101+
<event eventId="gradebook.updateUngradedScores" selected="true"/>
102+
<event eventId="gradebook.comment" selected="true"/>
103+
<event eventId="gradebook.studentView" selected="true"/>
104+
<event eventId="gradebook.export" selected="true"/>
105+
<event eventId="gradebook.importBegin" selected="true"/>
106+
<event eventId="gradebook.importCompleted" selected="true"/>
107+
<event eventId="gradebook.overrideCourseGrade" selected="true"/>
108+
<event eventId="gradebook.updateSettings" selected="true"/>
109+
<!-- legacy Gradebook Classic events, included here to retain historical statistics -->
98110
<event eventId="gradebook.updateItemScores" selected="true"/>
99111
<event eventId="gradebook.updateCourseGrades" selected="true"/>
100-
<event eventId="gradebook.comment" selected="true"/>
101112
<event eventId="gradebook.downloadRoster" selected="true"/>
102113
<event eventId="gradebook.downloadCourseGrade " selected="true"/>
103114
<event eventId="gradebook.importEntire" selected="true"/>
104-
<event eventId="gradebook.importItem" selected="true"/>
115+
<event eventId="gradebook.importItem" selected="true"/>
105116
<eventParserTip for="contextId" separator="/" index="2"/>
106117
</tool>
107118

sitestats/sitestats-bundle/src/resources/Events.properties

+16-7
Original file line numberDiff line numberDiff line change
@@ -45,16 +45,25 @@ disc.delete.any=Discussion topic/message delete (other)
4545
disc.delete.own=Discussion topic/message delete (own)
4646
disc.delete.category=Discussion category delete
4747

48-
# gradebook
48+
# gradebook / gradebookng
49+
gradebook.updateItemScores=Gradebook Classic item scores update
50+
gradebook.updateCourseGrades=Gradebook Classic course scores update
51+
gradebook.downloadRoster=Gradebook Classic roster download
52+
gradebook.downloadCourseGrade=Gradebook Classic course grade download
53+
gradebook.importEntire=Gradebook Classic course grades import
54+
gradebook.importItem=Gradebook Classic item import
4955
gradebook.newItem=Gradebook item new
5056
gradebook.deleteItem=Gradebook item delete
51-
gradebook.updateItemScores=Gradebook item scores update
52-
gradebook.updateCourseGrades=Gradebook course scores update
5357
gradebook.comment=Gradebook comment
54-
gradebook.downloadRoster=Gradebook roster download
55-
gradebook.downloadCourseGrade=Gradebook course grade
56-
gradebook.importEntire=Gradebook course grades import
57-
gradebook.importItem=Gradebook item import
58+
gradebook.updateAssignment=Gradebook item update
59+
gradebook.updateItemScore=Gradebook item update score
60+
gradebook.updateUngradedScores=Gradebook update ungraded scores
61+
gradebook.studentView=Gradebook student view
62+
gradebook.export=Gradebook export
63+
gradebook.importBegin=Gradebook begin import
64+
gradebook.importCompleted=Gradebook import complete
65+
gradebook.overrideCourseGrade=Gradebook override course grade
66+
gradebook.updateSettings=Gradebook update settings
5867

5968
# mail
6069
mail.new=Mail new

sitestats/sitestats-impl/src/java/org/sakaiproject/sitestats/impl/StatsManagerImpl.java

+2
Original file line numberDiff line numberDiff line change
@@ -438,6 +438,8 @@ public PrefsData getPreferences(final String siteId, final boolean includeUnsele
438438
try{
439439
// parse from stored preferences
440440
prefsdata = parseSitePrefs(new ByteArrayInputStream(prefs.getPrefs().getBytes()));
441+
// preferences doesn't store additionalToolIds, add them back
442+
EventUtil.addMissingAdditionalToolIds(prefsdata.getToolEventsDef(), M_ers.getEventRegistry());
441443
}catch(Exception e){
442444
// something failed, use default
443445
log.warn("Exception in parseSitePrefs() ",e);

sitestats/sitestats-impl/src/java/org/sakaiproject/sitestats/impl/event/EventUtil.java

+8-4
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.util.ArrayList;
2222
import java.util.Iterator;
2323
import java.util.List;
24+
import org.apache.commons.collections4.ListUtils;
2425

2526
import org.sakaiproject.exception.IdUnusedException;
2627
import org.sakaiproject.site.api.Site;
@@ -77,8 +78,7 @@ public static List<ToolInfo> getIntersectionWithAvailableToolsInSite(SiteService
7778
ToolInfo t = iTED.next();
7879
Iterator<ToolConfiguration> iST = siteTools.iterator();
7980
while (iST.hasNext()){
80-
ToolConfiguration tc = iST.next();
81-
if(tc.getToolId().equals(t.getToolId())){
81+
if(intersects(iST.next().getToolId(), t)){
8282
intersected.add(t);
8383
break;
8484
}
@@ -107,8 +107,7 @@ public static List<ToolInfo> getIntersectionWithAvailableToolsInSakaiInstallatio
107107
ToolInfo t = iTED.next();
108108
Iterator<org.sakaiproject.tool.api.Tool> iST = sakaiTools.iterator();
109109
while (iST.hasNext()){
110-
org.sakaiproject.tool.api.Tool tc = iST.next();
111-
if(tc.getId().equals(t.getToolId())){
110+
if(intersects(iST.next().getId(), t)) {
112111
intersected.add(t);
113112
break;
114113
}
@@ -118,6 +117,11 @@ public static List<ToolInfo> getIntersectionWithAvailableToolsInSakaiInstallatio
118117
return intersected;
119118
}
120119

120+
private static boolean intersects(String siteToolId, ToolInfo regTool) {
121+
List<String> aliasIds = ListUtils.emptyIfNull(regTool.getAdditionalToolIds());
122+
return siteToolId.equals(regTool.getToolId()) || aliasIds.contains(siteToolId);
123+
}
124+
121125
/**
122126
* Union between a given event registry with the full Event Registry.
123127
* @param eventRegistrySubset The Event Registry to union with.

0 commit comments

Comments
 (0)