Skip to content

Commit a639608

Browse files
committed
v1.0
0 parents  commit a639608

170 files changed

Lines changed: 129690 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
**/.idea/*
2+
**/vendor/*
3+
moodle.sql
4+
.vscode/*
5+
learning_locker/data/*
6+
open_lrw/data/*
7+
xapi_stmt_gen/log/*
8+
elcampus_la/xapi_stmt_gen/log/*
9+
superset_db/data/*
10+
metabase/*
11+
**/.DS_Store

LICENSE

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
MIT License
2+
3+
Copyright 2019 National Institute of Informatics, Japan.
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy of
6+
this software and associated documentation files (the "Software"), to deal in
7+
the Software without restriction, including without limitation the rights to
8+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9+
the Software, and to permit persons to whom the Software is furnished to do so,
10+
subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17+
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Learning Analytics as a Service (LAaaS) with Docker
2+
3+
A Docker version of Learning Analytics as a Service (LAaaS)
4+
provided by Research Center for Open Science and Data Platform, National Institute of Informatics, Japan.

caliper/Dockerfile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
FROM composer AS builder
2+
WORKDIR /build
3+
COPY composer.json .
4+
RUN composer install --no-dev
5+
RUN composer dumpautoload -o
6+
7+
FROM php:7.3-alpine
8+
9+
RUN apk update && \
10+
apk --no-cache upgrade && \
11+
apk --no-cache add postgresql-dev && \
12+
docker-php-ext-install pdo pdo_pgsql pgsql mbstring
13+
14+
WORKDIR /dump
15+
COPY --from=builder /build/vendor ./vendor
16+
COPY . .

caliper/README.md

