Mahara与moodle集成构建基于sns的学习网站.docx

上传人:b****5 文档编号:12358067 上传时间:2023-04-18 格式:DOCX 页数:18 大小:450.61KB
下载 相关 举报
Mahara与moodle集成构建基于sns的学习网站.docx_第1页
第1页 / 共18页
Mahara与moodle集成构建基于sns的学习网站.docx_第2页
第2页 / 共18页
Mahara与moodle集成构建基于sns的学习网站.docx_第3页
第3页 / 共18页
Mahara与moodle集成构建基于sns的学习网站.docx_第4页
第4页 / 共18页
Mahara与moodle集成构建基于sns的学习网站.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

Mahara与moodle集成构建基于sns的学习网站.docx

《Mahara与moodle集成构建基于sns的学习网站.docx》由会员分享,可在线阅读,更多相关《Mahara与moodle集成构建基于sns的学习网站.docx(18页珍藏版)》请在冰豆网上搜索。

Mahara与moodle集成构建基于sns的学习网站.docx

Mahara与moodle集成构建基于sns的学习网站

Mahara与moodle集成构建社交型学习网站

1.项目介绍1

1.1.Mahara介绍1

1.2.Moodle介绍2

1.3.Mahara与moodle集成2

2.服务器环境安装2

2.1.基本环境需求2

2.2.组件支持2

2.3.推荐环境和本文所使用的实际环境。

3

2.4.安装步骤3

3.网站源码安装3

3.1.mahara的安装3

3.2.moodle安装3

3.3.配置mahara和moodle的单点登录4

3.3.1.解决有些情况下mahara的networking不能打开的问题4

3.3.2配置networking(网络)7

3.3.3配置moodle的网络(networking)8

3.3.4配置mahara的机构8

3.3.5.配置moodle的单点登录10

3.3.6.实现从moodle到mahara的漫游12

3.3.7实现从mahara到moodle的漫游。

14

4后续工作16

1.项目介绍

1.1.Mahara介绍

Mahara是一个开放源码的电子档案系统(opensourcee-portfoliosystem),它包含了电子档案(electronicportfolio),博客(webblog),社会网络系统(socialnetworkingsystem),把人联系起来,并创建在线的学习社区(onlinelearnercommunities)。

它提供了个人自我学习及成长发展的工具及环境,您可以一门课程,建立一个博客,在这个博客里,您可以记录您学习此课程的心得及历程,此博客您可以分享给教师或同学,让他们了解您学习此课程的状况及进度。

教师也可以在学期未根据同学的课程博客内容来评定同学的学习成果。

Mahara与其它e-portfolio软件最大的不同,在于使用者可以决定历程档案的大纲和内容。

这些内容会统整在一个类似网页的页面,在Mahara中,我们称之为视图。

使用者可以依据不同的内容、目的以及观看的对象,建立多个视图。

您可以上传任何与学习相关的档案(如报告,作业,心得或任何学习资源)。

这些档案除了您个人专用外,您也可以透过建立作品集方式分享给您的同学或朋友。

1.2.Moodle介绍

Moodle是澳大利亚教师MartinDougiamas基于建构主义教育理论而开发的课程管理系统,是一个免费的开放源代码的软件,目前在各国已广泛应用。

Moodle这个词是ModularObject-OrientedDynamicLearningEnvironment,即模块化面向对象的动态学习环境的缩写。

是一个用来建设基于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平台。

本文所使用的环境为WindowsXPsp232位系统+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无法找到f的配置文件,而openssl的openssl_pkey_new,openssl_csr_new,openssl_csr_sign,openssl_pkey_export几个函数都需要该文件,从而导致networking功能无法打开。

其实xampp的apache的环境变量里面有那个文件的位置,但php就是找不到,设置windows环境变量能方法更是毫无效果。

这种事情在linux主机上应该不会出现。

补救的办法是给那几个函数增加一个config参数,指明f的路径。

以下是我修改的OpenSslRepo类的一个私有函数,在mahara的mahara\api\xmlrpc\lib.php里面,红色加粗是我修改的部分。

privatefunctiongenerate_keypair(){

       $host=get_hostname_from_uri(get_config('wwwroot'));

        //此处省略若干行

             );

       //ensureweremovetrailingslashes

       $dn["commonName"]=preg_replace(':

/$:

','',$dn["commonName"]);

  

       $opensslconf=getenv(OPENSSL_CONF);//获取Apache环境变量里德f路径,如

      //果你装的不是xampp,可以考虑把getenv(OPENSSL_CONF)改成绝对路径如

      //E:

\\apache\\bin\\f

  $config=array("config"=>$opensslconf);

       if(!

$new_key=openssl_pkey_new($config)){

           thrownewConfigException(get_string('errorcouldnotgeneratenewsslkey','auth'));

       }

       if(!

$csr_rsc=openssl_csr_new($dn,$new_key,array('private_key_bits',2048,"config"=>$opensslconf))){

           //Thisbehaviourhasbeenobservedoncebefore,onanubuntuhardybox.

           //Thephp5-opensslpackagewasinstalledbutsomehowopenssl

           //wasn't.

           thrownewConfigException(get_string('errorcouldnotgeneratenewsslkey','auth'));

       }

       $selfSignedCert=openssl_csr_sign($csr_rsc,null,$new_key,365,$config);

       unset($csr_rsc);//Freeuptheresource

       //Weexportourself-signedcertificatetoastring.

       openssl_x509_export($selfSignedCert,$this->keypair['certificate']);

       openssl_x509_free($selfSignedCert);

       //Exportyourpublic/privatekeypairasaPEMencodedstring.You

       //canprotectitwithanoptionalpassphraseifyouwish.

       $export=openssl_pkey_export($new_key,$this->keypair['keypair_PEM'],"mypassword",$config);      

 openssl_pkey_free($new_key);

       unset($new_key);//Freeuptheresource

       //Calculatefingerprints

       $this->calculate_fingerprints();

       return$this;

   }

注意对于openssl_pkey_export函数,因为加config的缘故第三个参数即密码也不得不加上(不能省略中间一个默认参数),这样就给别的地方的解密带来麻烦,故还要改一个地方。

同一个文件中OpenSslRepo类的构造函数中,红色部分是我加的密码,原来该密码为默认省略。

privatefunction__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考虑到了这个问题,有关于f的配置考虑。

只需要在moodle的配置文件里,添上一条$CFG->opensslcnf='E:

\xampp\apache\bin\f';就足以解决问题。

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方向改成wessoout,并提交。

回到首页。

首页出现一个网络服务器(台湾叫做网络伺服器),内含一个,指向moodle的链接。

点击链接就可以漫游到moodle,并可以享有moodle用户一样的权限,可以选课等。

Mahara用户从mahara漫游到moodle,还可以在漫游回来。

但是原来的moodle用户却不能再漫游到mahara了,这个SSO只能选择一种方向。

所以系统集成以后,应以mahara为主,用户在mahara上注册,同时可以使用moodle的功能,在moodle上注册的用户不能使用mahara的功能。

4后续工作

单点登录完成以后,还要进行一些后续工作,比如在moodle对远程用户的权限进行详细的配置,在moodle上建立课程,并设置权限。

丰富mahara上的内容和设置等。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 企业管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1