Moodle / VLE Profile: Management Statements


Course Defined

This Statement is not based on a Moodle event. It is typically generated by a CRON job which checks the platform courses and sends a statement when a course has been created or has modifies.

  • The course-structure object extension MUST be defined as a recursive structure of activities (see the example).

  • All activities in the course-structure extension MUST be fully defined.

{
    "actor": {
        "objectType": "Agent",
        "account": {
            "name": "system",
            "homePage": "http://xapi.moodle.test"
        }
    },
    "verb": {
        "id": "http://id.tincanapi.com/verb/defined"
    },
    "object": {
        "objectType": "Activity",
        "id": "http://xapi.moodle.test/xapi/activities/course/ba297687-b1aa-4477-9efd-a782c8fdb90a",
        "definition": {
            "type": "http://vocab.xapi.fr/activities/course",
            "name": {
                "en": "Course 1"
            },
            "description": {
                "en": "Course 1 description"
            },
            "extensions": {
                "http://vocab.xapi.fr/extensions/platform-concept": "course",
                "http://vocab.xapi.fr/extensions/course-structure": [
                    {
                        "activity": {
                            "id": "http://xapi.moodle.test/xapi/activities/course_section/ba297687-b1aa-4477-9efd-a782c8fdb90a",
                            "definition": {
                                "type": "http://vocab.xapi.fr/activities/course-section",
                                "name": {
                                    "en": "Section 1"
                                },
                                "extensions": {
                                    "http://vocab.xapi.fr/extensions/platform-concept": "course-section"
                                }
                            }
                        },
                        "children": [
                            {
                                "activity": {
                                    "objectType": "Activity",
                                    "id": "http://xapi.moodle.com/xapi/activities/scorm/b3192e37-6d57-4a6b-8642-b9259276440d",
                                    "definition": {
                                        "type": "http://vocab.xapi.fr/activities/web-content",
                                        "name": {
                                            "en": "SCORM 1"
                                        },
                                        "extensions": {
                                            "http://vocab.xapi.fr/extensions/standard": "scorm",
                                            "http://vocab.xapi.fr/extensions/concept-family": "resource",
                                            "http://vocab.xapi.fr/extensions/platform-concept": "scorm"
                                        }
                                    }
                                }
                            },
                            {
                                "activity": {
                                    "objectType": "Activity",
                                    "id": "http://xapi.moodle.com/xapi/activities/scorm/b3192e37-6d57-4a6b-8642-b9259276440d",
                                    "definition": {
                                        "type": "http://vocab.xapi.fr/activities/web-content",
                                        "name": {
                                            "en": "SCORM 2"
                                        },
                                        "extensions": {
                                            "http://vocab.xapi.fr/extensions/standard": "scorm",
                                            "http://vocab.xapi.fr/extensions/concept-family": "resource",
                                            "http://vocab.xapi.fr/extensions/platform-concept": "scorm"
                                        }
                                    }
                                }
                            }
                        ]
                    },
                    {
                        "activity": {
                            "id": "http://xapi.moodle.test/xapi/activities/course_section/ba297687-b1aa-4477-9efd-a782c8fdb90a",
                            "definition": {
                                "type": "http://vocab.xapi.fr/activities/course-section",
                                "name": {
                                    "en": "Section 2"
                                },
                                "extensions": {
                                    "http://vocab.xapi.fr/extensions/platform-concept": "course-section"
                                }
                            }
                        },
                        "children": [
                            {
                                "activity": {
                                    "objectType": "Activity",
                                    "id": "http://xapi.moodle.com/xapi/activities/scorm/b3192e37-6d57-4a6b-8642-b9259276440d",
                                    "definition": {
                                        "type": "http://vocab.xapi.fr/activities/web-content",
                                        "name": {
                                            "en": "SCORM 3"
                                        },
                                        "extensions": {
                                            "http://vocab.xapi.fr/extensions/standard": "scorm",
                                            "http://vocab.xapi.fr/extensions/concept-family": "resource",
                                            "http://vocab.xapi.fr/extensions/platform-concept": "scorm"
                                        }
                                    }
                                }
                            },
                            {
                                "activity": {
                                    "objectType": "Activity",
                                    "id": "http://xapi.moodle.com/xapi/activities/scorm/b3192e37-6d57-4a6b-8642-b9259276440d",
                                    "definition": {
                                        "type": "http://vocab.xapi.fr/activities/web-content",
                                        "name": {
                                            "en": "SCORM 4"
                                        },
                                        "extensions": {
                                            "http://vocab.xapi.fr/extensions/standard": "scorm",
                                            "http://vocab.xapi.fr/extensions/concept-family": "resource",
                                            "http://vocab.xapi.fr/extensions/platform-concept": "scorm"
                                        }
                                    }
                                }
                            }
                        ]
                    }
                ]
            }
        }
    },
    "context": {
        "contextActivities": {
            "grouping": [
                {
                    "id": "http://xapi.moodle.test",
                    "definition": {
                        "type": "http://vocab.xapi.fr/activities/system"
                    }
                }
            ],            
            "category": [
                {
                    "id": "http://vocab.xapi.fr/categories/vle-profile",
                    "definition": {
                        "type": "http://adlnet.gov/expapi/activities/profile"
                    }
                }
            ]
        },
        "platform": "Moodle"
    },
    "timestamp": "2018-06-20T16:04:17+08:00"
}