Lines changed: 244 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,244 @@
1+
# Learning Analysis for Moodle
2+
## caliper statement generator
3+
### Statement definitions
4+
#### common defenitions
5+
- agent.id = <MOODLE_URL>/user/<mdl_logstore_standard_log.userid>
6+
- agent.name = <mdl_user.username>
7+
- agent.description = <mdl_user.description>
8+
- eventTime = <mdl_logstore_standard_log.timecreated>(Converted)
9+
- edApp.id = <MOODLE_URL>
10+
- edApp.type = SoftwareApplication
11+
12+
#### Definitions according to <mdl_logstore_standard_log.eventname>
13+
- \core\event\dashboard_viewed
14+
- type = NavigationEvent
15+
- action = Viewed
16+
- object = edApp
17+
18+
- \core\event\course_viewed
19+
- type = NavigationEvent
20+
- action = Viewed
21+
- object.id = <MOODLE_URL>/course/<mdl_logstore_standard_log.objectid>
22+
- object.name = <mdl_course.fullname>
23+
24+
- \core\event\user_loggedin
25+
- type = SessionEvent
26+
- action = LoggedIn
27+
- object = edApp
28+
29+
- \core\event\user_loggedout
30+
- type = SessionEvent
31+
- action = LoggedIn
32+
- object = edApp
33+
34+
- \mdl_assign\event\assessable_submitted
35+
- type = AssignableEvent
36+
- action = Submitted
37+
- object.id = <MOODLE_URL>/mod/assign/<mdl_assign_submission.assignment>
38+
- object.name = <mdl_assign.name>
39+
- object.start = <mdl_assign.allowsubmissionsfromdate>
40+
- object.due = <mdl_assign.duedate>
41+
- generated.id = object.id/attempt/<mdl_assign_submission.attemptnumber>
42+
- generated.count = <mdl_assign_submission.attemptnumber>
43+
- generated.assignee.id = <MOODLE_URL>/user/<mdl_assign_submission.userid>
44+
- generated.assignee.name = <mdl_user.username>
45+
- generated.assignee.description = <mdl_user.description>
46+
47+
- \mdl_assign\event\submission_graded
48+
- type = NavigationEvent
49+
- action = NavigatedTo
50+
- object.id = <MOODLE_URL>/user/<mdl_logstore_standard_log.userid>/attempt/<mdl_assign_grade.attemptnumber>
51+
- object.name = <mdl_assign.intro>
52+
- object.attempt = <mdl_assign_grade.attemptnumber>
53+
- object.start = <mdl_assign.allowsubmissionsfromdate>
54+
- object.due = <mdl_assign.duedate>
55+
- object.assignee.id = <mdl_assign_grade.userid>
56+
- object.assignee.name = <mdl_user.username>
57+
- object.assignee.description = <mdl_user.description>
58+
- generated.id = object.id/result
59+
- generated.max_score = <mdl_assign.grade>
60+
- generated.score = <mdl_assign_graded.grade>
61+
- generated.comment = <mdl_assignfeedback_comment.commenttext>
62+
63+
- \mdl_assign\event\submission_graded
64+
- type = GradedEvent
65+
- action = Graded
66+
- object.id = <MOODLE_URL>/mod/assign/<mdl_logstore_standard_log.objectid>
67+
- object.name = <MOODLE_URL>/<mdl_logstore_standard_log.objecttable.name>
68+
- object.type = EventType::<module_type>
69+
70+
71+
- \mdl_book\event\course_module_viewed
72+
- type = navigationevent
73+
- action = navigatedto
74+
- object.id = <moodle_url>/mod/book/<mdl_logstore_standard_log.objectid>
75+
- object.name = <moodle_url>/<mdl_logstore_standard_log.objecttable.name>
76+
- object.type = eventtype::<module_type>
77+
78+
- \mdl_chat\event\course_module_viewed
79+
- type = NavigationEvent
80+
- action = NavigatedTo
81+
- object.id = <MOODLE_URL>/mod/chat/<mdl_logstore_standard_log.objectid>
82+
- object.name = <MOODLE_URL>/<mdl_logstore_standard_log.objecttable.name>
83+
- object.type = EventType::<module_type>
84+
85+
- \mdl_choice\event\course_module_viewed
86+
- type = NavigationEvent
87+
- action = NavigatedTo
88+
- object.id = <MOODLE_URL>/mod/choice/<mdl_logstore_standard_log.objectid>
89+
- object.name = <MOODLE_URL>/<mdl_logstore_standard_log.objecttable.name>
90+
- object.type = EventType::<module_type>
91+
92+
- \mdl_data\event\course_module_viewed
93+
- type = NavigationEvent
94+
- action = NavigatedTo
95+
- object.id = <MOODLE_URL>/mod/data/<mdl_logstore_standard_log.objectid>
96+
- object.name = <MOODLE_URL>/<mdl_logstore_standard_log.objecttable.name>
97+
- object.type = EventType::<module_type>
98+
99+
- \mdl_facetoface\event\course_module_viewed
100+
- type = NavigationEvent
101+
- action = NavigatedTo
102+
- object.id = <MOODLE_URL>/mod/facetoface/<mdl_logstore_standard_log.objectid>
103+
- object.name = <MOODLE_URL>/<mdl_logstore_standard_log.objecttable.name>
104+
- object.type = EventType::<module_type>
105+
106+
- \mdl_feedback\event\course_module_viewed
107+
- type = NavigationEvent
108+
- action = NavigatedTo
109+
- object.id = <MOODLE_URL>/mod/feedback/<mdl_logstore_standard_log.objectid>
110+
- object.name = <MOODLE_URL>/<mdl_logstore_standard_log.objecttable.name>
111+
- object.type = EventType::<module_type>
112+
113+
- \mdl_folder\event\course_module_viewed
114+
- type = NavigationEvent
115+
- action = NavigatedTo
116+
- object.id = <MOODLE_URL>/mod/folder/<mdl_logstore_standard_log.objectid>
117+
- object.name = <MOODLE_URL>/<mdl_logstore_standard_log.objecttable.name>
118+
- object.type = EventType::<module_type>
119+
120+
- \mdl_forum\event\course_module_viewed
121+
- type = NavigationEvent
122+
- action = NavigatedTo
123+
- object.id = <MOODLE_URL>/mod/forum/<mdl_logstore_standard_log.objectid>
124+
- object.name = <MOODLE_URL>/<mdl_logstore_standard_log.objecttable.name>
125+
- object.type = EventType::<module_type>
126+
127+
- \mdl_forum\event\subscription_created
128+
- type = ForumEvent
129+
- action = Subscribed
130+
- object.id = <MOODLE_URL>/mod/forum/<mdl_logstore_standard_log.objectid>
131+
- object.name = <MOODLE_URL>/<mdl_logstore_standard_log.objecttable.name>
132+
- object.type = EventType::<module_type>
133+
134+
- \mdl_forum\event\subscription_deleted
135+
- type = NavigationEvent
136+
- action = NavigatedTo
137+
- object.id = <MOODLE_URL>/mod/forum/<mdl_logstore_standard_log.objectid>
138+
- object.name = <MOODLE_URL>/<mdl_logstore_standard_log.objecttable.name>
139+
- object.type = EventType::<module_type>
140+
141+
- \mdl_forum\event\discuttion_viewed
142+
- type = NavigationEvent
143+
- action = NavigatedTo
144+
- object.id = <MOODLE_URL>/mod/forum/<mdl_logstore_standard_log.objectid>
145+
- object.name = <MOODLE_URL>/<mdl_logstore_standard_log.objecttable.name>
146+
- object.type = EventType::<module_type>
147+
148+
- \mdl_glossary\event\course_module_viewed
149+
- type = NavigationEvent
150+
- action = NavigatedTo
151+
- object.id = <MOODLE_URL>/mod/glossary/<mdl_logstore_standard_log.objectid>
152+
- object.name = <MOODLE_URL>/<mdl_logstore_standard_log.objecttable.name>
153+
- object.type = EventType::<module_type>
154+
155+
- \mdl_imscp\event\course_module_viewed
156+
- type = NavigationEvent
157+
- action = NavigatedTo
158+
- object.id = <MOODLE_URL>/mod/imscp/<mdl_logstore_standard_log.objectid>
159+
- object.name = <MOODLE_URL>/<mdl_logstore_standard_log.objecttable.name>
160+
- object.type = EventType::<module_type>
161+
162+
- \mdl_lesson\event\course_module_viewed
163+
- type = NavigationEvent
164+
- action = NavigatedTo
165+
- object.id = <MOODLE_URL>/mod/lesson/<mdl_logstore_standard_log.objectid>
166+
- object.name = <MOODLE_URL>/<mdl_logstore_standard_log.objecttable.name>
167+
- object.type = EventType::<module_type>
168+
169+
- \mdl_lti\event\course_module_viewed
170+
- type = NavigationEvent
171+
- action = NavigatedTo
172+
- object.id = <MOODLE_URL>/mod/lti/<mdl_logstore_standard_log.objectid>
173+
- object.name = <MOODLE_URL>/<mdl_logstore_standard_log.objecttable.name>
174+
- object.type = EventType::<module_type>
175+
176+
- \mdl_page\event\course_module_viewed
177+
- type = NavigationEvent
178+
- action = NavigatedTo
179+
- object.id = <MOODLE_URL>/mod/page/<mdl_logstore_standard_log.objectid>
180+
- object.name = <MOODLE_URL>/<mdl_logstore_standard_log.objecttable.name>
181+
- object.type = EventType::<module_type>
182+
183+
- \mdl_quiz\event\course_module_viewed
184+
- type = NavigationEvent
185+
- action = NavigatedTo
186+
- object.id = <MOODLE_URL>/mod/quiz/<mdl_logstore_standard_log.objectid>
187+
- object.name = <MOODLE_URL>/<mdl_logstore_standard_log.objecttable.name>
188+
- object.type = EventType::<module_type>
189+
190+
- \mdl_quiz\event\attempt_started
191+
- type = AssessmentEvent
192+
- action = Started
193+
- object.id = <MOODLE_URL>/mod/quiz/<mdl_logstore_standard_log.objectid>
194+
- object.name = <MOODLE_URL>/<mdl_logstore_standard_log.objecttable.name>
195+
- object.type = EventType::<module_type>
196+
- generated.id = <MOODLE_URL>/mod/attempt/<mdl_quiz_attempts.attempt>
197+
198+
- \mdl_quiz\event\attempt_submitted
199+
- type = AssessmentEvent
200+
- action = Submitted
201+
- object.id = <MOODLE_URL>/mod/quiz/<mdl_logstore_standard_log.objectid>
202+
203+
- \mdl_resource\event\course_module_viewed
204+
- type = NavigationEvent
205+
- action = NavigatedTo
206+
- object.id = <MOODLE_URL>/mod/resource/<mdl_logstore_standard_log.objectid>
207+
- object.name = <MOODLE_URL>/<mdl_logstore_standard_log.objecttable.name>
208+
- object.type = EventType::<module_type>
209+
210+
- \mdl_scorm\event\course_module_viewed
211+
- type = NavigationEvent
212+
- action = NavigatedTo
213+
- object.id = <MOODLE_URL>/mod/scorm/<mdl_logstore_standard_log.objectid>
214+
- object.name = <MOODLE_URL>/<mdl_logstore_standard_log.objecttable.name>
215+
- object.type = EventType::<module_type>
216+
217+
- \mdl_survey\event\course_module_viewed
218+
- type = NavigationEvent
219+
- action = NavigatedTo
220+
- object.id = <MOODLE_URL>/mod/survey/<mdl_logstore_standard_log.objectid>
221+
- object.name = <MOODLE_URL>/<mdl_logstore_standard_log.objecttable.name>
222+
- object.type = EventType::<module_type>
223+
224+
- \mdl_url\event\course_module_viewed
225+
- type = NavigationEvent
226+
- action = NavigatedTo
227+
- object.id = <MOODLE_URL>/mod/url/<mdl_logstore_standard_log.objectid>
228+
- object.name = <MOODLE_URL>/<mdl_logstore_standard_log.objecttable.name>
229+
- object.type = EventType::<module_type>
230+
231+
- \mdl_wiki\event\course_module_viewed
232+
- type = NavigationEvent
233+
- action = NavigatedTo
234+
- object.id = <MOODLE_URL>/mod/wiki/<mdl_logstore_standard_log.objectid>
235+
- object.name = <MOODLE_URL>/<mdl_logstore_standard_log.objecttable.name>
236+
- object.type = EventType::<module_type>
237+
238+
- \mdl_workshop\event\course_module_viewed
239+
- type = NavigationEvent
240+
- action = NavigatedTo
241+
- object.id = <MOODLE_URL>/mod/workshop/<mdl_logstore_standard_log.objectid>
242+
- object.name = <MOODLE_URL>/<mdl_logstore_standard_log.objecttable.name>
243+
- object.type = EventType::<module_type>
244+

caliper/composer.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"scripts": {
3+
"run": "php src/bin/index.php",
4+
"test": "phpunit --colors=always --bootstrap ./tests/bootstrap.php -v tests/",
5+
"conn-check": "php src/config/db_conn_test.php",
6+
"ext-check": "php src/config/ext_check.php"
7+
},
8+
"autoload": {
9+
"psr-4": {
10+
"udzuki\\": "src"
11+
}
12+
},
13+
"config": {
14+
"process-timeout": 0
15+
},
16+
"require": {
17+
"imsglobal/caliper": "^1.1",
18+
"illuminate/database": "^5.8",
19+
"ext-pdo": "*",
20+
"ext-json": "*",
21+
"monolog/monolog": "^1.24"
22+
},
23+
"require-dev": {
24+
"phpunit/phpunit": "^8.1"
25+
}
26+
}

0 commit comments

Comments
 (0)