24/Red Moodle

De MoodleDocs
Revisión del 09:20 16 oct 2007 de Iñaki Arenaza (discusión | contribs.) (Traducción parcial (en curso))
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)

Moodle 1.8

Traducción en curso. Échanos una mano con la traducción. Iñaki Arenaza 04:20 16 oct, 2007 (CDT)

Overview

Moodle Network is a new feature found in the 1.8 release of Moodle. The network feature allows a Moodle administrator to establish a link with another Moodle, and to share some resources with the users of that Moodle.

La Red Moodle una característica nueva que se puede encontrar a partir de la versión 1.8 de Moodle. Esta característica permite a un administrador de Moodle establecer un enlace con otro Moodle, y compartir algunos recursos de ese otro Moodle.

La publicación inicial de la Red Moodle se acompaña de un nuevo plugin de autenticación que hace que sea posible la validación única (single sign on) entre sitios Moodle. Un usuario con el nombre de usuario jody inicia la sesión en su servidor Moodle como de costumber, y pincha en un enlace que le lleva a una página en otro servidor Moodle. En el caso habitual, jody debería tener sólo los privilegios del usuario invitado en el servidor Moodle remoto, pero entre bastidores la validación única ha establecido una sesión de autenticación completa en el sitio remoto.

Security

La característica de Red Moodle necesita que su servidor tenga las extensiones Curl y OpenSSL de PHP instaladas. Cuando instale o actualice a Moodle 1.8, su sistema creará un nuevo certificado OpenSSL para cifrar las comunicaciones con otros Moodle, y rotará las claves de cifrado una vez al mes (aproximadamente) a partir de ese momento.

La comunicación se lleva a cabo por medio de un transporte XML-RPC, y los documentos XML-RPC se envuelven primero en un sobre XMLDSIG (XML digital signature) y posteriormente en un sobre XMLENC (XML encryption). El cifrado se realiza completamente dentro de PHP y no se necesita un servidor https (Apache SSL).

Referencias:

Se puede habilitar un modo especial que permite a una máquina con una dirección IP específica hacer llamadas a la capa XML-RPC si usar sobres ni de cifrado ni de firma. Se proporciona este modo para permitir a Moodle comunicar con otros sistemas software en los que la integración de las firmas y el cifrado pudiera ser excepcionalmente difícil. Sin embargo, no se prevee que nunca se llegue a habilitar la comunicación no cifrada entre sitios Moodle.

Red entre Iguales (Peer to Peer Network)

Esta es disposición básica del sistema. Puede ser muy utilizar un sitio Moodle por facultad o departamento, cada uno con su gestión de usarios, y sin embargo permitir a los usuarios recorrer los diferentes sitios Moodle... por supuesto sujectos a los permisos de cada uno de ellos.

Instalación

Las instrucciones se referirán a dos instalaciones Moodle: MoodleA y MoodleB. Ambas están instaladas correctamente y nunca han tenido una configuración de Red Moodle con anterioridad.

  1. Conseguir que se hablen entre ellos
    1. Asegúrese de que Admin > Servidor > Entorno indica que tiene curl instalado
    2. Si MoodleA y MoodleB están alojados en el mismo dominio, asegúrese de que utilizan un prefijo de cookie diferente. Tenga en cuenta que cambiar el prefijo de la cookie ¡terminará su sesión actual! Puede cambiar el prefijo de la cookie a través de Admin > Servidor > Gestión de la sesión.
    3. En ambos sitios, vaya a Admin > Red > Ajustes y ponga la opción Red a encendido.
    4. En el sitio MoodleA vaya a Admin > Red > Iguales - añada la URL del sitio MoodleB bajo "Agregar un nuevo servidor" y especifique que es de tipo "Moodle", y pulse "Agregar Servidor"
    5. Repita el proceso equivalente en el sitio MoodleB.
  2. Conseguir que los usuarios puedan recorrer los sitios
    1. En ambos sitios, vaya a Admin > Usuarios > Autenticación y habilite el plugin de autenticación "Autenticación de la Red Moodle". Pulse en "Configuración" y habilite "Añadir automáticamente usuarios remotos".
    2. En el sitio MoodleA vaya a Admin > Red > Iguales, pulse en "MoodleB" y pulse en "Servicios". Habilite publicar y suscribir bajo "SSO (Proveedor de Identidad)", así como publicar y suscribir en "SSO (Proveedor de Servicios).
    3. Repita el proceso equivalente en el sitio MoodleB.
    4. En ambos sitios, vaya a Admin > Usuarios > Permisos> Definir Roles. Sólo aquellos roles que tengan asignada el privilegio "Ir a un Moodle remoto moodle/site:mnetlogintoremote" podrán recorrer otros sitios. Conceda este privilegio a aquellos roles que crea conveniente.
    5. En ambos sitios, vaya a la página principal y añada el bloque "Servidores de Red".
    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 > Networking > Enrolments. You will see MoodleB listed. Click on MoodleB and you will see a list of courses that MoodleB offers for remote enrolment. Select the course you want, and then enroll the users you want to that course.

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. Go to Admin > Networking > 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

A Community hub is a regular Moodle site that runs in a special mode. As a Moodle Administrator, when you add another Moodle site to your list of network peers, your Moodle will contact that site to find out what it is called, and to request its public key for encrypted communication. Normally, the remote server will simply provide this information without making any record of the transaction.

A Community hub is different. As soon as you add an entry for a Community hub to your system, the Community hub will create an entry for your server in its list of hosts, and may immediately begin to offer services to the users of your site.

This section will guide you to set up a Community hub, and select services to offer to all comers.

Setup

  1. Enable Networking
    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 tick the checkbox for Register all hosts. Click on Save Changes
    4. On the same page, the first entry in your list of hosts should be All hosts. Click this link
    5. Click on Services and enable any services you want to offer to all comers

See also