Note: You are currently viewing documentation for Moodle 1.9. Up-to-date documentation for the latest stable version is available here: MRBS block.

MRBS block: Difference between revisions

From MoodleDocs
 
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
==MRBS Block==
==MRBS Block==


The MRBS block integrates the MRBS project (http://sourceforge.net/projects/mrbs/) by using settings in the Moodle config.php to authenticate against the mdl_user file as its external database and thus allows for single sign on (SSO). While initially designed to work with Moodle 1.6 as a single sign on integration, later work made the MRBS project a contributed Moodle block. Stephen Bourget was kind enough to work on some changes to prepare the MRBS block to take advantage of roles and for use with Moodle 1.7 and beyond. Furthermore, a recently discovered SQL injection vulnerability in the MRBS application was patched. As a result, the MRBS integration/block is no longer supported or maintained for versions prior to Moodle 1.7. The MRBS block currently requires MySQL; however, I have added an issue in the tracker (http://tracker.moodle.org/browse/CONTRIB-340) to provide Postgresql support.  
The MRBS block integrates the MRBS project (http://sourceforge.net/projects/mrbs/) by using Moodle functions to authenticate. While initially designed to work with Moodle 1.6 as a single sign on integration, later work made the MRBS project a contributed Moodle block.  
 
Stephen Bourget was kind enough to work on some changes to prepare the MRBS block to take advantage of roles and for use with Moodle 1.7 and beyond. Furthermore, a recently discovered SQL injection vulnerability in the MRBS application was patched. As a result, the MRBS integration/block is no longer supported or maintained for versions prior to Moodle 1.7.
 
There is now an updated version of this block available for Moodle 2.0.


As with any customization, it is recommended that you have a good backup of your Moodle site before attempting to install contributed code. While those contributing code make every effort to provide the best code that they can, using contributed code nevertheless entails a certain degree of risk as contributed code is not as carefully reviewed and/or tested as the Moodle core code.   
As with any customization, it is recommended that you have a good backup of your Moodle site before attempting to install contributed code. While those contributing code make every effort to provide the best code that they can, using contributed code nevertheless entails a certain degree of risk as contributed code is not as carefully reviewed and/or tested as the Moodle core code.   
Line 8: Line 12:


===Installation===
===Installation===
* Code - Copy the files into your Moodle blocks folder ($CFG->dirroot/blocks)
* Code:
* Database - Login in as a Moodle Administrator and go to the Administration notifications page to create the MRBS tables
** Save the zip file somewhere onto your local computer and extract all the files
* Capabilities - The MRBS block is primarily intended for use on the Moodle front page. Privileges to use the scheduler are currently based on three custom defined capabilities: block/mrbs:administermrbs, block/mrbs:editmrbs, and block/mrbs:viewmrbs. Whlie these capabilities are created automatically, the system roles are not. As such, it is recommended that you create three system wide roles by going to the Site Administration block and clicking on Users - Permissions - Define Roles. Then click on the 'Add a new role' pushbutton. Fill in the Name, Short name, and description fields with MRBS Administrator, MRBS Scheduler, or MRBS Viewer depending on the role you are creating. Then under Permissions set the capability to allow for the respective role (i.e. block/mrbs:administermrbs for the MRBS Administrator role, block/mrbs:editmrbs for the MRBS Scheduler role, and block/mrbs:viewmrbs for the MRBS Viewer role). Scroll down to the bottom and click on the 'Add a new role' (or 'Save changes' if editing the role) pushbutton. Once the roles are created, then go to Site Administration block, and click on Frontpage - Frontpage roles. Assign users to the appropriate roles that you want. Typically, teachers get assigned as MRBS Schedulers and students as MRBS Viewers.
** Create a new 'mrbs' folder in your Moodle blocks folder [moodleroot]/blocks/mrbs
** Copy all the downloaded files directly into this 'mrbs' folder (You should end up with [moodleroot]/blocks/mrbs/block_mrbs.php; [moodleroot]/blocks/mrbs/db/install.xml; [moodleroot]/blocks/mrbs/web/add.php; etc)
* Database: Log in as 'administrator' and click on the 'Notifications' link (Moodle 1.9) or the 'Home' link (Moodle 2.0)
* Capabilities: The MRBS block is primarily intended for use on the Moodle front page. Privileges to use the scheduler are currently based on three custom defined capabilities:  
 
# block/mrbs:administermrbs
# block/mrbs:editmrbs
# block/mrbs:viewmrbs  
 
* While these capabilities are created automatically, the system roles are not. As such, it is recommended that you create three system wide roles by:
 
# Login as the Site administrator
# Go to the Site Administration block
# Click on Users -> Permissions -> Define Roles
# Click on the 'Add a new role' pushbutton
# Fill in the Name, Short name, and description fields with MRBS Administrator, MRBS Scheduler, or MRBS Viewer depending on the role you are creating.  
# Under Permissions set the capability to allow for the respective role (i.e. block/mrbs:administermrbs for the MRBS Administrator role, block/mrbs:editmrbs for the MRBS Scheduler role, and block/mrbs:viewmrbs for the MRBS Viewer role).  
# Scroll down to the bottom and click on the 'Add a new role' (or 'Save changes' if editing the role) pushbutton.  
# Once the roles are created, go to Site Administration block, click on Frontpage -> Frontpage roles and assign users to the appropriate/desired roles.  
 
* Typically, teachers get assigned as MRBS Schedulers and students as MRBS Viewers. Keep in mind that no assignment is equivalent to MRBS Viewers. Site administrators have the option of making the MRBS Calendar viewable to guests and non-logged in users. To force users to login in order to view the MRBS Calendar:
# Login as the site administrator
# Go to the Site Administration block under Security -> Site Policies
# Enable the 'Force users to login' setting
 
===Suggested configuration rules===
Not following these suggestions will not totally break mrbs, but will prevent some features working optimally.
 
* Where bookings are for courses, the booking name should match the shortname of the course
* Rooms should be described such that:
** All teaching rooms include the word 'teaching' in their description
** IT teaching rooms should have 'Teaching IT' in their description
** Teaching rooms that are not suitable for general teaching (i.e. tech workshops) should have 'special' in their names.


===Languages===
===Languages===


Thanks to the generosity of translators, the MRBS Block is available in:
Thanks to the generosity of translators, the MRBS Block is available in:
*English (en_utf8)
*English (en_utf8/en)
*Spanish (es_utf8)
*Spanish (es_utf8/es)
*German (de_utf8)  
*German (de_utf8/de)  
** Installation instructions in German are available at: https://docs.moodle.org/de/blocks/mrbs#.C3.84ndern_der_MRBS_Texte
** Installation instructions in German are available at: https://docs.moodle.org/de/blocks/mrbs#.C3.84ndern_der_MRBS_Texte


If you would like to supply translations for other languages, please create an issue in the tracker and attach a zip file of the language files.
If you would like to supply translations for other languages, please create an issue in the tracker and attach a zip file of the language files.


===To Do List===
===Extra Moodle MRBS Features===
* [[MRBS_block/import|Import timetable]]
* [[MRBS_block/forcebook|Force booking]]
* [[MRBS_block/usertt|User timetables]]


*Postgresql support
===Contributor/Maintainer===
The MRBS Block was contributed and maintained by Mike Worth and Anthony Borrow. As of December 2011, the block is now maintained by Davo Smith at Synergy Learning. More information about the MRBS Block is available at: http://moodle.org/plugins/view.php?plugin=block_mrbs


===Contributor/Maintainer===
The block was originally contributed by Anthony Borrow; however, Mike Worth has done significant work on new features for the MRBS block, and has graciously taken on the role of co-maintainer. More details about these new features are available at: http://moodle.org/mod/forum/discuss.php?d=121753
The MRBS Block was contributed and is maintained by Anthony Borrow.
More information about the MRBS Block is available at: http://moodle.org/mod/data/view.php?d=13&rid=734


[[Category:Contributed code]]
[[Category:Contributed code]]

Latest revision as of 14:03, 23 February 2012

MRBS Block

The MRBS block integrates the MRBS project (http://sourceforge.net/projects/mrbs/) by using Moodle functions to authenticate. While initially designed to work with Moodle 1.6 as a single sign on integration, later work made the MRBS project a contributed Moodle block.

Stephen Bourget was kind enough to work on some changes to prepare the MRBS block to take advantage of roles and for use with Moodle 1.7 and beyond. Furthermore, a recently discovered SQL injection vulnerability in the MRBS application was patched. As a result, the MRBS integration/block is no longer supported or maintained for versions prior to Moodle 1.7.

There is now an updated version of this block available for Moodle 2.0.

As with any customization, it is recommended that you have a good backup of your Moodle site before attempting to install contributed code. While those contributing code make every effort to provide the best code that they can, using contributed code nevertheless entails a certain degree of risk as contributed code is not as carefully reviewed and/or tested as the Moodle core code.

MRBS is useful for scheduling a variety of resources. More information about MRBS can be obtained at http://mrbs.sourceforge.net/. As distributed here it is setup for periods; however, this can easily be changed to times by modifying the config.inc.php file.

Installation

  • Code:
    • Save the zip file somewhere onto your local computer and extract all the files
    • Create a new 'mrbs' folder in your Moodle blocks folder [moodleroot]/blocks/mrbs
    • Copy all the downloaded files directly into this 'mrbs' folder (You should end up with [moodleroot]/blocks/mrbs/block_mrbs.php; [moodleroot]/blocks/mrbs/db/install.xml; [moodleroot]/blocks/mrbs/web/add.php; etc)
  • Database: Log in as 'administrator' and click on the 'Notifications' link (Moodle 1.9) or the 'Home' link (Moodle 2.0)
  • Capabilities: The MRBS block is primarily intended for use on the Moodle front page. Privileges to use the scheduler are currently based on three custom defined capabilities:
  1. block/mrbs:administermrbs
  2. block/mrbs:editmrbs
  3. block/mrbs:viewmrbs
  • While these capabilities are created automatically, the system roles are not. As such, it is recommended that you create three system wide roles by:
  1. Login as the Site administrator
  2. Go to the Site Administration block
  3. Click on Users -> Permissions -> Define Roles
  4. Click on the 'Add a new role' pushbutton
  5. Fill in the Name, Short name, and description fields with MRBS Administrator, MRBS Scheduler, or MRBS Viewer depending on the role you are creating.
  6. Under Permissions set the capability to allow for the respective role (i.e. block/mrbs:administermrbs for the MRBS Administrator role, block/mrbs:editmrbs for the MRBS Scheduler role, and block/mrbs:viewmrbs for the MRBS Viewer role).
  7. Scroll down to the bottom and click on the 'Add a new role' (or 'Save changes' if editing the role) pushbutton.
  8. Once the roles are created, go to Site Administration block, click on Frontpage -> Frontpage roles and assign users to the appropriate/desired roles.
  • Typically, teachers get assigned as MRBS Schedulers and students as MRBS Viewers. Keep in mind that no assignment is equivalent to MRBS Viewers. Site administrators have the option of making the MRBS Calendar viewable to guests and non-logged in users. To force users to login in order to view the MRBS Calendar:
  1. Login as the site administrator
  2. Go to the Site Administration block under Security -> Site Policies
  3. Enable the 'Force users to login' setting

Suggested configuration rules

Not following these suggestions will not totally break mrbs, but will prevent some features working optimally.

  • Where bookings are for courses, the booking name should match the shortname of the course
  • Rooms should be described such that:
    • All teaching rooms include the word 'teaching' in their description
    • IT teaching rooms should have 'Teaching IT' in their description
    • Teaching rooms that are not suitable for general teaching (i.e. tech workshops) should have 'special' in their names.

Languages

Thanks to the generosity of translators, the MRBS Block is available in:

If you would like to supply translations for other languages, please create an issue in the tracker and attach a zip file of the language files.

Extra Moodle MRBS Features

Contributor/Maintainer

The MRBS Block was contributed and maintained by Mike Worth and Anthony Borrow. As of December 2011, the block is now maintained by Davo Smith at Synergy Learning. More information about the MRBS Block is available at: http://moodle.org/plugins/view.php?plugin=block_mrbs

The block was originally contributed by Anthony Borrow; however, Mike Worth has done significant work on new features for the MRBS block, and has graciously taken on the role of co-maintainer. More details about these new features are available at: http://moodle.org/mod/forum/discuss.php?d=121753