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. mozilla firefox 安装flash player

    下载 flash player http://get.adobe.com/cn/flashplayer/ for linux  .tar.gz文件 install_flash_player_11_li ...

  2. 第5章 搭建S3C6410开发板的测试环境

    1.使用Eboot擦除NandFlash的方法如下: 第一步:准备工作 用串口线或USB转串口线连接开发板和PC,并启动minicom 第二步:进入Eboot状态 打开OK6410开发板的电源开关,过 ...

  3. META元素使用的简单学习

    meta标签是我们学习html时容易忽略的标签,其实它的作用很大,下面就一些网上关于meta标签的讲解内容做一个简单的归纳. META标签共有两个属性,它们分别是Http-equiv属性和Name属性 ...

  4. xamarin.forms 版本自动更新(针对android)

    1.首先同过url地址下载文件,这里必须要启用单独一个下载线程 new Thread(run).Start(); 通过url下载的方法 public void run()        {       ...

  5. schematool -dbType mysql -initSchema hive startup failed...try this

    schematool -dbType mysql -initSchema hive startup failed

  6. BZOJ 1584 DP

    显然序列不能超过sqrt(n),因为最差情况是每个都独立答案为n #include <iostream> #include <cstring> #include <cst ...

  7. 【LeetCode OJ】Symmetric Tree

    Problem Link: https://oj.leetcode.com/problems/symmetric-tree/ To solve the problem, we can traverse ...

  8. ThinkPHP_SQL(1)查询语言

    推荐使用索引数组或者对象来作为查询条件,因为会更加安全. 一.使用字符串作为查询条件 这是最传统的方式,但是安全性不高,例如: $User = M("User"); // 实例化U ...

  9. 【Mocha.js 101】同步、异步与 Promise

    前情提要 在上一篇文章<[Mocha.js 101]Mocha 入门指南>中,我们提到了如何用 Mocha.js 进行前端自动化测试,并做了几个简单的例子来体验 Mocha.js 给我们带 ...

  10. iOS 打电话 发短信(转载)

    官方代码 发短息和邮件添加MessageUI.framework 库 发送信息 - (IBAction)showSMSPicker:(id)sender { // You must check tha ...