bearcat 0.8 → 0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/bearcat/client.rb +2 -0
- data/lib/bearcat/client/courses.rb +1 -1
- data/lib/bearcat/client/reports.rb +27 -0
- data/lib/bearcat/version.rb +1 -1
- data/spec/bearcat/client/courses_spec.rb +1 -1
- data/spec/bearcat/client/reports_spec.rb +38 -0
- data/spec/fixtures/report_history.json +52 -0
- data/spec/fixtures/report_list.json +862 -0
- data/spec/fixtures/report_status.json +25 -0
- data/spec/fixtures/start_report.json +8 -0
- metadata +13 -2
data/lib/bearcat/client.rb
CHANGED
@@ -10,6 +10,7 @@ require 'bearcat/client/o_auth2'
|
|
10
10
|
require 'bearcat/client/groups'
|
11
11
|
require 'bearcat/client/conferences'
|
12
12
|
require 'bearcat/client/users'
|
13
|
+
require 'bearcat/client/reports'
|
13
14
|
|
14
15
|
module Bearcat
|
15
16
|
class Client < Footrest::Client
|
@@ -24,6 +25,7 @@ module Bearcat
|
|
24
25
|
include Groups
|
25
26
|
include Conferences
|
26
27
|
include Users
|
28
|
+
include Reports
|
27
29
|
|
28
30
|
|
29
31
|
# Override Footrest request for ApiArray support
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Bearcat
|
2
|
+
class Client < Footrest::Client
|
3
|
+
module Reports
|
4
|
+
|
5
|
+
def report_list(account)
|
6
|
+
get("/api/v1/accounts/#{account}/reports")
|
7
|
+
end
|
8
|
+
|
9
|
+
def start_report(account, report_name, params = {})
|
10
|
+
post("/api/v1/accounts/#{account}/reports/#{report_name}", params)
|
11
|
+
end
|
12
|
+
|
13
|
+
def report_history(account, report_name)
|
14
|
+
get("/api/v1/accounts/#{account}/reports/#{report_name}")
|
15
|
+
end
|
16
|
+
|
17
|
+
def report_status(account, report_name, report_id)
|
18
|
+
get("/api/v1/accounts/#{account}/reports/#{report_name}/#{report_id}")
|
19
|
+
end
|
20
|
+
|
21
|
+
def delete_report(account, report_name, report_id)
|
22
|
+
delete("/api/v1/accounts/#{account}/reports/#{report_name}/#{report_id}")
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/lib/bearcat/version.rb
CHANGED
@@ -23,7 +23,7 @@ describe Bearcat::Client::Sections do
|
|
23
23
|
|
24
24
|
it "lists all of the students in a course" do
|
25
25
|
stub_get(@client, "/api/v1/courses/1/users?enrollment_type=student").to_return(json_response("course_students.json"))
|
26
|
-
students = @client.
|
26
|
+
students = @client.list_course_users(1, {"enrollment_type" => "student"})
|
27
27
|
students['name'].should == 'test@student.com'
|
28
28
|
students['id'].should == 2
|
29
29
|
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
describe Bearcat::Client::Reports do
|
4
|
+
before do
|
5
|
+
@client = Bearcat::Client.new(prefix: 'http://canvas.instructure.com', token: 'test_token')
|
6
|
+
end
|
7
|
+
|
8
|
+
it 'lists the reports availible' do
|
9
|
+
stub_get(@client, '/api/v1/accounts/1/reports').to_return(json_response('report_list.json'))
|
10
|
+
reports = @client.report_list(1)
|
11
|
+
reports.count.should == 38
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'starts a report' do
|
15
|
+
stub_post(@client, '/api/v1/accounts/1/reports/last_user_access_csv').to_return(json_response('start_report.json'))
|
16
|
+
status = @client.start_report(1, 'last_user_access_csv')
|
17
|
+
status['report'].should == 'last_user_access_csv'
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'lists the report history' do
|
21
|
+
stub_get(@client, '/api/v1/accounts/1/reports/last_user_access_csv').to_return(json_response('report_history.json'))
|
22
|
+
history = @client.report_history(1, 'last_user_access_csv')
|
23
|
+
history.count == 2
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'gets the status of a report' do
|
27
|
+
stub_get(@client, '/api/v1/accounts/1/reports/last_user_access_csv/72').to_return(json_response('report_status.json'))
|
28
|
+
status = @client.report_status(1, 'last_user_access_csv', 72)
|
29
|
+
status['status'] == 'complete'
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'deletes a report' do
|
33
|
+
stub_delete(@client, '/api/v1/accounts/1/reports/last_user_access_csv/72').to_return(json_response('report_status.json'))
|
34
|
+
status = @client.delete_report(1, 'last_user_access_csv', 72)
|
35
|
+
status['report'] == 'last_user_access_csv'
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"id": 71,
|
4
|
+
"parameters": {},
|
5
|
+
"progress": 100,
|
6
|
+
"status": "complete",
|
7
|
+
"report": "last_user_access_csv",
|
8
|
+
"file_url": "https://localhost:3000/accounts/1/files/678/download",
|
9
|
+
"attachment": {
|
10
|
+
"id": 678,
|
11
|
+
"content-type": "text/csv",
|
12
|
+
"display_name": "last_user_access_csv_23_Jan_2014_71_14345-0.csv",
|
13
|
+
"filename": "1390497025_763__last_user_access_csv_23_Jan_2014_71_14345-0.csv",
|
14
|
+
"url": "http://localhost:3000/files/678/download?download_frd=1&verifier=zFvx1rVQ8yg78DAwvATtFXfasZg8ECrNiJsCeqGH",
|
15
|
+
"size": 13350,
|
16
|
+
"created_at": "2014-01-23T17:10:24Z",
|
17
|
+
"updated_at": "2014-01-23T17:10:25Z",
|
18
|
+
"unlock_at": null,
|
19
|
+
"locked": false,
|
20
|
+
"hidden": false,
|
21
|
+
"lock_at": null,
|
22
|
+
"hidden_for_user": false,
|
23
|
+
"thumbnail_url": null,
|
24
|
+
"locked_for_user": false
|
25
|
+
}
|
26
|
+
},
|
27
|
+
{
|
28
|
+
"id": 72,
|
29
|
+
"parameters": {},
|
30
|
+
"progress": 100,
|
31
|
+
"status": "complete",
|
32
|
+
"report": "last_user_access_csv",
|
33
|
+
"file_url": "https://localhost:3000/accounts/1/files/679/download",
|
34
|
+
"attachment": {
|
35
|
+
"id": 679,
|
36
|
+
"content-type": "text/csv",
|
37
|
+
"display_name": "last_user_access_csv_23_Jan_2014_72_14345-0.csv",
|
38
|
+
"filename": "1390497025_763__last_user_access_csv_23_Jan_2014_71_14345-0.csv",
|
39
|
+
"url": "http://localhost:3000/files/679/download?download_frd=1&verifier=BfzTimBCj3Tg430dTx8CW6e6qJQsQIzZJfgcdjd1",
|
40
|
+
"size": 13350,
|
41
|
+
"created_at": "2014-01-23T17:10:53Z",
|
42
|
+
"updated_at": "2014-01-23T17:10:53Z",
|
43
|
+
"unlock_at": null,
|
44
|
+
"locked": false,
|
45
|
+
"hidden": false,
|
46
|
+
"lock_at": null,
|
47
|
+
"hidden_for_user": false,
|
48
|
+
"thumbnail_url": null,
|
49
|
+
"locked_for_user": false
|
50
|
+
}
|
51
|
+
}
|
52
|
+
]
|
@@ -0,0 +1,862 @@
|
|
1
|
+
[
|
2
|
+
{
|
3
|
+
"title": "Grade Export",
|
4
|
+
"parameters": {
|
5
|
+
"enrollment_term_id": {
|
6
|
+
"required": false,
|
7
|
+
"description": "The canvas id of the term to get grades from"
|
8
|
+
},
|
9
|
+
"include_deleted": {
|
10
|
+
"required": false,
|
11
|
+
"description": "Include deleted objects"
|
12
|
+
}
|
13
|
+
},
|
14
|
+
"report": "grade_export_csv",
|
15
|
+
"last_run": {
|
16
|
+
"id": 60,
|
17
|
+
"parameters": {
|
18
|
+
"enrollment_term_id": "",
|
19
|
+
"extra_text": "Term: All Terms;"
|
20
|
+
},
|
21
|
+
"progress": 100,
|
22
|
+
"status": "complete",
|
23
|
+
"report": "grade_export_csv",
|
24
|
+
"file_url": "https://localhost:3000/accounts/1/files/505/download",
|
25
|
+
"attachment": {
|
26
|
+
"id": 505,
|
27
|
+
"content-type": "text/csv",
|
28
|
+
"display_name": "grade_export_csv_05_Nov_2013_60_55437-0.csv",
|
29
|
+
"filename": "grade_export_csv_05_Nov_2013_60_55437-0.csv",
|
30
|
+
"url": "http://localhost:3000/files/505/download?download_frd=1&verifier=tJ8uRDjK4IlrtAed8QcziGn8b3MHnx7jyw2q5oiV",
|
31
|
+
"size": 5625,
|
32
|
+
"created_at": "2013-11-05T16:24:40Z",
|
33
|
+
"updated_at": "2013-11-05T16:24:40Z",
|
34
|
+
"unlock_at": null,
|
35
|
+
"locked": false,
|
36
|
+
"hidden": false,
|
37
|
+
"lock_at": null,
|
38
|
+
"hidden_for_user": false,
|
39
|
+
"thumbnail_url": null,
|
40
|
+
"locked_for_user": false
|
41
|
+
}
|
42
|
+
}
|
43
|
+
},
|
44
|
+
{
|
45
|
+
"title": "Last User Access",
|
46
|
+
"parameters": {
|
47
|
+
"enrollment_term_id": {
|
48
|
+
"required": false,
|
49
|
+
"description": "The canvas id of the term to get grades from"
|
50
|
+
},
|
51
|
+
"course_id": {
|
52
|
+
"required": false,
|
53
|
+
"description": "The course to report on"
|
54
|
+
}
|
55
|
+
},
|
56
|
+
"report": "last_user_access_csv",
|
57
|
+
"last_run": null
|
58
|
+
},
|
59
|
+
{
|
60
|
+
"title": "Outcome Results",
|
61
|
+
"parameters": {
|
62
|
+
"enrollment_term_id": {
|
63
|
+
"required": false,
|
64
|
+
"description": "The canvas id of the term of courses to report on"
|
65
|
+
},
|
66
|
+
"order": {
|
67
|
+
"required": false,
|
68
|
+
"description": "The sort order for the csv, Options: 'users', 'courses', 'outcomes'"
|
69
|
+
},
|
70
|
+
"include_deleted": {
|
71
|
+
"required": false,
|
72
|
+
"description": "Include deleted objects"
|
73
|
+
}
|
74
|
+
},
|
75
|
+
"report": "outcome_results_csv",
|
76
|
+
"last_run": null
|
77
|
+
},
|
78
|
+
{
|
79
|
+
"title": "Provisioning",
|
80
|
+
"parameters": {
|
81
|
+
"enrollment_term_id": {
|
82
|
+
"required": false,
|
83
|
+
"description": "The canvas id of the term of courses to report on"
|
84
|
+
},
|
85
|
+
"users": {
|
86
|
+
"required": false,
|
87
|
+
"description": "Get the Provisioning file for users"
|
88
|
+
},
|
89
|
+
"accounts": {
|
90
|
+
"required": false,
|
91
|
+
"description": "Get the Provisioning file for accounts"
|
92
|
+
},
|
93
|
+
"terms": {
|
94
|
+
"required": false,
|
95
|
+
"description": "Get the Provisioning file for terms"
|
96
|
+
},
|
97
|
+
"courses": {
|
98
|
+
"required": false,
|
99
|
+
"description": "Get the Provisioning file for courses"
|
100
|
+
},
|
101
|
+
"sections": {
|
102
|
+
"required": false,
|
103
|
+
"description": "Get the Provisioning file for sections"
|
104
|
+
},
|
105
|
+
"enrollments": {
|
106
|
+
"required": false,
|
107
|
+
"description": "Get the Provisioning file for enrollments"
|
108
|
+
},
|
109
|
+
"groups": {
|
110
|
+
"required": false,
|
111
|
+
"description": "Get the Provisioning file for groups"
|
112
|
+
},
|
113
|
+
"group_membership": {
|
114
|
+
"required": false,
|
115
|
+
"description": "Get the Provisioning file for group_membership"
|
116
|
+
},
|
117
|
+
"xlist": {
|
118
|
+
"required": false,
|
119
|
+
"description": "Get the Provisioning file for cross listed courses"
|
120
|
+
},
|
121
|
+
"include_deleted": {
|
122
|
+
"required": false,
|
123
|
+
"description": "Include deleted objects"
|
124
|
+
}
|
125
|
+
},
|
126
|
+
"report": "provisioning_csv",
|
127
|
+
"last_run": {
|
128
|
+
"id": 70,
|
129
|
+
"parameters": {
|
130
|
+
"enrollment_term_id": "",
|
131
|
+
"users": "1",
|
132
|
+
"courses": "1",
|
133
|
+
"sections": "1",
|
134
|
+
"enrollments": "1",
|
135
|
+
"groups": "1",
|
136
|
+
"group_membership": "1",
|
137
|
+
"extra_text": "Term: All Terms; Reports: users courses sections enrollments groups group_membership "
|
138
|
+
},
|
139
|
+
"progress": 100,
|
140
|
+
"status": "complete",
|
141
|
+
"report": "provisioning_csv",
|
142
|
+
"file_url": "https://localhost:3000/accounts/1/files/677/download",
|
143
|
+
"attachment": {
|
144
|
+
"id": 677,
|
145
|
+
"content-type": "application/zip",
|
146
|
+
"display_name": "provisioning_csv_23_Jan_2014_70_.zip",
|
147
|
+
"filename": "1390494378_345__provisioning_csv_23_Jan_2014_70_14345-0.zip",
|
148
|
+
"url": "http://localhost:3000/files/677/download?download_frd=1&verifier=a24g0vKYxb3hJCFYxWFqCvb67UcZ0NpTLqf7dydT",
|
149
|
+
"size": 8936,
|
150
|
+
"created_at": "2014-01-23T16:26:18Z",
|
151
|
+
"updated_at": "2014-01-23T16:26:18Z",
|
152
|
+
"unlock_at": null,
|
153
|
+
"locked": false,
|
154
|
+
"hidden": false,
|
155
|
+
"lock_at": null,
|
156
|
+
"hidden_for_user": false,
|
157
|
+
"thumbnail_url": null,
|
158
|
+
"locked_for_user": false
|
159
|
+
}
|
160
|
+
}
|
161
|
+
},
|
162
|
+
{
|
163
|
+
"title": "Recently Deleted Courses",
|
164
|
+
"parameters": {
|
165
|
+
"enrollment_term_id": {
|
166
|
+
"required": false,
|
167
|
+
"description": "The canvas id of the term to get grades from"
|
168
|
+
}
|
169
|
+
},
|
170
|
+
"report": "recently_deleted_courses_csv",
|
171
|
+
"last_run": null
|
172
|
+
},
|
173
|
+
{
|
174
|
+
"title": "SIS Export",
|
175
|
+
"parameters": {
|
176
|
+
"enrollment_term_id": {
|
177
|
+
"required": false,
|
178
|
+
"description": "The canvas id of the term of courses to report on"
|
179
|
+
},
|
180
|
+
"users": {
|
181
|
+
"required": false,
|
182
|
+
"description": "Get the SIS file for users"
|
183
|
+
},
|
184
|
+
"accounts": {
|
185
|
+
"required": false,
|
186
|
+
"description": "Get the SIS file for accounts"
|
187
|
+
},
|
188
|
+
"terms": {
|
189
|
+
"required": false,
|
190
|
+
"description": "Get the SIS file for terms"
|
191
|
+
},
|
192
|
+
"courses": {
|
193
|
+
"required": false,
|
194
|
+
"description": "Get the SIS file for courses"
|
195
|
+
},
|
196
|
+
"sections": {
|
197
|
+
"required": false,
|
198
|
+
"description": "Get the SIS file for sections"
|
199
|
+
},
|
200
|
+
"enrollments": {
|
201
|
+
"required": false,
|
202
|
+
"description": "Get the SIS file for enrollments"
|
203
|
+
},
|
204
|
+
"groups": {
|
205
|
+
"required": false,
|
206
|
+
"description": "Get the SIS file for groups"
|
207
|
+
},
|
208
|
+
"group_membership": {
|
209
|
+
"required": false,
|
210
|
+
"description": "Get the SIS file for group_membership"
|
211
|
+
},
|
212
|
+
"xlist": {
|
213
|
+
"required": false,
|
214
|
+
"description": "Get the SIS file for cross listed courses"
|
215
|
+
},
|
216
|
+
"include_deleted": {
|
217
|
+
"required": false,
|
218
|
+
"description": "Include deleted objects"
|
219
|
+
}
|
220
|
+
},
|
221
|
+
"report": "sis_export_csv",
|
222
|
+
"last_run": null
|
223
|
+
},
|
224
|
+
{
|
225
|
+
"title": "Student Competency",
|
226
|
+
"parameters": {
|
227
|
+
"enrollment_term_id": {
|
228
|
+
"required": false,
|
229
|
+
"description": "The canvas id of the term of courses to report on"
|
230
|
+
},
|
231
|
+
"include_deleted": {
|
232
|
+
"required": false,
|
233
|
+
"description": "Include deleted objects"
|
234
|
+
}
|
235
|
+
},
|
236
|
+
"report": "student_assignment_outcome_map_csv",
|
237
|
+
"last_run": null
|
238
|
+
},
|
239
|
+
{
|
240
|
+
"title": "Students with no submissions",
|
241
|
+
"parameters": {
|
242
|
+
"enrollment_term_id": {
|
243
|
+
"required": false,
|
244
|
+
"description": "The term to report on"
|
245
|
+
},
|
246
|
+
"course_id": {
|
247
|
+
"required": false,
|
248
|
+
"description": "The course to report on"
|
249
|
+
},
|
250
|
+
"start_at": {
|
251
|
+
"required": true,
|
252
|
+
"description": "The beginning date for submissions. Max time range is 2 weeks."
|
253
|
+
},
|
254
|
+
"end_at": {
|
255
|
+
"required": true,
|
256
|
+
"description": "The end date for submissions. Max time range is 2 weeks."
|
257
|
+
}
|
258
|
+
},
|
259
|
+
"report": "students_with_no_submissions_csv",
|
260
|
+
"last_run": null
|
261
|
+
},
|
262
|
+
{
|
263
|
+
"title": "Unpublished Courses",
|
264
|
+
"parameters": {
|
265
|
+
"enrollment_term_id": {
|
266
|
+
"required": false,
|
267
|
+
"description": "The canvas id of the term to get grades from"
|
268
|
+
}
|
269
|
+
},
|
270
|
+
"report": "unpublished_courses_csv",
|
271
|
+
"last_run": null
|
272
|
+
},
|
273
|
+
{
|
274
|
+
"title": "Unused Courses",
|
275
|
+
"parameters": {
|
276
|
+
"enrollment_term_id": {
|
277
|
+
"required": false,
|
278
|
+
"description": "The canvas id of the term to get courses from"
|
279
|
+
}
|
280
|
+
},
|
281
|
+
"report": "unused_courses_csv",
|
282
|
+
"last_run": null
|
283
|
+
},
|
284
|
+
{
|
285
|
+
"title": "Zero Activity",
|
286
|
+
"parameters": {
|
287
|
+
"enrollment_term_id": {
|
288
|
+
"required": false,
|
289
|
+
"description": "The canvas id of the term to get grades from"
|
290
|
+
},
|
291
|
+
"course_id": {
|
292
|
+
"required": false,
|
293
|
+
"description": "The course to report on"
|
294
|
+
}
|
295
|
+
},
|
296
|
+
"report": "zero_activity_csv",
|
297
|
+
"last_run": null
|
298
|
+
},
|
299
|
+
{
|
300
|
+
"title": "Multi-Student Progress",
|
301
|
+
"parameters": null,
|
302
|
+
"report": "multi_student_progress_csv",
|
303
|
+
"last_run": null
|
304
|
+
},
|
305
|
+
{
|
306
|
+
"title": "Ungraded Student Submissions",
|
307
|
+
"parameters": null,
|
308
|
+
"report": "ungraded_submissions_csv",
|
309
|
+
"last_run": null
|
310
|
+
},
|
311
|
+
{
|
312
|
+
"title": "Faculty Success Report",
|
313
|
+
"parameters": null,
|
314
|
+
"report": "faculty_success_csv",
|
315
|
+
"last_run": null
|
316
|
+
},
|
317
|
+
{
|
318
|
+
"title": "Registrar Report",
|
319
|
+
"parameters": null,
|
320
|
+
"report": "registrar_csv",
|
321
|
+
"last_run": null
|
322
|
+
},
|
323
|
+
{
|
324
|
+
"title": "Enrollment Summary",
|
325
|
+
"parameters": null,
|
326
|
+
"report": "enrollment_summary_csv",
|
327
|
+
"last_run": null
|
328
|
+
},
|
329
|
+
{
|
330
|
+
"title": "Google Doc Accounts",
|
331
|
+
"parameters": null,
|
332
|
+
"report": "google_doc_accounts_csv",
|
333
|
+
"last_run": null
|
334
|
+
},
|
335
|
+
{
|
336
|
+
"title": "Quiz Data",
|
337
|
+
"parameters": {
|
338
|
+
"enrollment_term_id": {
|
339
|
+
"required": false,
|
340
|
+
"description": "The term to report on"
|
341
|
+
},
|
342
|
+
"start_at": {
|
343
|
+
"required": true,
|
344
|
+
"description": "The beginning date for the quiz due date"
|
345
|
+
},
|
346
|
+
"end_at": {
|
347
|
+
"required": true,
|
348
|
+
"description": "The end date for the quiz due date"
|
349
|
+
}
|
350
|
+
},
|
351
|
+
"report": "quiz_data_csv",
|
352
|
+
"last_run": null
|
353
|
+
},
|
354
|
+
{
|
355
|
+
"title": "Quiz Statistics",
|
356
|
+
"parameters": {
|
357
|
+
"enrollment_term_id": {
|
358
|
+
"required": false,
|
359
|
+
"description": "The term to report on"
|
360
|
+
},
|
361
|
+
"start_at": {
|
362
|
+
"required": true,
|
363
|
+
"description": "The beginning date for the quiz due date"
|
364
|
+
},
|
365
|
+
"end_at": {
|
366
|
+
"required": true,
|
367
|
+
"description": "The end date for the quiz due date"
|
368
|
+
}
|
369
|
+
},
|
370
|
+
"report": "quiz_statistics_csv",
|
371
|
+
"last_run": null
|
372
|
+
},
|
373
|
+
{
|
374
|
+
"title": "Student Submissions",
|
375
|
+
"parameters": {
|
376
|
+
"enrollment_term_id": {
|
377
|
+
"required": false,
|
378
|
+
"description": "The term to report on"
|
379
|
+
},
|
380
|
+
"start_at": {
|
381
|
+
"required": true,
|
382
|
+
"description": "The beginning date for submissions"
|
383
|
+
},
|
384
|
+
"end_at": {
|
385
|
+
"required": true,
|
386
|
+
"description": "The end date for submissions"
|
387
|
+
}
|
388
|
+
},
|
389
|
+
"report": "student_submissions_csv",
|
390
|
+
"last_run": null
|
391
|
+
},
|
392
|
+
{
|
393
|
+
"title": "CampusVue Grade Export",
|
394
|
+
"parameters": {
|
395
|
+
"enrollment_term_id": {
|
396
|
+
"required": true,
|
397
|
+
"description": "The term for grade export data"
|
398
|
+
}
|
399
|
+
},
|
400
|
+
"report": "custom_grade_export_csv",
|
401
|
+
"last_run": null
|
402
|
+
},
|
403
|
+
{
|
404
|
+
"title": "SIS data",
|
405
|
+
"parameters": {
|
406
|
+
"users": {
|
407
|
+
"required": false,
|
408
|
+
"description": "Get the SIS file for users"
|
409
|
+
},
|
410
|
+
"sections": {
|
411
|
+
"required": false,
|
412
|
+
"description": "Get the SIS file for sections"
|
413
|
+
},
|
414
|
+
"enrollments": {
|
415
|
+
"required": false,
|
416
|
+
"description": "Get the SIS file for enrollments"
|
417
|
+
}
|
418
|
+
},
|
419
|
+
"report": "mississippi_sis_csv",
|
420
|
+
"last_run": null
|
421
|
+
},
|
422
|
+
{
|
423
|
+
"title": "Submission Data",
|
424
|
+
"parameters": {
|
425
|
+
"enrollment_term_id": {
|
426
|
+
"required": false,
|
427
|
+
"description": "The term to report on"
|
428
|
+
},
|
429
|
+
"course_id": {
|
430
|
+
"required": false,
|
431
|
+
"description": "The course to report on"
|
432
|
+
},
|
433
|
+
"start_at": {
|
434
|
+
"required": false,
|
435
|
+
"description": "Everything updated after start date"
|
436
|
+
}
|
437
|
+
},
|
438
|
+
"report": "submission_data_csv",
|
439
|
+
"last_run": null
|
440
|
+
},
|
441
|
+
{
|
442
|
+
"title": "Course Section Status",
|
443
|
+
"parameters": {
|
444
|
+
"enrollment_term_id": {
|
445
|
+
"required": true,
|
446
|
+
"description": "The term to get courses from"
|
447
|
+
}
|
448
|
+
},
|
449
|
+
"report": "course_status_csv",
|
450
|
+
"last_run": null
|
451
|
+
},
|
452
|
+
{
|
453
|
+
"title": "Student Grades",
|
454
|
+
"parameters": {
|
455
|
+
"pseudonym_ids": {
|
456
|
+
"required": true,
|
457
|
+
"description": "List of Pseudonyms to get report for"
|
458
|
+
},
|
459
|
+
"enrollment_term_id": {
|
460
|
+
"required": false,
|
461
|
+
"description": "The term to report on"
|
462
|
+
}
|
463
|
+
},
|
464
|
+
"report": "student_grades_csv",
|
465
|
+
"last_run": null
|
466
|
+
},
|
467
|
+
{
|
468
|
+
"title": "Student IP addresses",
|
469
|
+
"parameters": {
|
470
|
+
"enrollment_term_id": {
|
471
|
+
"required": false,
|
472
|
+
"description": "The term to report on"
|
473
|
+
},
|
474
|
+
"course_id": {
|
475
|
+
"required": false,
|
476
|
+
"description": "The course to report on"
|
477
|
+
}
|
478
|
+
},
|
479
|
+
"report": "student_ip_csv",
|
480
|
+
"last_run": null
|
481
|
+
},
|
482
|
+
{
|
483
|
+
"title": "Custom Outcomes",
|
484
|
+
"parameters": {
|
485
|
+
"enrollment_term_id": {
|
486
|
+
"required": false,
|
487
|
+
"description": "The canvas id of the term of courses to report on"
|
488
|
+
},
|
489
|
+
"course_id": {
|
490
|
+
"required": false,
|
491
|
+
"description": "The course to report on"
|
492
|
+
},
|
493
|
+
"outcome_id": {
|
494
|
+
"required": false,
|
495
|
+
"description": "The outcome to report on"
|
496
|
+
}
|
497
|
+
},
|
498
|
+
"report": "custom_outcomes_csv",
|
499
|
+
"last_run": null
|
500
|
+
},
|
501
|
+
{
|
502
|
+
"title": "Scantron Quiz",
|
503
|
+
"parameters": {
|
504
|
+
"quiz_id": {
|
505
|
+
"required": false,
|
506
|
+
"description": "Quiz to generate Scantron report for"
|
507
|
+
},
|
508
|
+
"section_id": {
|
509
|
+
"required": false,
|
510
|
+
"description": "Section ID"
|
511
|
+
}
|
512
|
+
},
|
513
|
+
"report": "scantron_quiz_csv",
|
514
|
+
"last_run": {
|
515
|
+
"id": 62,
|
516
|
+
"parameters": {
|
517
|
+
"quiz_id": "4",
|
518
|
+
"section_id": "",
|
519
|
+
"extra_text": "Quiz id: 4"
|
520
|
+
},
|
521
|
+
"progress": 100,
|
522
|
+
"status": "complete",
|
523
|
+
"report": "scantron_quiz_csv",
|
524
|
+
"file_url": "https://localhost:3000/accounts/1/files/674/download",
|
525
|
+
"attachment": {
|
526
|
+
"id": 674,
|
527
|
+
"content-type": "text/csv",
|
528
|
+
"display_name": "scantron_quiz_csv_15_Jan_2014_62_69183-0.csv",
|
529
|
+
"filename": "1389815265_348__scantron_quiz_csv_15_Jan_2014_62_69183-0.csv",
|
530
|
+
"url": "http://localhost:3000/files/674/download?download_frd=1&verifier=JAsyqPf8Ep2OWXpOUBIIz4Pv65W0ja33BDEdoFxw",
|
531
|
+
"size": 32,
|
532
|
+
"created_at": "2014-01-15T19:47:43Z",
|
533
|
+
"updated_at": "2014-01-15T19:47:45Z",
|
534
|
+
"unlock_at": null,
|
535
|
+
"locked": false,
|
536
|
+
"hidden": false,
|
537
|
+
"lock_at": null,
|
538
|
+
"hidden_for_user": false,
|
539
|
+
"thumbnail_url": null,
|
540
|
+
"locked_for_user": false
|
541
|
+
}
|
542
|
+
}
|
543
|
+
},
|
544
|
+
{
|
545
|
+
"title": "Students who have not logged in Report",
|
546
|
+
"parameters": {
|
547
|
+
"enrollment_term_id": {
|
548
|
+
"required": false,
|
549
|
+
"description": "The term to report on"
|
550
|
+
},
|
551
|
+
"start_at": {
|
552
|
+
"required": false,
|
553
|
+
"description": "Users that have not logged in since this date"
|
554
|
+
},
|
555
|
+
"never_logged_in": {
|
556
|
+
"required": false,
|
557
|
+
"description": "Include users that have never logged in"
|
558
|
+
}
|
559
|
+
},
|
560
|
+
"report": "student_login_csv",
|
561
|
+
"last_run": null
|
562
|
+
},
|
563
|
+
{
|
564
|
+
"title": "CHCP Student Activity Report",
|
565
|
+
"parameters": {
|
566
|
+
"enrollment_term_id": {
|
567
|
+
"required": false,
|
568
|
+
"description": "The term to report on"
|
569
|
+
},
|
570
|
+
"course_id": {
|
571
|
+
"required": false,
|
572
|
+
"description": "The course to report on"
|
573
|
+
}
|
574
|
+
},
|
575
|
+
"report": "chcp_student_activity_csv",
|
576
|
+
"last_run": {
|
577
|
+
"id": 21,
|
578
|
+
"parameters": {
|
579
|
+
"enrollment_term": ""
|
580
|
+
},
|
581
|
+
"progress": 100,
|
582
|
+
"status": "complete",
|
583
|
+
"report": "chcp_student_activity_csv",
|
584
|
+
"file_url": "https://localhost:3000/accounts/1/files/7/download",
|
585
|
+
"attachment": {
|
586
|
+
"id": 7,
|
587
|
+
"content-type": "text/csv",
|
588
|
+
"display_name": "chcp_student_activity_csv_02_Aug_2013_21_68034-0.csv",
|
589
|
+
"filename": "chcp_student_activity_csv_02_Aug_2013_21_68034-0.csv",
|
590
|
+
"url": "http://localhost:3000/files/7/download?download_frd=1&verifier=FJEOADJVYSfvRZlLBrMC3i7TqVBLP2y9SXudZIr0",
|
591
|
+
"size": 466,
|
592
|
+
"created_at": "2013-08-02T18:43:13Z",
|
593
|
+
"updated_at": "2013-08-02T18:43:13Z",
|
594
|
+
"unlock_at": null,
|
595
|
+
"locked": false,
|
596
|
+
"hidden": false,
|
597
|
+
"lock_at": null,
|
598
|
+
"hidden_for_user": false,
|
599
|
+
"thumbnail_url": null,
|
600
|
+
"locked_for_user": false
|
601
|
+
}
|
602
|
+
}
|
603
|
+
},
|
604
|
+
{
|
605
|
+
"title": "Students Access Report",
|
606
|
+
"parameters": {
|
607
|
+
"enrollment_term_id": {
|
608
|
+
"required": false,
|
609
|
+
"description": "The term to report on"
|
610
|
+
},
|
611
|
+
"course_id": {
|
612
|
+
"required": false,
|
613
|
+
"description": "The course to report on"
|
614
|
+
},
|
615
|
+
"start_at": {
|
616
|
+
"required": false,
|
617
|
+
"description": "Everything updated after start date"
|
618
|
+
}
|
619
|
+
},
|
620
|
+
"report": "student_access_csv",
|
621
|
+
"last_run": null
|
622
|
+
},
|
623
|
+
{
|
624
|
+
"title": "User Inactivity Report",
|
625
|
+
"parameters": {
|
626
|
+
"enrollment_term_id": {
|
627
|
+
"required": false,
|
628
|
+
"description": "The term to report on"
|
629
|
+
},
|
630
|
+
"course_id": {
|
631
|
+
"required": false,
|
632
|
+
"description": "The course to report on"
|
633
|
+
},
|
634
|
+
"start_at": {
|
635
|
+
"required": false,
|
636
|
+
"description": "Everything updated after start date"
|
637
|
+
},
|
638
|
+
"enrollment_type": {
|
639
|
+
"required": false,
|
640
|
+
"description": "Filter by 'student', 'teacher', or 'ta' enrollment types"
|
641
|
+
},
|
642
|
+
"minimum": {
|
643
|
+
"required": false,
|
644
|
+
"description": "Minimum number of course items visited, i.e. Assignment, syllabus, discussion"
|
645
|
+
}
|
646
|
+
},
|
647
|
+
"report": "user_inactivity_csv",
|
648
|
+
"last_run": null
|
649
|
+
},
|
650
|
+
{
|
651
|
+
"title": "CCP Zero Activity",
|
652
|
+
"parameters": {
|
653
|
+
"enrollment_term_id": {
|
654
|
+
"required": false,
|
655
|
+
"description": "The canvas id of the term to get grades from"
|
656
|
+
},
|
657
|
+
"course_id": {
|
658
|
+
"required": false,
|
659
|
+
"description": "The course to report on"
|
660
|
+
},
|
661
|
+
"start_at": {
|
662
|
+
"required": false,
|
663
|
+
"description": "Report start date"
|
664
|
+
},
|
665
|
+
"filter_online": {
|
666
|
+
"required": false,
|
667
|
+
"description": "Show online classes only"
|
668
|
+
}
|
669
|
+
},
|
670
|
+
"report": "ccp_zero_activity_csv",
|
671
|
+
"last_run": {
|
672
|
+
"id": 59,
|
673
|
+
"parameters": {
|
674
|
+
"enrollment_term_id": "",
|
675
|
+
"start_at": "",
|
676
|
+
"filter_online": "1",
|
677
|
+
"extra_text": "Online courses only"
|
678
|
+
},
|
679
|
+
"progress": 100,
|
680
|
+
"status": "complete",
|
681
|
+
"report": "ccp_zero_activity_csv",
|
682
|
+
"file_url": "https://localhost:3000/accounts/1/files/264/download",
|
683
|
+
"attachment": {
|
684
|
+
"id": 264,
|
685
|
+
"content-type": "text/csv",
|
686
|
+
"display_name": "ccp_zero_activity_csv_10_Sep_2013_59_2927-0.csv",
|
687
|
+
"filename": "ccp_zero_activity_csv_04_Sep_2013_52_79120-0.csv",
|
688
|
+
"url": "http://localhost:3000/files/264/download?download_frd=1&verifier=4CWe4OP4TBidM0Mi78BmaTv8pRvCYGM2Xc27tbxL",
|
689
|
+
"size": 720,
|
690
|
+
"created_at": "2013-09-10T22:59:48Z",
|
691
|
+
"updated_at": "2013-09-10T22:59:48Z",
|
692
|
+
"unlock_at": null,
|
693
|
+
"locked": false,
|
694
|
+
"hidden": false,
|
695
|
+
"lock_at": null,
|
696
|
+
"hidden_for_user": false,
|
697
|
+
"thumbnail_url": null,
|
698
|
+
"locked_for_user": false
|
699
|
+
}
|
700
|
+
}
|
701
|
+
},
|
702
|
+
{
|
703
|
+
"title": "Safety Drill Scheduling",
|
704
|
+
"parameters": {
|
705
|
+
"enrollment_term": {
|
706
|
+
"required": false,
|
707
|
+
"description": "The term to report on"
|
708
|
+
},
|
709
|
+
"tests": {
|
710
|
+
"required": false,
|
711
|
+
"description": "The Assignment Group named tests"
|
712
|
+
},
|
713
|
+
"projects": {
|
714
|
+
"required": false,
|
715
|
+
"description": "The Assignment Group named projects"
|
716
|
+
},
|
717
|
+
"papers": {
|
718
|
+
"required": false,
|
719
|
+
"description": "The Assignment Group named papers"
|
720
|
+
},
|
721
|
+
"reports": {
|
722
|
+
"required": false,
|
723
|
+
"description": "The Assignment Group named reports"
|
724
|
+
},
|
725
|
+
"major": {
|
726
|
+
"required": false,
|
727
|
+
"description": "The Assignment Group named major"
|
728
|
+
},
|
729
|
+
"start_at": {
|
730
|
+
"required": false,
|
731
|
+
"description": "Report start date"
|
732
|
+
},
|
733
|
+
"end_at": {
|
734
|
+
"required": true,
|
735
|
+
"description": "Report end date"
|
736
|
+
}
|
737
|
+
},
|
738
|
+
"report": "safety_drill_csv",
|
739
|
+
"last_run": {
|
740
|
+
"id": 22,
|
741
|
+
"parameters": {
|
742
|
+
"enrollment_term": "",
|
743
|
+
"start_at": "",
|
744
|
+
"end_at": "",
|
745
|
+
"tests": "tests",
|
746
|
+
"projects": "projects",
|
747
|
+
"papers": "papers",
|
748
|
+
"reports": "reports",
|
749
|
+
"extra_text": "Term: All Terms; Start At: 2013-08-09 15:42:07 -0600; End At: 2013-08-23 15:42:07 -0600; Assignment Group Types: "
|
750
|
+
},
|
751
|
+
"progress": 100,
|
752
|
+
"status": "complete",
|
753
|
+
"report": "safety_drill_csv",
|
754
|
+
"file_url": "https://localhost:3000/accounts/1/files/8/download",
|
755
|
+
"attachment": {
|
756
|
+
"id": 8,
|
757
|
+
"content-type": "text/csv",
|
758
|
+
"display_name": "safety_drill_csv_09_Aug_2013_22_47662-0.csv",
|
759
|
+
"filename": "safety_drill_csv_09_Aug_2013_22_47662-0.csv",
|
760
|
+
"url": "http://localhost:3000/files/8/download?download_frd=1&verifier=hlSArogafdLVZe8lOozvBSXVxdoJ2Uha4KxunYic",
|
761
|
+
"size": 171,
|
762
|
+
"created_at": "2013-08-09T21:42:07Z",
|
763
|
+
"updated_at": "2013-08-09T21:42:07Z",
|
764
|
+
"unlock_at": null,
|
765
|
+
"locked": false,
|
766
|
+
"hidden": false,
|
767
|
+
"lock_at": null,
|
768
|
+
"hidden_for_user": false,
|
769
|
+
"thumbnail_url": null,
|
770
|
+
"locked_for_user": false
|
771
|
+
}
|
772
|
+
}
|
773
|
+
},
|
774
|
+
{
|
775
|
+
"title": "Assignment Scheduling",
|
776
|
+
"parameters": {
|
777
|
+
"section_id": {
|
778
|
+
"required": false,
|
779
|
+
"description": "The section to report on"
|
780
|
+
},
|
781
|
+
"tests": {
|
782
|
+
"required": false,
|
783
|
+
"description": "The Assignment Group named tests"
|
784
|
+
},
|
785
|
+
"projects": {
|
786
|
+
"required": false,
|
787
|
+
"description": "The Assignment Group named projects"
|
788
|
+
},
|
789
|
+
"papers": {
|
790
|
+
"required": false,
|
791
|
+
"description": "The Assignment Group named papers"
|
792
|
+
},
|
793
|
+
"reports": {
|
794
|
+
"required": false,
|
795
|
+
"description": "The Assignment Group named reports"
|
796
|
+
},
|
797
|
+
"major": {
|
798
|
+
"required": false,
|
799
|
+
"description": "The Assignment Group named major"
|
800
|
+
},
|
801
|
+
"start_at": {
|
802
|
+
"required": false,
|
803
|
+
"description": "Report start date"
|
804
|
+
},
|
805
|
+
"end_at": {
|
806
|
+
"required": true,
|
807
|
+
"description": "Report end date"
|
808
|
+
}
|
809
|
+
},
|
810
|
+
"report": "assignment_scheduling_csv",
|
811
|
+
"last_run": null
|
812
|
+
},
|
813
|
+
{
|
814
|
+
"title": "Tempe Grade Export",
|
815
|
+
"parameters": {
|
816
|
+
"enrollment_term_id": {
|
817
|
+
"required": true,
|
818
|
+
"description": "The term for grade export data"
|
819
|
+
},
|
820
|
+
"course_id": {
|
821
|
+
"required": false,
|
822
|
+
"description": "The course id for the grade export data"
|
823
|
+
}
|
824
|
+
},
|
825
|
+
"report": "tempe_grade_export_csv",
|
826
|
+
"last_run": null
|
827
|
+
},
|
828
|
+
{
|
829
|
+
"title": "Learning Outcome and Assignment Type",
|
830
|
+
"parameters": {
|
831
|
+
"enrollment_term_id": {
|
832
|
+
"required": true,
|
833
|
+
"description": "The term for export data"
|
834
|
+
},
|
835
|
+
"course_id": {
|
836
|
+
"required": false,
|
837
|
+
"description": "The course id for the export data"
|
838
|
+
}
|
839
|
+
},
|
840
|
+
"report": "learning_outcome_assignment_type_csv",
|
841
|
+
"last_run": null
|
842
|
+
},
|
843
|
+
{
|
844
|
+
"title": "Campus Vue Submission Data",
|
845
|
+
"parameters": {
|
846
|
+
"enrollment_term_id": {
|
847
|
+
"required": false,
|
848
|
+
"description": "The term to report on"
|
849
|
+
},
|
850
|
+
"course_id": {
|
851
|
+
"required": false,
|
852
|
+
"description": "The course to report on"
|
853
|
+
},
|
854
|
+
"start_at": {
|
855
|
+
"required": false,
|
856
|
+
"description": "Everything updated after start date"
|
857
|
+
}
|
858
|
+
},
|
859
|
+
"report": "cv_submission_data_csv",
|
860
|
+
"last_run": null
|
861
|
+
}
|
862
|
+
]
|
@@ -0,0 +1,25 @@
|
|
1
|
+
{
|
2
|
+
"id": 72,
|
3
|
+
"parameters": {},
|
4
|
+
"progress": 100,
|
5
|
+
"status": "complete",
|
6
|
+
"report": "last_user_access_csv",
|
7
|
+
"file_url": "https://localhost:3000/accounts/1/files/679/download",
|
8
|
+
"attachment": {
|
9
|
+
"id": 679,
|
10
|
+
"content-type": "text/csv",
|
11
|
+
"display_name": "last_user_access_csv_23_Jan_2014_72_14345-0.csv",
|
12
|
+
"filename": "1390497025_763__last_user_access_csv_23_Jan_2014_71_14345-0.csv",
|
13
|
+
"url": "http://localhost:3000/files/679/download?download_frd=1&verifier=BfzTimBCj3Tg430dTx8CW6e6qJQsQIzZJfgcdjd1",
|
14
|
+
"size": 13350,
|
15
|
+
"created_at": "2014-01-23T17:10:53Z",
|
16
|
+
"updated_at": "2014-01-23T17:10:53Z",
|
17
|
+
"unlock_at": null,
|
18
|
+
"locked": false,
|
19
|
+
"hidden": false,
|
20
|
+
"lock_at": null,
|
21
|
+
"hidden_for_user": false,
|
22
|
+
"thumbnail_url": null,
|
23
|
+
"locked_for_user": false
|
24
|
+
}
|
25
|
+
}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bearcat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.9'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-01-
|
12
|
+
date: 2014-01-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
@@ -125,6 +125,7 @@ files:
|
|
125
125
|
- lib/bearcat/client/o_auth2.rb
|
126
126
|
- lib/bearcat/client/outcome_groups.rb
|
127
127
|
- lib/bearcat/client/outcomes.rb
|
128
|
+
- lib/bearcat/client/reports.rb
|
128
129
|
- lib/bearcat/client/sections.rb
|
129
130
|
- lib/bearcat/client/users.rb
|
130
131
|
- lib/bearcat/client.rb
|
@@ -138,6 +139,7 @@ files:
|
|
138
139
|
- spec/bearcat/client/o_auth2_spec.rb
|
139
140
|
- spec/bearcat/client/outcome_groups_spec.rb
|
140
141
|
- spec/bearcat/client/outcomes_spec.rb
|
142
|
+
- spec/bearcat/client/reports_spec.rb
|
141
143
|
- spec/bearcat/client/sections_spec.rb
|
142
144
|
- spec/bearcat/client/users_spec.rb
|
143
145
|
- spec/bearcat/client_spec.rb
|
@@ -167,8 +169,12 @@ files:
|
|
167
169
|
- spec/fixtures/outcome_subgroups.json
|
168
170
|
- spec/fixtures/outcomes.json
|
169
171
|
- spec/fixtures/paged_body.json
|
172
|
+
- spec/fixtures/report_history.json
|
173
|
+
- spec/fixtures/report_list.json
|
174
|
+
- spec/fixtures/report_status.json
|
170
175
|
- spec/fixtures/section.json
|
171
176
|
- spec/fixtures/section_enrollments.json
|
177
|
+
- spec/fixtures/start_report.json
|
172
178
|
- spec/fixtures/update_outcome.json
|
173
179
|
- spec/fixtures/update_outcome_group.json
|
174
180
|
- spec/fixtures/update_section.json
|
@@ -207,6 +213,7 @@ test_files:
|
|
207
213
|
- spec/bearcat/client/o_auth2_spec.rb
|
208
214
|
- spec/bearcat/client/outcome_groups_spec.rb
|
209
215
|
- spec/bearcat/client/outcomes_spec.rb
|
216
|
+
- spec/bearcat/client/reports_spec.rb
|
210
217
|
- spec/bearcat/client/sections_spec.rb
|
211
218
|
- spec/bearcat/client/users_spec.rb
|
212
219
|
- spec/bearcat/client_spec.rb
|
@@ -236,8 +243,12 @@ test_files:
|
|
236
243
|
- spec/fixtures/outcome_subgroups.json
|
237
244
|
- spec/fixtures/outcomes.json
|
238
245
|
- spec/fixtures/paged_body.json
|
246
|
+
- spec/fixtures/report_history.json
|
247
|
+
- spec/fixtures/report_list.json
|
248
|
+
- spec/fixtures/report_status.json
|
239
249
|
- spec/fixtures/section.json
|
240
250
|
- spec/fixtures/section_enrollments.json
|
251
|
+
- spec/fixtures/start_report.json
|
241
252
|
- spec/fixtures/update_outcome.json
|
242
253
|
- spec/fixtures/update_outcome_group.json
|
243
254
|
- spec/fixtures/update_section.json
|