Note:

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

Community hub

From MoodleDocs

The Moodle Community hub is a future project which will allow more interaction between teachers building courses and teachers using them, courses and user data can then be stored in a repository as shown below:

File:Community.png


In short we want to allow Moodlers to find and connect to other sites easily, to join communities of practice. We'll do this via a central directory open to all.

A. Moodle.org directory

A new directory system (directory.moodle.org?) will allow you to browse/search the available courses/hubs around the world, via two methods:

  1. A web interface, with clickable links to the sites so that users can log in manually.
  2. A REST-based web services interface, designed to be used by other systems (eg Moodle sites) directly

Both interfaces will provide the same data.

B. New registration form in Moodle

The existing registration form can be extended so that admins can choose to send in more info about their sites to the directory, including:

  1. Lists of courses, each one with:
    1. Name
    2. Description
    3. Tags / keywords (perhaps from a standard set)
    4. Country/region
    5. Availability (public/private)
    6. Cost (and currency)
    7. Audience: educators / students / admins (use legacy name of role?)
    8. Educational level being discussed (for educators audience only)
    9. Language
    10. What else?
  2. Mnet registration details, enough to let someone else log in to this site
  3. Overall information about the whole site, such as a custom description etc

If any of these are set, then that Moodle will automatically inform moodle.org later when this information is updated, and possibly send a heartbeat ping every week or so (so that we can delete Moodle sites that miss two weeks).


C. Community link from every Moodle

Every course will have a "Community" button (for teachers mostly) that links to a script in Moodle that uses the web services interface to search/browse available courses. The idea behind doing it this way is so that the script can do whatever that current version of Moodle can handle, rather than having the server generate pages that might not work.

Requires:

  1. Add a new button to courses, with a new capability to view it (default on for teachers, not students)
  2. Add a new Moodle script to browse/search hubs (using web services to call Moodle.org), and join sites if Mnet is all available, otherwise just link to courses for manual authentication/enrolment
  3. Public Mnet sites in "Hub mode" should allow immediate single-sign-on (even if admins aren't involved?)

D. Hub as repository

Courses and other places in Moodle have a "Search for template..." button, which pulls up the normal file picker to look for template files. The Mnet-based community hubs that have been configured appear as just another repository, and show a kind of iTunes-like interface to browse/search for content and select one for download.

  1. Special new file types for Moodle files eg .mbkup.zip .mforumbkup.zip
  2. Special repository plugin in the client Moodle that displays a nice interface in an iframe, based on data retrieved via mnet services from the hub.
  3. Special module (activity module?) in the server Moodle that manages uploaded files with ratings, comments, tagging, workflow etc.
  4. Course page to unpack returned file and "restore" it to the current course.

E. Hub as portfolio

Courses and other places have a "Save.." button which calls standard portfolio interface. Any configured mnet hosts will appear as a plugin there as well, so it will be possible to push the course as a zip to the external system (the special activity module in a course of your choosing)


See also