up2university / docker-moodle

A Dockerfile that installs the latest Moodle, Apache, PHP, and MySQL
3 stars 9 forks source link

Moodle instances are not writing data to LRS #139

Open michzimny opened 5 years ago

michzimny commented 5 years ago

It seems that the production and pedagogy instances of Moodle are not writing learning data to Learning Locker. However, the test (dev) instance does it. Credentials (in */logstore_xapi.env in the env repo) seem to be fine for all instances.

As far as I know, sending the data to LL should be initiated by cron every night.

Could you please check it?

gytisc commented 5 years ago

There is an error in configuration. Learning Locker Key corresponds to User in Moodle and Secret - to Password but in https://learn.up2university.eu/admin/settings.php?section=logsettingxapi they are used in wrong fields.

michzimny commented 5 years ago

@gytisc, thanks for checking.

I just fixed the configuration for production (in the instance directly and in the env files) and manually forced sending data to LRS (by php /var/www/html/admin/cli/cron.php). It seems it works, i.e. LL has some records from prodcution now. We need also to check whether the cron script works automatically.

However, sending data to LRS does not still work for the pedagogy instance (learn.test). The config seems to be fine. I tried to force sending data manually but I got a log of the messages given below, and then the execution hanged.

Notice: Trying to get property of non-object in /var/www/html/admin/tool/log/store/xapi/lib/translator/src/Events/Event.php on line 36
PHP Notice:  Trying to get property of non-object in /var/www/html/admin/tool/log/store/xapi/lib/translator/src/Events/Event.php on line 37
michzimny commented 5 years ago

then the execution hanged

I was wrong in this statement above. It did not hang, it just submitted records to LRS very slowly. And now, in LRS, I see some recent data coming from the pedagogy instance. It still needs to be checked why it does not heppen automatically (by cron).

Callustian commented 5 years ago

@michzimny From ( https://docs.moodle.org/36/en/Cron ) I suggest to examine what the crontab contains. Shall I send you my ssh public key?

michzimny commented 5 years ago

Yes, please do so.

Crontab probably contains this contents: https://github.com/up2university/docker-moodle/blob/develop/moodle/crontab which is added here https://github.com/up2university/docker-moodle/blob/develop/moodle/Dockerfile#L187

Callustian commented 5 years ago

@michzimny The crontab of the production and learn.test contains: 0 1 * * * php /var/www/html/admin/cli/cron.php as you suggested.

Callustian commented 5 years ago

@michzimny the system does not seem to generate error emails. Could you please write the steps I have to do to replicate the problem? Thanks.

michzimny commented 5 years ago

@Callustian, the issue is that learn.test.up2university.eu does not send xAPI statements to the LRS. It can be seen at the LRS side - https://lrs.test.up2university.eu/organisation/59f66e62adf90f001e6ad88a/data/source - as "Store" please choose "learn.test.up2university.eu". You will get no events from last days.

On the Moodle side, the cron script is responsible for doing this at night. When I ran the script manually a few days ago, it took one hour but it sent out all the data to the LRS.

So, the issue is that the cron script is not fired on the schedule, or is fired but fails every day. This should be investigated and fixed.

I'm not sure what error emails are you referring to.

Callustian commented 5 years ago

@michzimny Thank you for your reply. I think I don't have the privileges to read the Store you suggest. Could you allow me to read the events of 'learn.test.up2university.eu'?

michzimny commented 5 years ago

@Callustian, please check now. I think you earlier had a wrong role assigned.

Callustian commented 5 years ago

@michzimny I can read the data, thanks.

Callustian commented 5 years ago

Hi @michzimny. Is this a problem using Moodle 3.6.2?

michzimny commented 5 years ago

I will check it and report here.

michzimny commented 5 years ago

@Callustian, it still does not work. In production, last statements in LL come from 2019-07-19. In pedagogy, last statements in LL are 5 months old.

You can check it under the following URLs, first choosing a store: https://lrs.up2university.eu/organisation/5c3780df2be65f001b3eb275/data/source https://lrs.test.up2university.eu/organisation/59f66e62adf90f001e6ad88a/data/source

gtoffoli commented 5 years ago

@Callustian, do you have any idea when Moodle will start sending xAPI statements to LL again? As you know, last statement from the production instance dates back to 19 July. Are you waiting for the logstore_xapi plugin extension to be completed? Thank you!