SharePoint Foundation开发基础
第1章 SharePoint Foundation开发基础
SharePoint能做什么
企业信息门户应用程序工具集(文档库、工作空间、工作流、维基、博客、面向团队的合作列表)可以通过Workspace离线访问工作流宿主二次开发企业内容管理(文档管理、记录管理、Web内容管理)数据的存储中心(LINQ、CAML)服务的宿主(通过基于WCF的客户端对象模型)支持客户端UI订制WPF客户端应用
SharePoint Foundation和SharePoint Server 2010的区别
SharePoint Foundation免费;支持Win 2008 (sp2)/Win2008 R2;开发目的Win7/Vista(sp2);数据量上限4GB,搜索30W条数据
SharePoint Foundation新特性
大量采用Ajax异步调用引入Ribbon
SharePoint2010基础概念
服务器场一系列服务器的集合。Web前端服务器、应用程序服务器、数据库服务器。每个服务器角色分成若干个服务器组。(处理请求、存储索引、负载均衡)(爬网服务器组、查询服务器组、其他应用程序服务器组、沙盒解决方案应用程序服务器组)(搜索服务器、数据库服务器、配置数据服务器、其他数据服务器)SharePoint2010可以搜索1亿条数据,Fast Search Server For SharePoint 2010可以多达10亿条,每个查询最多1000W条。Web应用程序SharePoint2010建立于IIS7.0之上;Web应用程序扩展了IIS网站,具有运行端口、独立身份认证体系、独立应用程序池、独立web.config文件;一个Web应用程序由若干网站集组成,一个网站集只能存储在一个内容数据库中,内容数据库大小限制100GB;建议SharePoint的所有数据都通过SharePoint对象模型API来访问。服务应用程序服务应用程序可以运行于不同的Web应用程序下。常见的服务应用程序:商业连接服务(BCS)、用户档案服务(UPS)、搜索服务(SS)、托管元数据服务(MMS)网站集和网站网站集:一个数据存储和权限分配的独立单位;包含若干网站;必须建立在某个Web应用程序下面。网站:必须建立在网站集下面。字段类型、网站栏、内容类型字段类型:大致同数据库字段类型;栏:字段类型的实例,大致同数据库表列;内容类型:网站栏的集合,可理解为一个一个的模板,(如员工内容类型,包含姓名、生日、邮件地址。)可单独添加到每一个列表或文档库。列表和文档库列表:是存储数据的容器,SharePoint里用来存储数据的基本结构,大致同数据库表。可任意添加栏,可添加内容类型,支持多个内容类型。插入纪录如数据库表;
通知、任务、日历、讨论版、联系人、链接、调查等都是列表的一种。
文档库:一种特殊的列表。表单库、图片库、幻灯片库、维基页面库等都是文档库。列表、文档库都支持版本控制。主要区别:文档库每个纪录有且仅有一个文件存在;
列表里可以没有文件或者若干文件作为附件。
文档集
一组属性相同的文档,如销售类,技术类等文档。维护一套相同的属性。
站点设置->站点集功能页面->激活“文档集”功能。激活后需要作为内容类型添加到相应文档库后使用。
唯一ID
在站点集范围内按照一定的编码规则为文档编制统一编号。站点集设置->站点集功能页面->激活“文档ID设置”功能。
SharePoint Foundation的服务器端对象模型
概述
服务器端对象模型、客户端对象模型。
开放给用户的编程接口,避免直接访问数据库。直接访问数据库可以绕开SharePoint产品的限制。
1.添加Microsoft.SharePoint.DLL引用;(C:\Program Files\Common Files\Microsoft Shared\web server extensions\14\ISAPI)
2.目标框架NET3.5,X64位兼容;必须在Web前端服务器可应用程序服务器上运行;
3.新建SharePoint项目。
HelloWorld
1.NET3.5,x64
2.引用Microsoft.SharePoint.DLL
3.using Microsoft.SharePoint
4. const string siteURL = "http://localhost";
using (SPSite site = new SPSite(siteURL)) //获取站点集
{
SPWeb web = site.RootWeb; //获取根站点
foreach(SPList list in web.Lists)
if (!list.Hidden)
Console.WriteLine(list.Title);
}
站点集和站点
站点集:SPSite站点:SPWeb
列表和文档库
列表:Microsoft.SharePoint.SPList;列表集合:Microsoft.SharePoint.SPListCollection。
SPListCollection lists = web.lists;
SPList list = lists[index];
SPList list = lists["Announcement"];
SPList list = lists[new Guid("....")];
SPList list = web.GetListFromUrl("http://localhost/lists/announcements/allitems.aspx");
SPList list = web.GetList["/lists/announcements"];
列表不存在时,抛出System.IO.File.NotFoundException;
SPlist list = lists.TryGetList("Announcements");
在获取失败时,返回NULL。
文档库:Microsoft.SharePoint.SPDocumentLibrary继承自 SPList。
列表项和文件
列表项:Microsoft.SharePoint.SPListItem,列表里的一条数据纪录;列表项集合:Microsoft.SharePoint.SPListItemCollection。
SPListItem newItem = list.Items.Add();
newItem["Title"]="标题";
newItem["Body"]="正文";
newItem.Update();
文件:Microsoft.SharePoint.SPFile
通过SPList操作文件:
byte[] fileData = System.IO.File.ReadAllBytes(@"c:\test.txt");
SPFile newFile = list.RootFolder.Files.Add("test.txt",fileData);
读取文件:
SPListItem item = list.GetItemById(1);
SPFile file = item.File;
byte[] fileData = file.OpenBinary();
通过SPFileConlection对象上传文件:
byte[] fileData = System.IO.File.ReadAllBytes(@"c:\test.txt");
web.Files.Add(strURL + fileName,fileData);
开发人员面板
输出画面加载的细节信息。
stsadm命令
SharePoint解决方案开发
wsp安装包,可以直接上传和部署。实际是cab。
_layouts目录,避免修改根文件夹下的系统文件。
/ISAPI Web服务文件
/Resources 资源文件
/Template/Admin 中央管理站点的应用程序页面
/Template/ControlTemplates ASP.NET用户控件
/Template/Features Feature定义文件
/Template/Images 图片文件
/Template/Layouts 系统文件
/Template/Layouts/1033/Styles 样式文件
/Template/Layouts/Clientbin SliverLight文件
/Template/logs 系统日志文件
/Template/SiteTemplates 站点定义文件
/Template/Themes 站点主题文件
/Template/Xml 自定义字段类型文件
Feature - 功能,可停止和激活。
手动创建一个Feature,ID,Title,Version,Scope,Hidden,ImgUrl,Description。
Scope:Farm,WebApplication,Site,Web。生效范围。
手动创建解决方案包
makecab.exe命令生成方案包;stsadmin部署方案包。
SharePoint浏览器
显示SharePoint站点结构。
可通过二次开发扩展SharePoint浏览器功能。
要求所运行的服务器上必须安装有SharePoint Foundation或以上版本,并配置为单独的服务器场或者Web前端服务器。
SharePoint Designer 2010
禁止Designer:管理中心->常用应用程序管理设置(General Applictation Settings)->SharePoint Designer,完全禁止或部分禁止。