Group Defined

This Statement is not based on a Moodle event. It is typically generated by a CRON job which checks the platform groups and sends a statement when a group has been created or has modifies.

  • The object MUST be a fully qualified group, including its name and member properties.

  • The context.contextActivities.parent property MAY define a context for the group (typically a course for Moodle course groups).

{warning} The context.platform property is not set because xAPI does not allow it when the object of the statement is a group.

{
    "actor": {
        "objectType": "Agent",
        "account": {
            "name": "system",
            "homePage": "http://xapi.moodle.test"
        }
    },
    "verb": {
        "id": "http://id.tincanapi.com/verb/defined"
    },
    "object": {
        "objectType": "Group",
        "name": "Promo 2019.2",
        "account": {
            "name": "promo_2019_2",
            "homePage": "http://xapi.moodle.test"
        },
        "member": [
            {
                "objectType": "Agent",
                "account": {
                    "name": "72747abe-cb9d-3cc9-b2a2-e33b8595b865",
                    "homePage": "http://trax.factory"
                }
            },
            {
                "objectType": "Agent",
                "account": {
                    "name": "37936d72-7bf5-309f-9bf7-da00a0645816",
                    "homePage": "http://trax.factory"
                }
            },
            {
                "objectType": "Agent",
                "account": {
                    "name": "dafc8dc9-83c8-37e4-a9a6-d7f2c31793d5",
                    "homePage": "http://trax.factory"
                }
            }
        ]
    },
    "context": {
        "contextActivities": {
            "grouping": [
                {
                    "id": "http://xapi.moodle.test",
                    "definition": {
                        "type": "http://vocab.xapi.fr/activities/system"
                    }
                }
            ],            
            "category": [
                {
                    "id": "http://vocab.xapi.fr/categories/vle-profile",
                    "definition": {
                        "type": "http://adlnet.gov/expapi/activities/profile"
                    }
                }
            ]
        }
    },
    "timestamp": "2018-06-20T16:04:17+08:00"
}

User Registered

This Statement is generated from the \core\event\user_enrolment_created Moodle event.

  • The context.team MAY define a group when the registration is based on a group (typically Moodle cohorts), without the member property.

  • The user-role context extension MUST define the role of the user in the context of the registration (e.g. student).

{
    "actor": {
        "objectType": "Agent",
        "account": {
            "name": "d0d6cd21-bbea-4179-a7e9-affdea1a1d84",
            "homePage": "http://xapi.moodle.test"
        }
    },
    "verb": {
        "id": "http://adlnet.gov/expapi/verbs/registered"
    },
    "object": {
        "objectType": "Activity",
        "id": "http://xapi.moodle.test/xapi/activities/course/ba297687-b1aa-4477-9efd-a782c8fdb90a",
        "definition": {
            "type": "http://vocab.xapi.fr/activities/course",
            "name": {
                "en": "Course 1"
            },
            "description": {
                "en": "Course 1 description"
            },
            "extensions": {
                "http://vocab.xapi.fr/extensions/platform-concept": "course"
            }
        }
    },
    "context": {
        "contextActivities": {
            "grouping": [
                {
                    "id": "http://xapi.moodle.test",
                    "definition": {
                        "type": "http://vocab.xapi.fr/activities/system"
                    }
                }
            ],            
            "category": [
                {
                    "id": "http://vocab.xapi.fr/categories/vle-profile",
                    "definition": {
                        "type": "http://adlnet.gov/expapi/activities/profile"
                    }
                }
            ]
        },
        "team": {
            "objectType": "Group",
            "name": "Promo 2019.2",
            "account": {
                "name": "promo_2019_2",
                "homePage": "http://xapi.moodle.test"
            }
        },
        "extensions": {
            "http://vocab.xapi.fr/extensions/platform-event": "\\core\\event\\user_enrolment_created",
            "http://vocab.xapi.fr/extensions/user-role": "student"
        },
        "platform": "Moodle"
    },
    "timestamp": "2018-06-20T16:04:17+08:00"
}