|
OverviewMyStuff is an ePortfolio tool developed by Open Univeristy. Although MyStuff was originally developed as a module for Moodle, Open University hopes for this tool to also be compatible with other learning content management systems (LCMS) or virtual learning environments (VLE) such as ATutor. This module is an attempt at integrating the MyStuff ePortfolio as an ATutor module. It is still in its development stages and is currently on hold until further improvements are seen in the abstraction of Moodle from MyStuff. The current module is being developed with ATutor 1.6.1 and the April 2008 release of MyStuff. The current module (as of July 25, 2008) can be downloaded here. Integration'Moodling'In order to reduce MyStuff's dependency on one particular VLE such as Moodle, a file called MoodleConnector.class.php (under /lib) is used to provide an abstract mapping of all the Moodle library functions that MyStuff uses. In theory, this file can act as a bridge for MyStuff to other environments like ATutor. Therefore, most of the work needed in integrating MyStuff is in rewriting this file. For more information please refer to the MyStuff Developer document at http://www.open.ac.uk/blogs/MyStuff-info/?page_id=40 Unfortunately, much of the behaviour of MyStuff and MoodleConnector.class.php still follows very closely with Moodle's architecture. Moodle variables such as $CFG, $USR, and $SITE are being used, therefore need to be mimicked in the module for ATutor. This may pose a problem of ATutor having to go through unnecessary overhead in order to behave like Moodle in order to accomodate MyStuff. static function initMoodleCFG() { global $_config; // First we need to convert ATutor $_SESSION variables to Moodle $CFG variables $CFG->dbtype = 'mysql'; $CFG->dbhost = DB_HOST; $CFG->dbname = DB_NAME; $CFG->dbuser = DB_USER; $CFG->dbpass = DB_PASSWORD; $CFG->dbpersist = false; $CFG->prefix = TABLE_PREFIX; $CFG->wwwroot = $_config['atutor_url']; $CFG->dirroot = realpath($_config['atutor_url']); $CFG->dataroot = AT_CONTENT_DIR; $CFG->admin = 'admin'; return $CFG; } In addition, there are still certain variables required by MyStuff (and offered by Moodle) that are not availabe in ATutor. One such variable is the ATutor URL, which is required in the $CFG->wwwroot variable. This value gets returned with $CFG from the 'getMoodleCFG' function and is used in several places. ATutor normally uses $_SERVER['PHP_SELF'] to get its URL however it cannot be used for this module as the value is affected by the implementation of virtual URLs in MyStuff. For now, a config variable ($_config['atutor_url']) is being added along with the module to make it work. HeaderAnother file that requires editing is moodleHeaderV2.php (under /includes). There exist lines that search for the Moodle config file or call Moodle functions directly (without going through the MoodleConnector.class.php) so they need to be commented out or redefined in MoodleConnector.class.php. The value $portfolioStyleHeader (for writing the style header for MyStuff) can be copied to $_custom_head which can be displayed from ATutor's header (which is simply ATutor's header.inc.php copied over to /includes/atutorHeader.inc.php). Install LocationAnother requirement for making MyStuff work with ATutor is for the source code to be installed under /mod/portfolio in ATutor (as seen in ContextHelper.class.php - line 233). This poses an issue with ATutor standards as all external modules are normally installed under the /mods folder (note the ending 's') so that it can be properly detected and installed dynamically by ATutor's module handler. Summary of Issues and Plan for Next Stages
|
On this Page Screenshots |
