Note: You are currently viewing documentation for Moodle 3.1. Up-to-date documentation for the latest stable version of Moodle is probably available here: Hub administration.

Hub administration: Difference between revisions

From MoodleDocs
(url must be lowercase, hub needs to be enabled (DOHH))
(rewording)
 
(9 intermediate revisions by 4 users not shown)
Line 13: Line 13:
Below is a list of Minimal requirements for running a Moodle Community Hub.
Below is a list of Minimal requirements for running a Moodle Community Hub.


* verify the server meets the requirements to run the latest version of Moodle found in the documents at [[Installing_Moodle#Requirements|Installing_Moodle]] and [[PHP]]
* MySQL - minimum version 5.0.25
* PHP 5.3.2
* Apache
* ensure that the site you will be registering does not use any upper case letters (even though those are perfectly valid).  ''EG: moodle.org/2012-Spring will not work!''
* ensure that the site you will be registering does not use any upper case letters (even though those are perfectly valid).  ''EG: moodle.org/2012-Spring will not work!''
* ensure that the following php.ini variables are set to "On"
* ensure that the following php.ini variables are set to "On"
** allow_url_fopen: This setting is required the hub to be able to register a site.  If this option is not enabled, you will be given the [[error/local_hub/cannotregisternotavailablesite|cannotregisternotavailablesite]] error. Related tracker issue: https://tracker.moodle.org/browse/CONTRIB-3063
** allow_url_fopen: This setting is required the hub to be able to register a site.  If this option is not enabled, you will be given the [[error/local_hub/cannotregisternotavailablesite|cannotregisternotavailablesite]] error. Related tracker issue: https://tracker.moodle.org/browse/CONTRIB-3063
* mod_security in Apache version 1 and mod_security2 in Apache version 2 will return a 403 forbidden error when a URL that is not the local domain is passed as a get variable. mod_security on either the hub or client servers will block the completion of the client/hub registration process, even to MOOCH, as within the registration process URL's are passed as get variables a number of times. An exception can be added to mod_security in Apache version 1 via a local .htacess file. However, this ability was removed in mod_security2.  In mod_security2 the exception must be added to mod_security.conf of /conf.d. Related forum discussion: http://moodle.org/mod/forum/discuss.php?d=188933
* mod_security in Apache version 1 and mod_security2 in Apache version 2 will return a 403 forbidden error when a URL that is not the local domain is passed as a get variable. mod_security on either the hub or client servers will block the completion of the client/hub registration process, even to Moodle.net, as within the registration process URL's are passed as get variables a number of times. An exception can be added to mod_security in Apache version 1 via a local .htacess file. However, this ability was removed in mod_security2.  In mod_security2 the exception must be added to mod_security.conf of /conf.d. Related forum discussion: http://moodle.org/mod/forum/discuss.php?d=188933


==How the hub software works==
==How the hub software works==


The hub software is implemented as a separate "local" plugin designed to be added to a standard install of Moodle 2.0 or later.  In this way the hub gets to use on all the features in the Moodle core API and benefits from maintenance of the core code.
The hub software is implemented as a separate "local" plugin designed to be added to a standard install of Moodle 2.x.  In this way the hub gets to use on all the features in the Moodle core API and benefits from maintenance of the core code.


Once installed the whole site gets a new frontpage with a simple search box (see http://hub.moodle.org/ for example).
Once installed the whole site gets a new frontpage with a simple search box (see http://hub.moodle.org/ for example).


Please don't add the hub capabilities to an existing Moodle site with real courses.  Although it may work, there are some opportunities for GUI confusion and some unknowns when it comes to security, so please just avoid it. Moodle is free, so it's trivial to install another clean copy to build your hub with.
Please don't add the hub capabilities to an existing Moodle site with real courses.  Although it may work, there are some opportunities for GUI confusion and some unknowns when it comes to security, so please just avoid it. Moodle is free, so it's trivial to install another clean copy to build your hub with.


==How to set up a Moodle Hub server==
==How to set up a Moodle Hub server==


# Install Moodle 2.0 or later somewhere on a web server with a nice URL.
# Install the latest stable version of Moodle somewhere on a web server with a nice URL.
# Download the latest hub plugin from http://download.moodle.org/download.php/plugins/local/hub.zip
# Download the latest hub plugin from https://github.com/moodlehq/moodle-local_hub
# Save the zip into the /local directory of Moodle and unzip, producing /local/hub
# Save the zip into the /local directory of Moodle and unzip, producing /local/hub
# Visit the "Notifications" page in Moodle (/admin) to complete the upgrade and install the hub software.
# Visit the "Notifications" page in Moodle (/admin) to complete the upgrade and install the hub software.
# Enable web services for the hub ('''Site Administration > Advanced features''')
# Uncheck password policy (search 'passwordpolicy' in admin search)
# Enable the XML-RPC protocol ('''Site Administration > Plugins > Web services > Manage protocols''')
# Allow extended characters in usernames (search 'extendedusernamechars' in admin search)
# Set up the SMTP ('''Site Administration > Plugins > Message outputs > Email''')
# Enable web services for the hub (''Administration > Site Administration > Advanced features'')
# Set up the recaptcha ('''Site Administration > Plugins > Authentication > Manage authentication''')  
# Enable the XML-RPC protocol (''Administration > Site Administration > Plugins > Web services > Manage protocols'')
# Set up your hub ('''Site Administration > Hub > Settings''') Supply a description, enable the hub, supply a hub password.
# Set up the SMTP (''Administration > Site Administration > Plugins > Message outputs > Email'')
# In '''Site Administration > Security > Site policies''' enable ''Allow extended characters in usernames''. This step will be automatically executed when CONTRIB-3646 is done.
# Set up the recaptcha (''Administration > Site Administration > Plugins > Authentication > Manage authentication'')  
# Set up your hub (''Administration > Site Administration > Hub > Settings'') Supply a description, enable the hub, supply a hub password.


Congratulations!  You now have a working hub with no content!
Congratulations!  You now have a working hub with no content!
Line 47: Line 49:
Only sites that are registered with the hub are allowed to publish content there.
Only sites that are registered with the hub are allowed to publish content there.


Sites register on the hub via '''Site Administration > Registration'''
Sites register on the hub via ''Administration > Site administration > Server > Hubs''.


==Hub registration==   
==Hub registration==   


You can also register your hub with the Moodle hub Directory, a listing of many hubs from around the world, enabling people from all over the world to find your hub and search the courses within it.  You may want to wait until you have some content before you register.
You can also register your hub with the [http://hubdirectory.moodle.org Moodle Hub Directory], enabling people from all over the world to find your hub and search the courses within it.  Your registration will be approved when your hub contains some courses.


==Managing sites==
==Managing sites==
In '''Administration > Hub > Manage sites''', you can:
 
* Prioritise a site: during a search, course from prioritised sites appear on top of the list. A prioritised site is always trusted.
In ''Administration > Site administration > Hub > Manage sites'', you can:
* Trust a site: when a site is trusted, any published course is immediatly available
* Prioritise a site, so that it is listed higher than unprioritised sites on the hub. By default, sites are listed in alphabetical order. A prioritised site is always trusted.
* Trust a site: when a site is trusted, any published course is immediately available
* Delete a site: delete a site from the database. A message will be sent to the site administrator.
* Delete a site: delete a site from the database. A message will be sent to the site administrator.
* Settings: you can change some information as the name, the description, the language...
* Settings: you can change some information as the name, the description, the language...
* Make a site visible: only site declared as visible appear on the the site list (currently the site list hasn't been implemented)
* Make a site visible: only sites declared as visible appear on the the site list (currently the site list hasn't been implemented)


==Managing courses==
==Managing courses==
In '''Administration > Hub > Manage course''', you can:
 
In ''Administration > Site administration > Hub > Manage courses'', you can:
* Delete a course: delete a course from the database.
* Delete a course: delete a course from the database.
* Settings: you can change some information as the name, the description, the language...
* Settings: you can change some information as the name, the description, the language...
Line 68: Line 72:


== Important things about roles, users and web services ==
== Important things about roles, users and web services ==
A hub server uses intensively Moodle web service 2.0. For this reason it is important to understand the [https://docs.moodle.org/en/Web_Services web services administration], and what happens if you change some roles/users/services.
 
A hub server uses [[Web services]] a lot. For this reason it is important to understand the web services administration, and what happens if you change some roles/users/services.


=== Roles ===
=== Roles ===
The hub server creates on the fly some roles that you should '''never delete/modify''':
The hub server creates on the fly some roles that you should ''never delete/modify'':
* one role for the hub directory
* one role for the hub directory
* one role for registered sites
* one role for registered sites
Line 77: Line 82:


=== Users ===
=== Users ===
The hub server creates on the fly some users that you should '''never delete/modify''':
The hub server creates on the fly some users that you should ''never delete/modify'':
* one user for the hub directory
* one user for the hub directory
* one user for public access
* one user for public access
Line 83: Line 88:


=== Services ===
=== Services ===
The hub creates during installation some web services that you should '''never delete/modify''':
The hub creates during installation some web services that you should ''never delete/modify'':
* one service for Hub directory
* one service for Hub directory
* one service for Registered sites
* one service for Registered sites

Latest revision as of 13:05, 29 May 2013

Deciding to run a Hub

Running a hub server is not something you should undertake lightly.

As the hub administrator you are responsible for the content in the hub, and you need to put in place processes to:

  • verify all the course content is clean (of porn or malicious javascript)
  • manage registered sites and their status
  • maintain the quality of the listings through editing

Minimal Requirements

Below is a list of Minimal requirements for running a Moodle Community Hub.

  • MySQL - minimum version 5.0.25
  • PHP 5.3.2
  • Apache
  • ensure that the site you will be registering does not use any upper case letters (even though those are perfectly valid). EG: moodle.org/2012-Spring will not work!
  • ensure that the following php.ini variables are set to "On"
  • mod_security in Apache version 1 and mod_security2 in Apache version 2 will return a 403 forbidden error when a URL that is not the local domain is passed as a get variable. mod_security on either the hub or client servers will block the completion of the client/hub registration process, even to Moodle.net, as within the registration process URL's are passed as get variables a number of times. An exception can be added to mod_security in Apache version 1 via a local .htacess file. However, this ability was removed in mod_security2. In mod_security2 the exception must be added to mod_security.conf of /conf.d. Related forum discussion: http://moodle.org/mod/forum/discuss.php?d=188933

How the hub software works

The hub software is implemented as a separate "local" plugin designed to be added to a standard install of Moodle 2.x. In this way the hub gets to use on all the features in the Moodle core API and benefits from maintenance of the core code.

Once installed the whole site gets a new frontpage with a simple search box (see http://hub.moodle.org/ for example).

Please don't add the hub capabilities to an existing Moodle site with real courses. Although it may work, there are some opportunities for GUI confusion and some unknowns when it comes to security, so please just avoid it. Moodle is free, so it's trivial to install another clean copy to build your hub with.

How to set up a Moodle Hub server

  1. Install the latest stable version of Moodle somewhere on a web server with a nice URL.
  2. Download the latest hub plugin from https://github.com/moodlehq/moodle-local_hub
  3. Save the zip into the /local directory of Moodle and unzip, producing /local/hub
  4. Visit the "Notifications" page in Moodle (/admin) to complete the upgrade and install the hub software.
  5. Uncheck password policy (search 'passwordpolicy' in admin search)
  6. Allow extended characters in usernames (search 'extendedusernamechars' in admin search)
  7. Enable web services for the hub (Administration > Site Administration > Advanced features)
  8. Enable the XML-RPC protocol (Administration > Site Administration > Plugins > Web services > Manage protocols)
  9. Set up the SMTP (Administration > Site Administration > Plugins > Message outputs > Email)
  10. Set up the recaptcha (Administration > Site Administration > Plugins > Authentication > Manage authentication)
  11. Set up your hub (Administration > Site Administration > Hub > Settings) Supply a description, enable the hub, supply a hub password.

Congratulations! You now have a working hub with no content!

Site registration

Only sites that are registered with the hub are allowed to publish content there.

Sites register on the hub via Administration > Site administration > Server > Hubs.

Hub registration

You can also register your hub with the Moodle Hub Directory, enabling people from all over the world to find your hub and search the courses within it. Your registration will be approved when your hub contains some courses.

Managing sites

In Administration > Site administration > Hub > Manage sites, you can:

  • Prioritise a site, so that it is listed higher than unprioritised sites on the hub. By default, sites are listed in alphabetical order. A prioritised site is always trusted.
  • Trust a site: when a site is trusted, any published course is immediately available
  • Delete a site: delete a site from the database. A message will be sent to the site administrator.
  • Settings: you can change some information as the name, the description, the language...
  • Make a site visible: only sites declared as visible appear on the the site list (currently the site list hasn't been implemented)

Managing courses

In Administration > Site administration > Hub > Manage courses, you can:

  • Delete a course: delete a course from the database.
  • Settings: you can change some information as the name, the description, the language...
  • Make a course visible: decide if the course is displayed on search result

Important things about roles, users and web services

A hub server uses Web services a lot. For this reason it is important to understand the web services administration, and what happens if you change some roles/users/services.

Roles

The hub server creates on the fly some roles that you should never delete/modify:

  • one role for the hub directory
  • one role for registered sites
  • one role for public sites

Users

The hub server creates on the fly some users that you should never delete/modify:

  • one user for the hub directory
  • one user for public access
  • as many users as registered sites

Services

The hub creates during installation some web services that you should never delete/modify:

  • one service for Hub directory
  • one service for Registered sites
  • one service for Public sites

It also creates tokens on the fly. These tokens are not displayed on the token management list, so you cannot accidentally delete them.

See also