## Blocks: GISMO

block_gismo
Maintained by Christian Milani
GISMO, a graphical interactive student monitoring and tracking system that extracts tracking data from an online course maintained with Moodle, and generates graphical representations that can be explored by course instructors.
8k
10

GISMO is a graphical interactive monitoring tool that provides useful visualization of students' activities in online courses to instructors. With GISMO instructors can examine various aspects of distance students, such as the attendance to courses, reading of materials, submission of assignments. Users of the popular learning management system Moodle may benefit from GISMO for their teaching activities. With respect to the standard reports provided by Moodle (which basically allow teachers to see if an individual student has viewed a specific resource or participated on a specific activity on a specific day), GISMO provides comprehensive visualizations that gives an overview of the whole class, not only a specific student or a particular resource. With GISMO, instructors can perform analysis of the whole class, and may have a "clear picture" of what the class is doing, or has done in a period in the past.

### Contributors

Riccardo Mazza: (Developer & Manager)
Luca Mazzola: (Past Developer)
mauro nidola: (Past Developer)

### Awards

• Fri, Dec 12, 2014, 5:25 PM
Hi Christian,

Yes, that's the line 118 in ajax.php

I've also tried to execute the query of line 119 directly on the database and it works and return some data.
• Fri, Dec 12, 2014, 8:18 PM
Interesting...

is it possible for you to copy the url requested from the ajax call and run it manually?
then try to "debug" a bit the code printing if it goes in that if and try to print the exact query it does with all the parameters?
in my case the url is this one:

http://moodleURL/blocks/gismo/ajax.php?from=1412114400&q=teacher%40student-accesses&srv_data=Tzo4OiJzdGRDbGFzcyI6Mjp7czoxNzoiYmxvY2tfaW5zdGFuY2VfaWQiO3M6MjoiNDAiO3M6OToiY291cnNlX2lkIjtzOjE6IjIiO30%3D&to=1420066800&token=0.39665836169700985

• Sat, Dec 13, 2014, 12:20 AM
Hi,

I've done that and the ajax call returns some data; it seems that the problem can the "description" field, because there can be HTML code on it, returns, etc.

The data looks like this (look at the users 13117 and 6122):

{
"name":"Students: accesses by students",
"data":[],
"error":"",
"arr":[],
"context":{},
"users":{
(...More user data...)
(...More user data...)
"6122":{"id":"6122","auth":"manual","confirmed":"1","policyagreed":"0","deleted":"0","suspended":"0","mnethostid":"1","username":"user4","password":"$2y$10$kEmTeY9IRvyvjaAPxCL5FuhgCq7ZjXzWTFSuJ9udxoIKATyZKzVYK","idnumber":"","firstname":"name4","lastname":"lastname4","email":"email4@mail.com","emailstop":"0","icq":"","skype":"","yahoo":"","aim":"","msn":"","phone1":"","phone2":"","institution":"","department":"","address":"","city":"--","country":"ES","lang":"en","theme":"","timezone":"99","firstaccess":"1225365418","lastaccess":null,"lastlogin":"1411762605","currentlogin":"1417172216","lastip":"8.8.8.8","secret":"","picture":"0","url":"","description":" dff<\/p>","descriptionformat":"1","mailformat":"1","maildigest":"0","maildisplay":"0","autosubscribe":"1","trackforums":"0","timecreated":"1225365418","timemodified":"1357825515","trustbitmask":"0","imagealt":"","lastnamephonetic":null,"firstnamephonetic":null,"middlename":null,"alternatename":null,"calendartype":"gregorian"}, "13104":{"id":"13104","auth":"ldap","confirmed":"1","policyagreed":"0","deleted":"0","suspended":"0","mnethostid":"1","username":"user5","password":"not cached","idnumber":"45678","firstname":"name5","lastname":"lastname5","email":"email5@mail.com","emailstop":"0","icq":"","skype":"","yahoo":"","aim":"","msn":"","phone1":"","phone2":"","institution":"","department":"","address":"","city":"","country":"ES","lang":"eu","theme":"","timezone":"99","firstaccess":"1410337901","lastaccess":null,"lastlogin":"1416985935","currentlogin":"1417166633","lastip":"8.8.8.8","secret":"","picture":"0","url":"","description":"description5","descriptionformat":"1","mailformat":"1","maildigest":"0","maildisplay":"2","autosubscribe":"1","trackforums":"0","timecreated":"1410337900","timemodified":"1410341790","trustbitmask":"0","imagealt":"","lastnamephonetic":"","firstnamephonetic":"","middlename":"","alternatename":"","calendartype":"gregorian"}}} • Mon, Dec 15, 2014, 5:17 PM Can you please check that you have data in the table mdl_block_gismo_sl for that course id? is strange u don't get anything in the data field if the query when u run it manually works.... • Mon, Dec 15, 2014, 6:29 PM Hi Christian, Yes, there is more than 500 rows for that course in that table, and yes, it's strange... • Mon, Dec 15, 2014, 10:58 PM in my case i get this in data from the ajax request: "data":{"10":{"id":"10","course":"2","userid":"1004","timedate":"2014-10-30","time":"1414684196","numval":"23"},"11":{"id":"11","course":"2","userid":"1004","timedate":"2014-10-31","time":"1414772094","numval":"62"},"18":{"id":"18","course":"2","userid":"1382","timedate":"2014-10-31","time":"1414772188","numval":"24"},"19":{"id":"19","course":"2","userid":"1382","timedate":"2014-11-03","time":"1415025766","numval":"37"},"12":{"id":"12","course":"2","userid":"1004","timedate":"2014-11-03","time":"1415027292","numval":"43"},"20":{"id":"20","course":"2","userid":"1382","timedate":"2014-11-04","time":"1415117267","numval":"2"},"13":{"id":"13","course":"2","userid":"1004","timedate":"2014-11-04","time":"1415119479","numval":"22"},"21":{"id":"21","course":"2","userid":"1382","timedate":"2014-11-11","time":"1415723992","numval":"44"},"14":{"id":"14","course":"2","userid":"1004","timedate":"2014-11-11","time":"1415724239","numval":"35"},"15":{"id":"15","course":"2","userid":"1004","timedate":"2014-11-12","time":"1415796461","numval":"20"},"22":{"id":"22","course":"2","userid":"1382","timedate":"2014-11-12","time":"1415796485","numval":"58"},"23":{"id":"23","course":"2","userid":"1382","timedate":"2014-11-13","time":"1415875071","numval":"22"},"16":{"id":"16","course":"2","userid":"1004","timedate":"2014-11-13","time":"1415875075","numval":"14"},"17":{"id":"17","course":"2","userid":"1004","timedate":"2014-11-14","time":"1415978323","numval":"26"},"24":{"id":"24","course":"2","userid":"1382","timedate":"2014-11-14","time":"1415978399","numval":"23"},"161":{"id":"161","course":"2","userid":"1382","timedate":"2014-11-17","time":"1416215638","numval":"3"},"162":{"id":"162","course":"2","userid":"1004","timedate":"2014-11-17","time":"1416215732","numval":"3"},"219":{"id":"219","course":"2","userid":"1382","timedate":"2014-12-03","time":"1417622223","numval":"3"},"221":{"id":"221","course":"2","userid":"1004","timedate":"2014-12-03","time":"1417622242","numval":"57"},"246":{"id":"246","course":"2","userid":"1382","timedate":"2014-12-04","time":"1417710711","numval":"17"},"538":{"id":"538","course":"2","userid":"1382","timedate":"2014-12-10","time":"1418226582","numval":"9"}} can you please var_dump($student_resource_access) at line 119 and see if the query return anything...

