Template:Moodle 2.0A community hub is a directory of courses for public use or for private communities.
The diagram above shows the basic idea. The systems in this diagram are:
- Ordinary Moodle site
- A typical Moodle site with teachers who want to download course templates and/or users who want to connect (enrol) with external communities
- Publishing site
- A Moodle site that wants to make some of its courses available for download
- Community site
- A Moodle site that provides courses that are enrollable
- Moodle Hub Server
- A new Moodle plugin for publishing a list of registered courses that are downloadable or enrollable. The default hub will be installed at hub.moodle.org, but there can be many others.
- (A) Sites that want to publish certain courses and make them downloadable can register them with one or more Hub Servers.
- (B) The Hub will check the data and make sure the course zip is downloadable, caching a copy locally. The Hub may also have a security process to check the download for trojan horses, bad content, etc (automatic and/or manual).
- (C) The download process may trigger the backup process on the original server if it hasn't been done already.
- (D) Later, Moodle users (who have permissions to do so) can connect to a Hub (via the Repository file picker) to search for downloadable courses and choose one (receiving a download URL).
- (E) The repository API downloads the file and makes it available to the Moodle user so they can now continue to restore it normally.
- (1) Sites that want to publish certain courses for the public to enrol in can register them with one or more CDS (including the main one at moodle.org)
- (2) Later, any Moodle user can connect to a CDS (via Community block in their site) to search and find courses they want to join
- (3) They click on a link to be sent to the other site so that they can enrol there (with or without MNet).