Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xAPI integration #4

Open
michzimny opened this issue Dec 5, 2018 · 21 comments
Open

xAPI integration #4

michzimny opened this issue Dec 5, 2018 · 21 comments

Comments

@michzimny
Copy link
Member

Would it be possible to integrate DSpace with xAPI protocol to send records of user activities to a Learning Record Store?

More information on our LRS: https://trello.com/c/tk8eUtkR

@lionick
Copy link
Collaborator

lionick commented Dec 6, 2018

Hi Michal, can you give me access to this link https://trello.com/c/tk8eUtkR? ([email protected])

@lionick
Copy link
Collaborator

lionick commented Dec 6, 2018

Ok Ilias gave me!

@lionick
Copy link
Collaborator

lionick commented Dec 6, 2018

Michal, is there any documentation about xAPI protocol?
Or anything that will help me for the integration?
Will i need an account at https://lrs.test.up2university.eu?

Thanks in advance.

@michzimny
Copy link
Member Author

@nadavkav, would you be able to suggest anything to @lionick, to start with implementation of xAPI?

@michzimny
Copy link
Member Author

@lionick, you should have just received an invitation email from that instance of LL.

@nadavkav
Copy link

Here is a good place to start: https://xapi.com/developer-overview/

@lionick
Copy link
Collaborator

lionick commented Dec 13, 2018

Thank you both!

@lionick
Copy link
Collaborator

lionick commented Dec 13, 2018

I will need the username and password for the HTTP Authentication in order to make the requests.
Can someone email me the credentials?
For example:
screenshot from 2018-12-13 13-33-30

@lionick
Copy link
Collaborator

lionick commented Dec 13, 2018

I found it. I must use Key and Secret fields for Username and Password respectively.

@lionick
Copy link
Collaborator

lionick commented Dec 18, 2018

I made a first attempt of xAPI integration with DSpace (https://repo.test.up2university.eu/). I am using verbs: loggedin, loggedout,searched,created,submitted,viewed and i only send statements for authenticated users. Although it can be extended for anonymous users too (for some verbs). You can see the results at https://lrs.test.up2university.eu.
Some issues to be taken into account:
Firstly, if someone want to add or push an item from Moodle platform to DSpace then, he/she uses admin credentials ([email protected]) not personal credentials. Therefore, the system sends a statement including this admin user not the real user. As far as I can see, the Sword plugin is responsible for that. I dont know if this is something we want.

Secondly, is there any specifications about the statements we send?

@michzimny
Copy link
Member Author

@gtoffoli, would you be able to address the both issues described by Nick in the previous message? Nick is implementing xAPI support in one of the Up2U tools.
CC @athird

@gtoffoli
Copy link

I cannot see the results of DSpace-related actions at https://lrs.test.up2university.eu since I cannot guess which search criteria I could use in the Explore form of Learning Locker to find DSpace-related xAPI statements.
I don't know the SWORD plugin. If it uses the admin credentials to add or push items to DSpace, I think that the sending of xAPI statements should be addressed upstream: not inside DSpace but inside Moodle itself.
On the other hand, currently the moodle-logstore_xapi plugin takes over the sending of xAPI statements for all core modules of Moodle and also for several Moodle extensions: see my summary in the attached document.
I think that the proper solution would be to extend the moodle-logstore_xapi to tackle also the conversion to xAPI statements of the "events" generated by the SWORD plugin.
There are not unique specifications for specific xAPI statements, but only reused "recipes". I think that the verbs loggedin, loggedout, searched, created, submitted, viewed are ok; better if verbs qualified with namespaces coincide with those already used for other modules of Moodle.

Moodle-xapi mapping.docx

@lionick
Copy link
Collaborator

lionick commented Jan 31, 2019

What I did was to integrate xAPI statements to DSpace not to Moodle plugin. This means that in order to send xAPI statements, someone mush login to DSpace Up2U platform (https://repo.up2university.eu/) and then for example search for an item, or submit a new one.
As far as I know SWORD plugin uses one single account for all users so I cant track which user makes which action.

You can see the results here https://lrs.test.up2university.eu/organisation/5c0fcb10396f0b0001e9e35d/data/dashboards

@gtoffoli
Copy link

@lionick, so you are talking about 2 different types of activities: 1) managing or searching metadata and documents as a DSpace user; 2) using DSpace contents in Moodle through the SWORD plugin.
In my previous comment, I addressed the 2nd type of activity.
Concerning the 1st one, I assume that users access DSpace with the Up2U SSO login; for this case, I copy here a remark and a suggestion that I made in a document on Learning Analytics inside WP5:

