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,完全禁止或部分禁止。

【SharePoint学习笔记】第1章 SharePoint Foundation开发基础的更多相关文章

  1. 【学习笔记】第二章 python安全编程基础---python爬虫基础(urllib)

    一.爬虫基础 1.爬虫概念 网络爬虫(又称为网页蜘蛛),是一种按照一定的规则,自动地抓取万维网信息的程序或脚本.用爬虫最大的好出是批量且自动化得获取和处理信息.对于宏观或微观的情况都可以多一个侧面去了 ...

  2. 【学习笔记】第二章 python安全编程基础---正则表达式

    一.python正则表达式 定义:正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式相匹配: 1.1RE模块:是python语言拥有全部的正则表达式功能的一个正则模块: 常见 ...

  3. 【学习笔记】第一章 python安全开发简介

    1.1为什么黑客喜欢用python? python为我们提供了非常完善的基础代码库,覆盖了网络.文件.GUI.数据库.文本等大量内容,被形象的称为“”内置电池“”,用python开发,许多功能不必从零 ...

  4. SharePoint 2010 最佳实践学习总结------第1章 SharePoint Foundation开发基础

    ----前言 这段时间项目出在验收阶段,不是很忙,就潜心把SharePoint学一下,不求有多深刻,初衷只是先入门再说.后续会发布一系列的学习总结.主要学习的书籍为<SharePoint2010 ...

  5. Sharepoint学习笔记—习题系列--70-576习题解析 --索引目录

        Sharepoint学习笔记—习题系列--70-576习题解析  为便于查阅,这里整理并列出了70-576习题解析系列的所有问题,有些内容可能会在以后更新. 需要事先申明的是:     1. ...

  6. Sharepoint学习笔记—习题系列--70-573习题解析 --索引目录

                  Sharepoint学习笔记—习题系列--70-573习题解析 为便于查阅,这里整理并列出了我前面播客中的关于70-573习题解析系列的所有问题,有些内容可能会在以后更新, ...

  7. Stealth视频教程学习笔记(第二章)

    Stealth视频教程学习笔记(第二章) 本文是对Unity官方视频教程Stealth的学习笔记.在此之前,本人整理了Stealth视频的英文字幕,并放到了优酷上.本文将分别对各个视频进行学习总结,提 ...

  8. Stealth视频教程学习笔记(第一章)

    Stealth视频教程学习笔记(第一章) 本文是对Unity官方视频教程Stealth的学习笔记.在此之前,本人整理了Stealth视频的英文字幕,并放到了优酷上.本文将分别对各个视频进行学习总结,提 ...

  9. 20145330《Java学习笔记》第一章课后练习8知识总结以及IDEA初次尝试

    20145330<Java学习笔记>第一章课后练习8知识总结以及IDEA初次尝试 题目: 如果C:\workspace\Hello\src中有Main.java如下: package cc ...

随机推荐

  1. 构造一个简单的Linux系统MenuOS

    陈智威20135125 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 实验指导 ...

  2. const,static,extern简介

    一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 编译时刻:宏是预编译(编译之前处理),const是编译阶段. 编 ...

  3. runtime作用

    1.发送消息 方法调用的本质,就是让对象发送消息. objc_msgSend,只有对象才能发送消息,因此以objc开头. 使用消息机制前提,必须导入#import <objc/message.h ...

  4. BackTrack5-r3安装中文版的firefox火狐浏览器

    在BT终端中输入:sudo apt-get install firefox 按回车在火狐地址栏里输入"about:config" 回车,点我同意.然后在过滤器里输入"ge ...

  5. Inversion_树状数组***

    Problem Description You have a sequence {a1,a2,...,an} and you can delete a contiguous subsequence o ...

  6. C/C++代码覆盖率生成

    初始状态下只有一个源代码文件 nosoul@linux:testCov> ls test.c nosoul@linux:testCov> 第一步:编译.链接.执行可执行文件 gcc -o ...

  7. [翻译]为什么IIS应用程序池回收时间默认被设置为1740分钟?

    作者:斯科特 福赛斯/Scott Forsyth日期:2013/04/06地址:http://weblogs.asp.net/owscott/why-is-the-iis-default-app-po ...

  8. Unity3d游戏场景优化杂谈(2)

    动态实时灯光相比静态灯光,非常耗费资源.所以除了能动的角色和物体(比如可以被打的到处乱飞的油桶)静态的地形和建筑,通通使用Lightmap. 强大的Unity内置了一个强大的光照图烘焙工具Beast, ...

  9. Kafka Shell基本命令(包括topic的增删改查)

    转载请注明出处:http://www.cnblogs.com/xiaodf/ 创建kafka topic 查看所有topic列表 查看指定topic信息 控制台向topic生产数据 控制台消费topi ...

  10. 使用html模板

    创建html---点击next--选择写好的模板