Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Community hub - technical specification

From MoodleDocs

Operations

Following the different communication operations excepted between Moodle.org, hub servers and Moodle site.

Moodle site and Hub server

Moodlesite2hubserver.png

Moodle.org Hub directory and (Moodle.org) Hub server

Hubdirectory moodleorg2hubserver moodle.org.png

Moodle site and Moodle.org Hub directory

Moodlesite2moodleorg.png

Methods

Following we explain the way we'll implement the operation

Site/Hub Registration operations

The site/hub enables the web service, enable a protocol, create a specific ws user, a specific ws role, and a specific token. It sends by POST the web service token to the hub server/hub directory. The hub server/hub directory enables the web service, enable a protocol, create a specific ws user, a specific ws role, and a specific token. It calls the web service function: confirm_registration($thisisyourtokentocallme). Finally the hub server/hub directory use web service to call get_info function for its first time

Course search (hub or global search) + hub list operations

When the hub server is set with the option "Publish this hub so people can join it", it creates a ws token (same steps than previous chapter), we'll call this token a public token. The site calls a php script on the hub server to retrieve the public token. Then the site calls the web service function search_courses()

Other operations (get_info)

The site/hub server/directory should all have specific token to talk to each other.