var_dump(\$ctu_params) at line 117 (before or after the query)
and then with the data returned build and execute the query manually (remove the userid part and u get all the users)

SELECT ROW_NUMBER() over(), a.* FROM (SELECT course, userid, timedate, sum(numval) as numval FROM mdl_block_gismo_sl WHERE course = FIRSTELEMENT AND time BETWEEN SECONDELEMENT AND THIRDELEMENT GROUP BY course, timedate, userid ORDER BY timedate ASC) as a

• Tue, Dec 16, 2014, 11:08 PM
Hello,

can you try the new version I just uploaded?

thanks to Tim Lock i solved the 3 queries that didn't work on postgre.

I will upload a new version in the next days with the updated behat acceptance tests from Alain Corbière

christian
• Wed, Dec 17, 2014, 10:07 PM
Hi Christian!

I've installed the new version and works fine!

Thanks a lot!
• Fri, Dec 19, 2014, 9:15 PM
just uploaded a new file without changing version with all the updated behat acceptance test from alain corbière
• Fri, Jan 16, 2015, 2:37 AM
Which version works for Moodle 2.6? Thanks!
• Fri, Jan 16, 2015, 3:39 PM
Hello, version 3.1.2 should work on moodle 2.6
• Sat, Feb 7, 2015, 11:48 PM
Hello,
The only resources that are counted towards student progress on our site are SCORM packages. Does GISMO not track the completion status of SCORM packages?
Regards
Ray
• Tue, Mar 17, 2015, 11:33 AM
We are on version Gismo 3.1.2 and can't upgrade the plugin until June. I can however get our IT dept to edit php files in the meantime. So, can I easily change the path gismo gets the logs from somewhere in the php files? Our Moodle version is 2.7.2 and is using the new location for logs (standard logs) not the legacy logs but Gismo hasn't updated as it is an older version.
If its a small bit of code can you please tell me where I'd find the code to change the log path as we have no current data coming through into Gismo.
• Wed, Apr 15, 2015, 5:36 PM
I installed the 2.8 version and can't get it to work. The Gismo screen launches with a list of students and activities but nothing more. All I get is "Cannot proceed with the analysis because there isn't any data to work on!". I know that there is lots of data in the course. Any thoughts?
• Wed, Apr 15, 2015, 5:41 PM
hello howard,
did you run the exporter?

Gismo needs to perform some computation on regular basis. The purpose of this
computation is to extract data from logs and derive aggregated information.

This computation is done by a scheduled task, by default it runs at 2am (server time)
but can be changed in Site Administration -> Server -> Scheduled tasks -> GIMSO data exporter task

When you install Gismo block and you don't want to wait
the next day to see the result, you can lunch this script manually (ONLY FROM CLI):