Note: You are currently viewing documentation for Moodle 3.8. Up-to-date documentation for the latest stable version of Moodle may be available here: MNet.

MNet: Difference between revisions

From MoodleDocs
Line 37: Line 37:


=Connecting to a Community Hub=
=Connecting to a Community Hub=
 
A Community Hub is a Moodle server that is configured to accept connections from other Moodle servers, and to provide a set of services to users of these other servers. This guideline will direct you to connect to a Community Hub, assess the services it has to offer, and enable those services for your users.
==Setup==
==Setup==
 
# Get talking to the Hub
## Ensure that  the Admin / Server / Environment  page indicates you have curl and openssl installed
## Go to Admin / Network / Settings and turn Networking on
## Go to Admin / Network / Peers and enter the URL of Community Hub under "Add New Host". Click <em>Add</em>
## The host details for the Community Hub should appear with the Site Name field already populated. Click <em>Save changes</em>
## The details will be written to your database and two new tabs will appear in this window: 'Services' and 'Logs'. Click <em>Services</em>
##A list of services will appear, each with a checkbox for 'publish' and 'subscribe'. Check the checkboxes for any services you want to publish or subscribe to
==Using it==
==Using it==
If the Community Hub has already enabled a service for you, there will be a tick alongside the appropriate checkbox, for example: if the Hub is <em>publishing</em> Moodle Networked Enrolment, then a tick will appear alongside the <em>subscribe</em> checkbox for this service. Note that in order to enable some functionality, prominently <em>single-sign-on</em>, you may have to <em>publish</em> a service, e.g. the <em>Identity Provider</em> service. The Community Hub will access this service on your Moodle, asking it to authenticate your users.
# Enable Roaming
## Subscribe to <em>SSO (Service Provider)</em> by checking the box
## Publish <em>SSO (Identity Provider)</em> by checking the box
## Click <em>Save changes</em>
## Go to Admin / Users / Permissions / Define Roles, and grant the capability <em>Roam to a remote Moodle moodle/site:mnetlogintoremote</em> to an appropriate role
## Go to Admin / Users / Authentication and enable the <em>Moodle Network authentication</em> plugin
## Go to your homepage, turn on editing, and add the 'Network Servers' block
## Using a different web-browser, log on as a non-admin user who inhabits the role you granted the roaming capability to
## Note that the Community Hub is listed in the Network Servers block on the homepage. Click on the link to that server
## Some of your user details will be transferred to the Community Hub server, and a browsing session will be started for you as if you had logged on there directly
# Enable Networked Enrolment
## Return to the web browser you've been using as the site administrator
## Go to Admin / Network / Peers and click on the entry for the Community Hub.
## Click on the Services tab
## Subscribe to <em>Moodle Networked Enrolment</em>
## Go to Admin / Courses / Enrolment and enable the <em>Moodle Network enrolment</em> plugin. Click <em>Save changes</em>
## Click on <em>edit</em> to view the details for networked enrolments.
## Click on <em>Manage Moodle Network Enrolments</em> to see a list of Moodle servers that offer this service to you
## Click on a server name to view a list of courses that the server offers to your users
## Click on a course name, to view a list users that you can enrol in this course
## Enrol users
## Profit!


=Running a community Hub=
=Running a community Hub=

Revision as of 05:44, 10 January 2007

Template:Moodle 1.8

Draft -- for 1.8 functionality --Martin Langhoff 22:44, 26 December 2006 (CST)

Overview

Security

Peer to Peer Network

This is the basic layout of the system. It can be very useful to run one Moodle per faculty or departments, each with its own user management, and yet permit users to roam across the Moodle installs... subject to permissions of course.

Setup

