Microsoft Office SharePoint Portal Server 2003 将业务流程中的人员、工作组和知识连接在一起。它将分散的信息统一起来,便于就文档、项目和其他工作进行协作,并根据用户的功能组和组织角色呈现特定应用程序和自定义内容。SharePoint Portal Server 可与 Microsoft Windows 资源管理器、Microsoft Office 应用程序和 Web 浏览器协同工作,帮助您在整个组织范围内创建、管理和共享内容。
借助于 Microsoft Windows Server 2003,SharePoint Portal Server 与 Microsoft Office 2003、Microsoft Windows SharePoint Services 和 Microsoft SQL Server 2000 SP3 集成在一起,创建将整个组织连接起来的统一门户网站。
SharePoint Portal Server 提供以下方面的解决方案:
用户的个人环境
在Windows 2003 Server 中提供了Windows SharePoint Service,应该说它是SharePoint Portal Server 2003的简化版本,区别主要就在于功能较少,比如说没有“My Site”,不能与Biztalk、Exchange Server 等结合使用...更详细的信息可以参考:http://www.microsoft.com/sharepoint/evaluationoverview.asp。
如果你没有安装Windows 2003 Server也没有关系,你可以到 www.sharepointtrial.com 申请一个三十天的试用(对于想我这种入门级的人是够用了)。
SharePoint 本身提供了非常强大的功能,基于Web Part的概念,你可以不使用任何代码编辑软件(包括HTML代码和程序代码)构建一个非常强大的公司门户网站,实现公司、团队间的资源共享。据说微软使用SharePoint 2003 Server 搭建的系统大大提高了微软的工作效率。
但是对于程序员来说往往不会满足现有的功能,这时候你可以通过编程开发的方法来扩充SharePoint的功能,比如说你想放一个小型的日历在首页,这时仅仅通过SharePoint提供的功能很难实现,就需要自己扩充它的功能了。
在了解如何扩充SharePoint之前,首先应该了解一下SharePoint 的架构:
1、SharePoint 的基础:WebPart Pages。虽然SharePoint 是基于asp.net的一个解决方案,使用的也是asp.net的web form,但是它与普通的web页面具有一定的区别,那就是SharePoint中大部分的页面都是所谓的Web部件页(WebPart Pages),WebPart Page本身继承自System.Web.UI.Page,但是与普通的Web Form不一样,不能在WebPart Page 放入服务器端代码,它的所有功能都是依赖于放置在其上的Web部件来实现。因此,WebPart Pages 实际上就是由一部分静态的HTML代码和大部分的Web部件构成。换句话说,日后你需要扩充SharePoint的功能,就是通过开发自己的Web部件来实现的(后面还将介绍Web部件的开发)。
2、WebPart(Web部件):实质为一个服务器端控件(asp.net的Web自定义控件)。一般来说自己开发的WebPart继承自:Microsoft.SharePoint.WebPartPages.WebPart,不是继承自WebControl。但是开发WebPart与开发asp.net Web自定义没有太大的区别。
2、SharePoint的对象模型。SharePoint本身包含了很多的数据,在开发自己的Web部件往往需要访问这些数据。你可以直接访问数据库,但这并不是明智的选择,因为sharePoint的数据库实在太负责。为此,SharePoint提供了另外两种方便的方法:Web Services和SharePoint 自带的对象模型。
在新建SharePoint站点时,SharePoint服务器将自动创建一系列的Web Service供你访问SharePoint的数据。如图:
图中列出了可以访问和操作SharePoint中所有列表的方法。
但是这些方法处理起来并不是很方便,因为他们的返回值一般都是 XMLNode,这里包含了很多内容,你还需要特殊处理才能得到所需的结果。
使用SharePoint自身的对象模型是最简单的方法。
可用对象模型实现的功能:
1从 WSS 列表增添, 修改, 删除, 获取数据
2建立新的列表和设置列表参数 (比如建立 域 field)
3设置网站参数
4修改文档库内的文档
5进行管理工作,如创建网站,添加用户,建立用户组, 等
6 几乎 UI 内的所有功能都能用 OM 来 Automate
下面是一段代码:
SPWeb web = SPControl.GetContextWeb(Context);
SPList tasks = web.Lists["Tasks"];
SPListItemCollection items=tasks.Items;
foreach(SPListItem item in items)
{
output.Write(item["Title"].ToString() + item["Status"].ToString() + "<br>");
}
这段代码访问当前SharePoint站点的任务列表。
通过该对象模型几乎可以完成所有的工作。
后面的文章介绍一下Web Part的开发和该对象模型的具体使用。
先给出一点学习的资料:
视频资料:http://www.microsoft.com/china/office/sharepoint/prodinfo/videos.mspx
示例代码和视频资料:http://www.sharepointcustomization.com
msdn的SharePoint专栏:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/spptsdk/html/CreateABasicWP.asp?frame=true