| 名师博客 | 地址 |

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mahara 是一个开放源码的电子档案系统(open source e-portfolio system), 它包含了电子档 案(electronic portfolio) ,博客(webblog),社会网络系统(social networking system),把人联系 起来,并创建在线的学习社区(online learner communities)。它提供了个人自我学习及成长发 展的工具及环境,您可以一门课程,建立一个博客,在这个博客里, 您可以记录您学习此课 程的心得及历程,此博客您可以分享给教师或同学 , 让他们了解您学习此课程的状况及进 度。教师也可以在学期未根据同学的课程博客内容来评定同学的学习成果。 Mahara 与其它 e-portfolio 软件最大的不同,在于使用者可以决定历程档案的大纲和内 容。这些内容会统整在一个类似网页的页面,在 Mahara 中,我们称之为视图。使用者可以 依据不同的内容、目的以及观看的对象,建立多个视图。 您可以上传任何与学习相关的档案(如报告, 作业, 心得或任何学习资源)。这些档案除 了您个人专用外, 您也可以透过建立作品集方式分享给您的同学或朋友。 1.2.Moodle 介绍 Moodle 是澳大利亚教师 Martin Dougiamas 基于建构主义教育理论而开发的课程管理 系统, 是一个免费的开放源代码的软件, 目前在各国已广泛应用。 Moodle 这个词是 Modular Object-Oriented Dynamic Learning Environment , 即模块化面向对象的动态学习环境 的缩写。是一个用来建设基于 Internet 的课程和网站的软件包。 Moodle 平台依据社会建 构主义的教学思想,即教育者(老师)和学习者(学生)都是平等的主体,在教学活动中, 他们相互协作,并根据自己已有的经验共同建构知识。 Moodle 平台界面简单、精巧。使用者可以根据需要随时调整界面,增减内容。课程列 表显示了服务器上每门课程的描述, 包括是否允许访客使用, 访问者可以对课程进行分类和 搜索,按自己的需要学习课程。 Moodle 平台还具有兼容和易用性。可以几乎在任何支持 PHP 的平台上安装,安装过 程简单。只需要一个数据库(并且可以共享) 。它具有全面的数据库抽象层,几乎支持所有 的主流数据库(除了初始表定义) 。利用 Moodle ,现今主要的媒体文件都可以进行传送, 这使可以利用的资源极大丰富。 在对媒体资源进行编辑时, 利用的是用所见即所得的编辑器, 这使得使用者无需经过专业培训,就能掌握 Moodle 的基本操作与编辑。 Moodle 注重全 面的安全性,所有的表单都被检查,数据都被校验, cookie 是被加密的。用户注册时,通 过电子邮件进行首次登陆, 且同一个邮件地址不能在同一门课程中进行重复注册, 所有这些, 都使得 Moodle 的安全性得到了加强。目前,Moodle 项目仍然在不断的开发与完善中。 1.3.Mahara 与 moodle 集成 Mahara 与 moodle 结合能发挥两者的优势,构建一个社交型的学习社区。实现整合的方 法是利用单点登录来实现用户的共享。 2.服务器环境安装 2.1.基本环境需求 因为 mahara 和 moodle 都是用 php 写成的系统,所以要求支持 php 的服务器环境,数据 库使用 mysql 或者 postgres 皆可。服务器可以是 apache 或者 IIS,可以运行在 windows 下或 者 linux 下。 2.2.组件支持 因为 mahara 和 moodle 需要用到一些特性,需要一些组件的支持。 1.apache 组件 (1)SSL 模块 (2)php 模块 (3)mysql 模块 2.php 扩展 (1)gd 库 (2)libxml (3)curl (4)mysql (5)openssl 以上说明可能还不够全面。 2.3.推荐环境和本文所使用的实际环境。 推荐使用经典的 linux+apache+php+mysql 平台。 本文所使用的环境为 Windows XP sp2 32 位系统+Xampp 集成安装包。 2.4.安装步骤 Xampp 的安装基本使用默认配置。 3.网站源码安装 3.1.mahara 的安装 1 从网上下载最新的 mahara 源码包,zip 格式(用于 windows) 。 2 解压源码包, 把文件夹里面的 htdocs 文件夹改名 mahara 或者你想要的名字, 并复制到 xampp 的 htdocs 文件夹中。作为网站根目录的一个子目录 3.在 mysql 里面见一个新数据库,字符集选择 utf-8。 4.复制 mahara 目录下的 config-dist.php 文件为 config.php。并修改其中的配置,指定 mysql 用户名,密码,数据库名,其余的不用改。 5 通过浏览器访问你的 mahara 目录例如 http://localhost/mahara/。 将会出现一个协议页面,确定,下一步。 6 如果出现提示缺 curl,修改 php.ini 文件 php_curl.php 扩展前面的;去掉,并重启 apache。 7 根据提示按下一步,就可完成安装操作。最后一步会提示并创建管理员账户 8 管理员登入系统后就可以进行一系列操作 9 汉化 mahara, 可以到官方网站下载语言包, (目前只有繁体中文版) , 并直接复制到 mahara 的目录里,语言包里的文件夹要与 mahara 的文件夹对应,复制时,会提示是否覆盖,点是 即可。然后站点配置的语言选项里就增加了中文一项,选择并更新,系统界面就变成繁体中 文。 3.2.moodle 安装 1.从官方网站下载 moodle 的标准包。 2.解压后把主体内容复制到服务器目录下。 3 通过浏览器访问 moodle 目录,根据提示安装即可。 4 安装过程中有详细的提示,如创建配置文件,下载语言包等,根据实际情况填写。因为 moodle 的数据库较复杂,故时间较长。 3.3.配置 mahara 和 moodle 的单点登录 3.3.1. 解决有些情况下 mahara 的 networking 不能打开的问 题 在 windows 系统 xampp 集成环境下(其他环境也可能有类似情况),有时候,php 无 法找到 openssl.cnf 的配置文件,而 openssl 的 openssl_pkey_new,openssl_csr_new,openssl_csr_sign,openssl_pkey_export 几个函数都需要该 文件,从而导致 networking 功能无法打开。其实 xampp 的 apache 的环境变量里面有那个文 件的位置,但 php 就是找不到,设置 windows 环境变量能方法更是毫无效果。这种事情在 linux 主机上应该不会出现。补救的办法是给那几个函数增加一个 config 参数,指明 openssl.cnf 的路径。 以下是我修改的 OpenSslRepo 类的一个私有函数, 在 mahara 的 mahara\api\xmlrpc\lib.php 里面,红色加粗是我修改的部分。 private function generate_keypair() { $host = get_hostname_from_uri(get_config('wwwroot')); //此处省略若干行 ); // ensure we remove trailing slashes $dn["commonName"] = preg_replace(':/$:', '', $dn["commonName"]); $opensslconf = getenv(OPENSSL_CONF);//获取 Apache 环境变量里德 openssl.cnf 路 径,如 //果你装的不是 xampp,可以考虑把 getenv(OPENSSL_CONF)改成绝对路径如 //E:\\apache\\bin\\openssl.cnf $config = array("config" => $opensslconf); if (!$new_key = openssl_pkey_new($config)) { throw new ConfigException(get_string('errorcouldnotgeneratenewsslkey', 'auth')); } if (!$csr_rsc = openssl_csr_new($dn, $new_key, array('private_key_bits',2048,"config" => $opensslconf))) { // This behaviour has been observed once before, on an ubuntu hardy box. // The php5-openssl package was installed but somehow openssl // wasn't. throw new ConfigException(get_string('errorcouldnotgeneratenewsslkey', 'auth')); } $selfSignedCert = openssl_csr_sign($csr_rsc, null, $new_key, 365 ,$config); unset($csr_rsc); // Free up the resource // We export our self-signed certificate to a string. openssl_x509_export($selfSignedCert, $this->keypair['certificate']); openssl_x509_free($selfSignedCert); // Export your public/private key pair as a PEM encoded string. You // can protect it with an optional passphrase if you wish. $export = openssl_pkey_export($new_key, $this->keypair['keypair_PEM'] ,"mypassword",$config); openssl_pkey_free($new_key); unset($new_key); // Free up the resource // Calculate fingerprints $this->calculate_fingerprints(); return $this; } 注意对于 openssl_pkey_export 函数,因为加 config 的缘故第三个参数即密码也不得不 加上(不能省略中间一个默认参数),这样就给别的地方的解密带来麻烦,故还要改一个地 方。同一个文件中 OpenSslRepo 类的构造函数中,红色部分是我加的密码,原来该密码为默 认省略。 private function __construct() { if (empty($this->keypair)) { $this->get_keypair(); $this->calculate_fingerprints(); $this->keypair['privatekey'] = openssl_pkey_get_private($this->keypair['keypair_PEM'],"mypassword"); $this->keypair['publickey'] = openssl_pkey_get_public($this->keypair['certificate']); } return $this; } 改了以上部分, mahara 的 networking 能够正常使用了。 不过 moodle 里面也有一个 networking 功能,会出现同样的问题,不过那个容易解决一些,因为 moodle 考虑到了这个问题,有关 于 openssl.cnf 的配置考虑。只需要在 moodle 的配置文件里,添上一条$CFG->opensslcnf= 'E:\xampp\apache\bin\openssl.cnf';就足以解决问题。 3.3.2 配置 networking(网络) 3.3.3 配置 moodle 的网络(networking) 3.3.4 配置 mahara 的机构 增加一个新机构 填入相应信息,更新后会出现下图。 在默认插件里选在 xmlrpc,点增加,会出现一个新页面如下 其中网站目录必须和实际 moodle 的目录一致。填完后提交。如果成功说明成功与 moodle 进行了通信,否则检查 moodle 的网络(networking)功能是否正常打开。 3.3.5.配置 moodle 的单点登录 添加一个新的 host,如果通信成功则出现下面页面,显示 mahara 的公共密钥,右面出现一 个服务选项卡,进一步打开服务选项卡 选中图中所示选项,保存即可。 3.3.6.实现从 moodle 到 mahara 的漫游 在角色管理里面点击授权用户右面的 edit,打开用户权限配置界面如下,设置云允许漫游到 远程站点。 在首页添加新模块(网络服务器) ,就可以添加一个到选择 mahara 的链接。 点击该链接就可以漫游到 mahara 上,并且拥有 mahara 用户一样的权限。 3.3.7 实现从 mahara 到 moodle 的漫游。 首先要把 moodle 的 host 的服务配置改成和刚才的情形相反。如图 然后,以 admin 登录 mahara,到配置机构的页面,打开刚才定义的认证插件,如下图 把父权限改成内部,吧 sso 方向改成 we sso out,并提交。回到首页。首页出现一个网络服 务器 (台湾叫做网络伺服器) , 内含一个, 指向 moodle 的链接。 点击链接就可以漫游到 moodle, 并可以享有 moodle 用户一样的权限,可以选课等。 Mahara 用户从 mahara 漫游到 moodle,还可以在漫游回来。但是原来的 moodle 用户却不能 再漫游到 mahara 了,这个 SSO 只能选择一种方向。所以系统集成以后,应以 mahara 为主, 用户在 mahara 上注册,同时可以使用 moodle 的功能,在 moodle 上注册的用户不能使用 mahara 的功能。 4 后续工作 单点登录完成以后,还要进行一些后续工作,比如在 moodle 对远程用户的权限进行详 细的配置,在 moodle 上建立课程,并设置权限。丰富 mahara 上的内容和设置等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值