MOSS 2007 入门(7) : Navigation
MOSS2007中的站点导航是基于ASP.NET的Navigation机制的,实际上在Masterpage中是可以任意定制页面中的导航控件的。在默认的TeamSite的Default.aspx中导航控件一共有三个.在MOSS中所有导航栏都是通过ASP:Menu控件或是ASP:TreeView控件绑定到一个NavigationDataSource实现的,因此每一个导航菜单都有两个控件共同实现。首先是一个ASP:Menu控件定义导航栏的样式和层级属性,其次是有一个 asp:SiteMapDataSource或SPNavigationProvider来作为导航栏的数据源。 打开Default.Mater可以发现,三个导航栏的实现各有不同,顶部的导航栏是通过一个SharePoint:DelegateControl动态加载asp:SiteMapDataSource作为数据源的,而左侧的两个则是通过SharePoint:DelegateControl动态加载一个SPNavigationProvider实现的数据源。 顶部的导航栏代码如下: <SharePoint:AspMenu ID=”TopNavigationMenu” Runat=”server” DataSourceID=”topSiteMap” EnableViewState=”false” AccessKey=”<%$Resources:wss,navigation_accesskey%>” Orientation=”Horizontal” StaticDisplayLevels=”2″ MaximumDynamicDisplayLevels=”1″ DynamicHorizontalOffset=”0″ StaticPopoutImageUrl=”/_layouts/images/menudark.gif” StaticPopoutImageTextFormatString=”” DynamicHoverStyle-BackColor=”#CBE3F0″ SkipLinkText=”” StaticSubMenuIndent=”0″ CssClass=”ms-topNavContainer”> <StaticMenuStyle/> <StaticMenuItemStyle CssClass=”ms-topnav” ItemSpacing=”0px”/> <StaticSelectedStyle CssClass=”ms-topnavselected” /> <StaticHoverStyle CssClass=”ms-topNavHover” /> <DynamicMenuStyle BackColor=”#F2F3F4″ BorderColor=”#A7B4CE” BorderWidth=”1px”/> <DynamicMenuItemStyle CssClass=”ms-topNavFlyOuts”/> <DynamicHoverStyle CssClass=”ms-topNavFlyOutsHover”/> <DynamicSelectedStyle CssClass=”ms-topNavFlyOutsSelected”/> </SharePoint:AspMenu> <SharePoint:DelegateControl runat=”server” ControlId=”TopNavigationDataSource”> <Template_Controls> <asp:SiteMapDataSource ShowStartingNode=”False” SiteMapProvider=”SPNavigationProvider” id=”topSiteMap” runat=”server” StartingNodeUrl=”sid:1002″/> </Template_Controls> </SharePoint:DelegateControl> 其中aspmenu的使用没什么难度,用户可以自定义CSS样式和定义一些显示的级次。这里插入一个SharePoint CssRegistration控件的用法,就是自定义CSS文件,前面有一篇文章我曾经专门讲过如何自定义CSS文件,这里介绍一个CssRegistration的用法,在SharePoint页面的Head中加入: <SharePoint:CssRegistration name=”<% $SPUrl:~Site/CustormStyle.css%>” runat=”server”/> 其中,name为该CSS文件的地址。 值得一提的是下面的DelegateControl控件动态加载了一个SiteMapDataSource,其中SiteMapProvider=”SPNavigationProvider”才是真正的指定数据源,而后面的StartingNodeUrl=”sid:1002″则定义了该站点导航栏的起始位置,注意左侧的导航栏的起始位置和顶部的就不一样。因为顶部的导航栏通常都是从SiteCollection开始的,而左侧的导航栏是从当前站点开始的。ok,就是说可以通过更改顶部导航栏的MaximumDynamicDisplayLevels来让顶部导航栏显示更多的级次,从而显示站点中定义的List , Document Libraries等。 开发人员可以通过定义一个XMLDataSource,然后将ASPMenu的DataSourceID指向XMLDataSource的ID来实现自定义的导航栏。例如写一个XMLDataSource 如下。 <asp:Menu DataSourceID=”DemoXmlDataSource” ID=”DemoCustomMenu” runat=”server” BackColor=”#F1F1F1″ DynamicHorizontalOffset=”2″ Font-Names=”Verdana” ForeColor=”#990000″ StaticSubMenuIndent=”0″ Orientation=”Vertical” StaticDisplayLevels=”2″ ItemWrap=”true” MaximumDynamicDisplayLevels=”0″> <DataBindings> [...]
MOSS 2007 入门(6) : 使用一个Code-behind的用户控件作为WebPart
在MOSS 2007中有几种Webpart的部署方式: 1 使用Asp.net 2.0的Webpart,声明SafeContorl之后上载到Sharepoint的Webpart gallery中,MSDN上的Walkthrough: Creating a Basic Web Part 有详细介绍. 2 使用SharePoint的Webpart,装一个VS Extensions for SharePoint之后有一个项目类型叫做webpart,写一个webpart,然后F5,就会把webpart部署到你的SharePoint的站点中.实际上也是部署了一个Feature. 其原理MSDN上也有介绍:Walkthrough: Creating a Basic SharePoint Web Part 3 kaneboy在他的blog中提到过使用Feature的部署DelegateContorl的方式部署一个ascx文件到站点集的Feature。 以上三种方式各有优缺点,前两种方式采用纯粹的Webpart的形式,开发起来很麻烦,特别是一些丰富的用户界面会变得很麻烦。第三种方式虽然解决了前两种方式的不足,但是没有Code-behind,做企业级开发把code写在ascx文件中实在有点不合适,而且使用Feature部署以后管理起来不是很方便。那么今天我就来Demo一种使用Code-behind用户控件作为WebPart的方式,而且将部署的UserContorl便于管理。 这里使用一个工具叫SmartPart,这个工具在WSS 2.0时代就有,现在又针对与WSS 3.0的版本。下载回来一个msi安装包,不知道为什么我在两个VPC上安装都没有成功,解压缩到临时目录下之后就没反映了。没办法,一些还得自己动手丰衣足食阿。在临时目录下有一个Cab文件,把这个文件打开之后研究一下,大概明白了安装的步骤。 Step(1): 将SmartPart.dll部署到GAC. Step(2):新建一个Web Project,在里面开发你的用户控件,Demo的用户控件叫UCPart.ascx。 前台代码: <%@ Control Language=”C#” CodeFile=”UCPart.ascx.cs” Inherits=”DemoWebPart.UCPart” CompilationMode=”Always” %> <asp:TextBox ID=”txbDate” runat=”server”></asp:TextBox> 后台代码: using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; namespace DemoWebPart { public partial class UCPart : System.Web.UI.UserControl { protected void Page_Load(object sender, EventArgs e) { [...]
MOSS 2007入门(5) : 使用Feature定义站点中的菜单项
前面的文章提到了:Everything is feature.今天就来讲讲feature的使用.在MOSS 2007中feature功能之强大超乎想象,可以说对一个已有的网站功能性的增强最后多数都要通过feature来实现.例如添加webpart,实现Event Handler等等…今天就做一个使用feature定义网站中的菜单项的Demo. Step(1):在网站中创建一个页面,存放于一个文档库中,这里我创建的页面在文档库SiteCollectionDocuments下testpage.aspx,那么这个页面的引用路径就是<%siteurl%>/SiteCollectionDocuments/testpage.aspx . Step(2):在12\TEMPLATE\FEATURES文件架下新建一个文件夹叫LinkToPage,在文件夹下创建Feature.xml.内容如下. <?xml version=”1.0″ encoding=”utf-8″ ?> <Feature Id=”C86A92EA-A5D3-4d65-855C-0557AE5D065A” Title=”Link To Page” Description=”This example show how to create a menu linke to a customize page!” Version=”1.0.0.0″ Scope=”Site” AlwaysForceInstall=”TRUE” xmlns=”http://schemas.microsoft.com/sharepoint/”> <ElementManifests> <ElementManifest Location=”LinkToPage.xml” /> </ElementManifests> </Feature> Feature元素的几个属性说明一下: Id:这里要使用vs的guid工具生成一个guid,copy过来就可以 Title 和 Description分别是Feature的标题和描述. Scope这个属性比较重要:是一个枚举值,是用来描述这个feature的作用范围.这里选择:site AlwaysForceInstall:这个属性设置为true 可以在重复安装这个feature中自动覆盖原来安装的那个相同的feature. ElementManifest的location属性制定一个描述feature内容的xml文件,这里叫做LinkToPage.xml Step(3):建立上一步中的LinkToPage.xml,内容如下. <?xml version=”1.0″ encoding=”utf-8″ ?> <Elements xmlns=”http://schemas.microsoft.com/sharepoint/”> <CustomAction Id=”LinkToPageInactionsMenu” RegistrationType=”List” RegistrationId=”101″ GroupId=”ActionsMenu” Location=”Microsoft.SharePoint.StandardMenu” Sequence=”1000″ Title=”Link To Page” Description=”This is action menu” > <UrlAction Url=”~sitecollection/SiteCollectionDocuments/testpage.aspx”/> </CustomAction> <CustomAction Id=”LinkToPage” RegistrationType=”List” RegistrationId=”101″ GroupId=”NewMenu” Location=”Microsoft.SharePoint.StandardMenu” Sequence=”1000″ Title=”Link To Page” Description=”This is new menu!” > <UrlAction Url=”~sitecollection/SiteCollectionDocuments/testpage.aspx”/> </CustomAction> </Elements> [...]
MOSS 2007 入门(4) : 站点定义和站点模板
在WSS中有两种方式可以实现对站点的定制:站点定义和站点模板。无论是一个站点定义还是一个站点模板都可以包含对一个WSS站点的定义:其中包括站点的列表、文件、Web part、feature和设置。 模板实际上是包括站点模板和列表模板,当用户通过Web界面或是SharePoint Designer更改一个站点或是列表的定义时,模板中仅仅记录了更改的内容而并没有包含全部定义。一个标准的自定义模板中实际上是引用了其原始的站点定义,所以当一个站点模板部署到一个新的站点上时,其引用的站点定义发生了变化,站点模板有可能就会出错。 站点模板文件的后缀名为.stp,站点模板stp文件中包含了一个站点模板库和一个Mainfest.xml文件,stp文件实际上是一个cab文件,使用站点设置中的将网站另存为模板的功能,可以将把网站模板导出到网站模板库中,下载该stp文件,可以把.stp的后缀名改称.cab打开看看里面的内容。 注意在使用将网占另存为模板这个功能的时候,可以选择包含当前站点的数据的。而保存的.stp文件也可以通过stsadm导入到一个新的站点中。例如导出的stp文件为 DemoSite.stp ,则执行 stsadm -o addtemplate -filename DemoSite.stp -title NewDemoSite -description It’s a new site from DemoSite Template 结果就是可以建立一个新的站点名字为NewDemoSite。 站点定义是用来记录站点类型的,这里的站点类型指的是类似于空白站点、工作组站点、会议类型站点等等的站点,在MOSS 2007中有一句话叫做:Everything is site. 没错,所有的MOSS的用户界面都是依托于站点实现的,其中包括MOSS的管理中心和SSP宿主站点中的定义,这些站点实际上都是依托站点定义实现的,每一个不同类型的站点都有其对应的一套站点定义。像MOSS中新增加的blog站点,wiki站点实际上只是新增一个站点的类型而已,在WSS底层方面并没有为这些不同站点定义什么特殊的功能点。在12-hive文件夹下面有一个template目录,里面是WSS中各种站点类型的定义文件。如果你更改了这些站点定义文件,那么之后新建的站点也会随之更改。打开站点定义的内容会发现,站点定义的内容比较复杂,有xml\aspx\ascx\master\dot\html各种各样类型的文件,其中xml文件中存储了站点的定义规则而其他类型的文件都是为了实现这个站点定义所使用的功能性文件和模板文件。 实际上开发者也可以自己对站点定义新增aspx页面文件,但是这些新增的文件都应处于一个unghosted的状态,并且要在web.config中声明为安全类型,否则将不能被执行,这是为了弥补上载aspx文件后未经声明而采取服务器端调用产生的漏洞。 站点定义中包括著名的四个xml配置文件,可以说这四个文件包含了一个站点的主要定义。 Onet.xml:最重要的定义文件,其中包括站点导航区域、列表定义、模板定义、内容类型定义、站点的配置和功能模块信息等等。位置在:\TEMPLATE\1033\STS\XML. Schema.xml:定义了列表的视图、表单、特殊字段,每一个不同的列表类型有其独立的Schema.xml。位置在:\TEMPLATE\1033\STS\LISTS\. WebTemp.xml:包含了站点定义的一些配置信息。位置在:\TEMPLATE\1033\XML. DocIcon.xml:顾名思义,定义了不同文档类型的打开方式和图标。位置在:\TEMPLATE\XML. 微软强烈不推荐更改以上四个文件,即使新的站点定义也要在试图修改这四个文件。因为这四个文件的更改可能会导致你的MOSS站点彻底崩溃或影响以后的升级等等… 那么当开发人员对一个站点进行定制化开发的时候,使用哪种方法比较合适呢?其实两种方式有各自的优缺点,要根据不同情况来选择,微软在MSDN中给出了如下的一些比较: 站点定义比站点模板的优势在于: 数据直接存储与web server上,性能上要好。 直接修改Schema.xml能达到更高的定制化程度。其中包括新的文件类型定义、视图样式、一些菜单的更改等等。 站点定义的缺点有: 自定义站点的难度比较高,需要开发人员熟悉站点定义所使用的CAML语言。 开发站点定义文件之后,部署一个新的站点定义是一个难题。 站点定义中不能指定站点的主题。 站点定义需要具有服务器的管理员权限,直接操作服务器的文件。 站点模板比站点定义的优势在于: [...]
MOSS 2007 入门(3) : 建立一个最精简的母版页
当你配置一个MOSS站点时,第一步中通常会建立一个或多个母版页。使用母版页可以包含很多MOSS站点中的元素,例如导航栏、搜索文本框、登陆控件等等,也包含了对定义站点统一样式的CSS文件。MOSS的站点和站点中所有的页面都是通过母版页来实现统一的用户体现和风格。根据你的需要,也可以对站点集中不同的站点使用不同的母版页来区分每个站点所处于门户中的区域。 当你在MOSS中定义一个站点级时,系统会自动地创建一个母版页库包含了所有的母版页和站点集的页面布局。如果这个站点集用到了发布门户或是协作门户模板,则母版页库中会包含几个不同的母版页,你可以选择使用不同的母版页使站点看起来更加个性化。 在MOSS页面定制中建立母版页是最重要的第一步,它将花费很多时间才能完成。本文将讲述如何建立一个满足MOSS要求的最精简功能的母版页,后面的代码会提供一个仅能保证MOSS页面控件正常布局的母版页。 你可以随便的建立一个空的母版页,但是我们不推荐这样做,因为一个完全空白的母版页中并不包含能使MOSS页面模型正常工作的Content PlaceHolder。而下面的示例代码中会包含所有必须的Content PlaceHolder。 你可以使用记事本,类似于Sharepoint 2007 Designer的Web编辑器,类似于VS 2005的IDE来编辑母版页,本文使用的是Sharepoint 2007 Designer 。 MOSS 要求一个母版页必须包含标题、图标、登陆、搜索等区域和一些基础结构元素包括页面区域、分格栏、边框、控制台和描述文字PlaceHolder。 MOSS提供的母版页需要基于WSS的SPWeb类下的SPWeb.CustomMasterUrl。 建立一个最精简的母版页步骤如下。 step(1): 打开Sharepoint Designer. step(2): 在文件菜单点击New,选择Sharepiont Content,选择Page 标签。 step(3): 双击母版页来创建一个母版页。 step(4): 选择在设计模式下查看母版页,母版页覆盖了头部和左边的一些区域,几个content placeholders是可见的。 step(5): 选择在代码模式下查看母版页。 step(6): 把下面的代码拷贝并粘贴到母板页中。 <%– Identifies this page as a .master page written in C# and registers tag prefixes, namespaces, assemblies, and controls. –%> <%@ Master language=”C#” %> <!DOCTYPE html PUBLIC ”-//W3C//DTD HTML 4.01 Transitional//EN” ”http://www.w3.org/TR/html4/loose.dtd”> <%@ Import Namespace=”Microsoft.SharePoint” %> <%@ Register Tagprefix=”SPSWC” Namespace=”Microsoft.SharePoint.Portal.WebControls” Assembly=”Microsoft.SharePoint.Portal, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c” %> <%@ Register Tagprefix=”SharePoint” Namespace=”Microsoft.SharePoint.WebControls” Assembly=”Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c” %> <%@ Register Tagprefix=”WebPartPages” Namespace=”Microsoft.SharePoint.WebPartPages” Assembly=”Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c” %> <%@ Register Tagprefix=”PublishingWebControls” Namespace=”Microsoft.SharePoint.Publishing.WebControls” Assembly=”Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c” %> <%@ Register Tagprefix=”PublishingNavigation” Namespace=”Microsoft.SharePoint.Publishing.Navigation” Assembly=”Microsoft.SharePoint.Publishing, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c” %> <%@ Register TagPrefix=”wssuc” TagName=”Welcome” src=”~/_controltemplates/Welcome.ascx” %> <%@ Register TagPrefix=”wssuc” TagName=”DesignModeConsole” src=”~/_controltemplates/DesignModeConsole.ascx” %> <%@ Register TagPrefix=”PublishingVariations” TagName=”VariationsLabelMenu” src=”~/_controltemplates/VariationsLabelMenu.ascx” %> <%@ Register Tagprefix=”PublishingConsole” TagName=”Console” src=”~/_controltemplates/PublishingConsole.ascx” %> <%@ Register TagPrefix=”PublishingSiteAction” TagName=”SiteActionMenu” src=”~/_controltemplates/PublishingActionMenu.ascx” %> <%– Uses the Microsoft Office namespace and schema. –%> <html> <WebPartPages:SPWebPartManager runat=”server”/> <SharePoint:RobotsMetaTag runat=”server”/> <%– The head section includes a content placeholder for the page title and links to CSS and JavaScript files that run on the server. –%> <head runat=”server”> <asp:ContentPlaceHolder runat=”server” id=”head”> <title> [...]
MOSS 2007 入门(2) 定制站点的CSS文件
在MOSS 2007中所有站点的站点样式都可以被开发者通过附加CSS文件的形式进行重新定义,而且实现起来也很简单。今天我们就来定义一个站点的CSS。 step(1) : 在本地建立一个CSS文件,命名为mycss.css. step(2) : 在需要定义CSS的站点上建立一个文档库,然后将建立好的mycss.css上载到这个文档库当中。 step(3) : 在站点设置中,选择外观选项下的母板页。在站点设置中有两个母板页选项,一个是在外观选项中,一个是在库选项卡中,我们这里要选择的是外观选项下的。 站点设置的外观选项中有可能没有母版的选项,是由于禁用了站点的feature“Office SharePoint Server 发布基础架构”,到站点集功能中启用这个feature即可。 step(4) : 在母板页设置页面中,设置备用CSS URL为指定的文件,浏览选择上载到文档库中的mycss.css,注意这个选择窗口挺有意思,做得和windows的风格很接近,需要双击才能打开其中的文件夹。 step(5) : 在母板页中定义css文件如: .ms-titleimagearea { cursor : hand; } 重新上载这个mycss.css,要选中覆盖原有版本。 step(6) : 看看站点的图标,是不是上去鼠标的指针会变成hand。 在MOSS定义css文件需要对页面内部的元素及其CSS比较熟悉,这里推荐一个工具,The Internet Explorer Developer Toolbar, 是微软推出的一个针对与开发人员的IE插件,安装这个插件之后在IE的View->Explorer Bar中会添加一个DOM Explorer,利用这个工具的”Select Element by Click”功能,会很方便的在当前页面中找到元素的CSS定义,当然了这个工具的功能远远不限于此。 有两个需要提示的地方: tip (1):页面中通用的一些菜单的样式往往是经过多次CSS定义的,因此要对这些样式进行重定义需要对多个CSS进行重新定义。 tip (2):尽量从站点定义的theme.css中把整个样式表copy过来之后对其进行重新定义到你的自定义css中。 enjoy it….
Moss 2007 入门(1) – 功能概述
Microsoft Office Sharepoint Server 2007(MOSS 2007) 是微软最新推出的服务器产品,由于工作原因,在今后的很长一段时间内我的主要工作内容都将为围绕着这个产品展开的,因此开始认真地从头学习这个产品,在学习之余我将把自己学到的东西整理成blog。由于MOSS刚刚发布,因为技术资料比较少,中文的技术资料就更少,我写的东西难免有错漏之处,欢迎指正。OK,let’s go。 熟悉微软Office产品线的人都知道,MOSS 2007的上一个版本SPS 2003的全称是 Office Sharepoint Portal Server,在新版本中,微软去掉了Portal一个词。从这个角度很清楚地看到微软对MOSS 2007的定位,是的,MOSS 已经不再仅仅是一个Portal Server了,虽然Portal仍然是其最主要的一块功能,同时MOSS是一个集成了内容管理(Content Management)、商务智能(BI)、工作流(Workflow)、企业搜索引擎(Enterprise Search Engine)、应用整合(EAI)在内的平台级服务器。 下面对MOSS 2007的新功能作一个简要概述。 Portal 上面提到过Portal仍然是MOSS 2007最主要的一项功能,照比SPS 2003功能有大幅度提升的同时,去掉了2k3中的让人容易混淆的一些概念,使得Portal在架构上更加清晰和明确。门户的概念本身就是为企业提供一个内容管理、知识管理、工作协作的平台。在MOSS 2007中,可以使用全新的站点模板(Site Templet)和站点定义(Site Definitions)的功能定制个性化的门户,使得最终用户可以通过更改预先定义的站点模板和站点定义来更改网站的外观,当然这点在2k3中也可以实现,只不过2k7提供了更加便于操作的一些新功能。MOSS 2007同样支持个人站点这个概念,可以通过两种方式实现个人站点,一种是用户自定义创建的形式,另外一种形式是通过管理员导入User Profile生成个人站点。同样支持最终用户设定一些个人的Web Part,例如我的同事、我的工作之类。User Profile是在MOSS 2007中的一个新功能,MOSS 2007提供了基于不同的形式用户机制,默认是基于AD或workgroup(单机版)的,可以通过更改UserProfileProvider连接到其它的基于LDAP的用户数据库,同样也可以基于ASP.NET 2.0的MemberShip用户库,这点就为将MOSS 2007推广到Internet提供了一个很好的基础。User Profile实际上是将外部用户数据读入到MOSS中,形成针对用户的Profile,基于UserProfile可以授权用户对List或Webpart的可见性(注意对于List列表的内容和Web part的用户功能并不能通过User Profile的授权来控制)。同样MOSS对于读入的User Profile进行存储之后可以进行定制化的扩展。让人感到兴奋的是MOSS终于提供了对移动设备的支持,所有的可以通过浏览器浏览的Web页面都有其移动设备版本。 实际上MOSS中对SPS中的一些站点的概念作过调整,去掉了原来区域和门户这两个概念。在MOSS中,最顶级的一个概念是Web Application,基于Web Application可以建立Site Collocation,SiteCollocation下面是Site,当然了,每一个Site Collocation下面的第一个Site当然就是RootSite,其他的都是基于Root Site 的Child Site。Site实际上是MOSS中最重要的一个对象,在MOSS的概念体系中又一个句话:Everything is Site。实际上连MOSS 的管理站点和SSP管理站点(Shared [...]
开源在线学习系统moodle(企业必备软件)介绍及下载
开源在线学习系统moodle(企业必备软件)介绍及下载 moodle(易魔灯)一句话介绍:一个php开源在线学习,在线课堂系统,可以在线课堂,考试等模式,是企业培训,人力资源相关不可或缺的应用软件! moodle(易魔灯)下载地址:http://download.chinaunix.net/download/0014000/13093.shtml moodle(易魔灯)官方下载地址:http://download.moodle.org/ moodle(易魔灯)皮肤及相关插件等资源:http://www.emoodle.org/wread-2.html Moodle 这个词本是 Modular Object-Oriented Dynamic Learning En vironment(模块化面向对象的动态学习环境)的缩写,同时Moodle 又是一个动词,用来描述一个循序渐进的过程,一个可以引导学习者不断的洞察和创造的过程。正因为如此,这个系统不仅应用于Moodle的开发,还应用于学生或教师对在线课程的学习或教学中,可以帮助教育者建立有效的在线学习社区。 Moodle是澳大利亚教师 Martin Dougiamas 基于建构主义教育理论而开发的课程管理系统, 是一个免费的开放源代码的软件, 目前在各国已广泛应用。 Moodle 这个词是 Modular Object-Oriented Dynamic Learning Environment ,即模块化面向对象的动态学习环境的缩写。是一个用来建设基于 Internet 的课程和网站的软件包。 Moodle 平台依据社会建构主义的教学思想,即教育者(老师)和学习者(学生)都是平等的主体,在教学活动中,他们相互协作,并根据自己已有的经验共同建构知识。 Moodle 平台界面简单、精巧。使用者可以根据需要随时调整界面,增减内容。课程列表显示了服务器上每门课程的描述,包括是否允许访客使用,访问者可以对课程进行分类和搜索,按自己的需要学习课程。 Moodle 平台还具有兼容和易用性。可以几乎在任何支持 PHP 的平台上安装,安装过程简单。只需要一个数据库(并且可以共享)。它具有全面的数据库抽象层,几乎支持所有的主流数据库(除了初始表定义)。利用 Moodle ,现今主要的媒体文件都可以进行传送,这使可以利用的资源极大丰富。在对媒体资源进行编辑时,利用的是用所见即所得的编辑器,这使得使用者无需经过专业培训,就能掌握 Moodle 的基本操作与编辑。 Moodle 注重全面的安全性,所有的表单都被检查,数据都被校验, cookie 是被加密的。用户注册时,通过电子邮件进行首次登陆,且同一个邮件地址不能在同一门课程中进行重复注册,所有这些,都使得 Moodle 的安全性得到了加强。目前,Moodle 项目仍然在不断的开发与完善中。