The instructions will cover 2 Moodle installations: MoodleA and MoodleB. Both are installed correctly and have never had a Moodle Network configuration.

  1. Get them to talk to eachother
    1. Ensure Admin / Server / Environment indicates you have curl installed
    2. If MoodleA and MoodleB are hosted in the same domain, ensure they have a different cookie prefix. Note that changing the cookie prefix will log you out!
    3. On both, go to Admin / Network / Settings and turn Networking ON.
    4. On MoodleA go to Admin / Network / Peers - put the URL of MoodleB under "Add New Host" and click Add.
    5. Do the equivalent on MoodleB.
  2. Get user roaming going
    1. On both, go to Admin / Users / Authentication and enable Moodle Network authentication plugin. Click on 'Settings' and enable auto_add_remote_users.
    2. On MoodleA go to Admin / Network / Peers, click on 'MoodleB', and click on 'Services'. Enable SSO-IDP publish and subscribe, and SSO-SP publish and subscribe.
    3. Do the equivalent on MoodleB.
    4. On both, got to Admin / Users / Permissions / Define Roles, only roles that have "Roam to a remote Moodle moodle/site:mnetlogintoremote" will be allowed to roam. Grant the privilege as appropriate.
    5. On both, go to the homepage, and add the 'Network Servers' block.
    6. To test, it is recommended to use a different browser (even on a different machine) that is logged in to neither. Login to MoodleA with a non-administrator account that has the permissions to roam. You should see the Network Servers block, and clicking on it you should go to MoodleB with a newly autocreated account.
  3. Get remote enrolments going -- this is optional. It allows administrator of MoodleB can enrol users that are "native" to MoodleB in courses in MoodleA, and viceversa.
    1. On both, go to Admin / Courses / Enrolment and enable Moodle Network enrolment plugin (click Save). Click on 'Edit' and enable 'allow_allcourses' or select some courses or categories to be remotely enrolled.
    2. On MoodleA go to Admin / Network / Peers, click on 'MoodleB', and click on 'Services'. Enable Enrolment publish and subscribe.
    3. Do the equivalent on MoodleB.
    4. To use, in MoodleA go to Admin / Courses / Enrolment / Moodle Network -> Edit / Manage Network Enrolments and you will see MoodleB listed. Click on MoodleB and you will see a list of your users, and the courses that MoodleB offers for remote enrolment.

Using it

Connecting to a Community Hub

A Community Hub is a Moodle server that is configured to accept connections from other Moodle servers, and to provide a set of services to users of these other servers. This guideline will direct you to connect to a Community Hub, assess the services it has to offer, and enable those services for your users.

Setup

  1. Get talking to the Hub
    1. Ensure that the Admin / Server / Environment page indicates you have curl and openssl installed
    2. Go to Admin / Network / Settings and turn Networking on
    3. Go to Admin / Network / Peers and enter the URL of Community Hub under "Add New Host". Click Add
    4. The host details for the Community Hub should appear with the Site Name field already populated. Click Save changes
    5. The details will be written to your database and two new tabs will appear in this window: 'Services' and 'Logs'. Click Services
    6. A list of services will appear, each with a checkbox for 'publish' and 'subscribe'. Check the checkboxes for any services you want to publish or subscribe to

Using it

If the Community Hub has already enabled a service for you, there will be a tick alongside the appropriate checkbox, for example: if the Hub is publishing Moodle Networked Enrolment, then a tick will appear alongside the subscribe checkbox for this service. Note that in order to enable some functionality, prominently single-sign-on, you may have to publish a service, e.g. the Identity Provider service. The Community Hub will access this service on your Moodle, asking it to authenticate your users.

  1. Enable Roaming
    1. Subscribe to SSO (Service Provider) by checking the box
    2. Publish SSO (Identity Provider) by checking the box
    3. Click Save changes
    4. Go to Admin / Users / Permissions / Define Roles, and grant the capability Roam to a remote Moodle moodle/site:mnetlogintoremote to an appropriate role
    5. Go to Admin / Users / Authentication and enable the Moodle Network authentication plugin
    6. Go to your homepage, turn on editing, and add the 'Network Servers' block
    7. Using a different web-browser, log on as a non-admin user who inhabits the role you granted the roaming capability to
    8. Note that the Community Hub is listed in the Network Servers block on the homepage. Click on the link to that server
    9. Some of your user details will be transferred to the Community Hub server, and a browsing session will be started for you as if you had logged on there directly
  2. Enable Networked Enrolment
    1. Return to the web browser you've been using as the site administrator
    2. Go to Admin / Network / Peers and click on the entry for the Community Hub.
    3. Click on the Services tab
    4. Subscribe to Moodle Networked Enrolment
    5. Go to Admin / Courses / Enrolment and enable the Moodle Network enrolment plugin. Click Save changes
    6. Click on edit to view the details for networked enrolments.
    7. Click on Manage Moodle Network Enrolments to see a list of Moodle servers that offer this service to you
    8. Click on a server name to view a list of courses that the server offers to your users
    9. Click on a course name, to view a list users that you can enrol in this course
    10. Enrol users
    11. Profit!

Running a community Hub

Setup

Helping others use it