It seems that users of LL, through its analytics dashboard or in other way, cannot perform queries on data coming from different tools, recognizing the coidentity of Actors corresponding to the same person. In statements generated by Moodle-Up2U through the moodle-logstore_xAPI plugin, the "actor" is identified by means of an "account" whose "name" attribute has as value a local user id assigned by Moodle; on the other hand, CommonSpaces identifies the "actor" with the email used for authentication.
To solve this problem, all LL clients (xAPI “experience providers”) should identify the “actor” with an email address or with the "uid" (unique id) assigned by the Single Sign-on Identity Provider (SSO IdP).

CC @nadavkav
CC @athird

@lionick
Copy link
Collaborator

lionick commented Jan 31, 2019

Exactly!
I am already using email address for users but to "mbox" attribute. Do you want me to copy email to attribute "name"? Or this is what we want?

"actor": {
"mbox": "mailto:[email protected]",
"name": "0abea3ea-6b06-43d9-bb4f-d4a8f3bd2fb0", //local user id
"objectType": "Agent"
}
Thank you very much for the information.

@gtoffoli
Copy link

@lionick, currently CommonSpaces puts the email address in the "mbox" slot, as you do. This is an example:

"actor": {
  "objectType": "Agent",
  "name": "Alessia Tucciarone",
  "mbox": "mailto:[email protected]"
},

@gtoffoli
Copy link

@lionick, are there updates on the Moodle-DSpace-xAPI integration? xAPI statements are still sent only to the test instance of LL? If I look for statements related to DSpace, I can find some generated by Moodle activities having "DSpace" in their titles or descriptions, but don't know how to filter-in statements generated by DSpace or the DSpace plugin. Could I get a list of the verb and activity type identifiers qualified with their namespaces? Many thanks in advance!

@lionick
Copy link
Collaborator

lionick commented May 2, 2019

Hi Giovanni, sorry for the late reply but I was out of office because of an injury.
Yes xAPI statements are still sent only to the test instance.

Screenshot from 2019-05-02 09-18-57

I will need an account to https://lrs.up2university.eu in order to implement it. @michzimny can you create an account for me?

@michzimny
Copy link
Member Author

michzimny commented May 2, 2019

@lionick, done. You should have just received an invitation by email.

@lionick
Copy link
Collaborator

lionick commented May 3, 2019

Thanks!
I implement xAPI statements to DSpace (repo.up2university.eu) so can send them to LRS(lrs.up2university.eu) and also add context.platform=DSpace information so you can distinguish DSpace statements. This is a custom implementation of xAPI statements so you will see that I use UUIDs instead of names or titles. This can be changed of course if there are any specific requirements.

@gtoffoli
Copy link

gtoffoli commented May 3, 2019

Good! Now I see a few statements from the DSpace platform on lrs.up2university.eu. They seem ok!
However, as I noticed a while ago, I think that it would be much more useful to track the original user that performed the activity. Don't know if this requires the extension of the moodle-logstore_xapi plugin, so that it handles the events being fired, inside Moodle, by the SWORD plugin; and who could take care of that.
Otherwise, you could analyze only patterns of use of DSpace itself, not the role that its use can play in a learning scenario; or, can you imagine how you could put in relation statements sent by Moodle with almost anonymous statements sent by DSpace?
By the way, do you know any pilot/project/course where they plan to make a substantial use of DSpace? Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants