无废话SharePoint入门教程二[SharePoint发展、工具及术语]
一、前言
1.由于上一篇文章的标题命名失误,此篇标题写给百度搜索”什么是SharePoint”。
2.关于什么是SharePoint,请参见本人的第一篇文章:http://www.cnblogs.com/iamlilinfeng/p/3026332.html
二、目录
1.SharePoint2013环境安装
2.SharePoint发展过程
3.SharePoint使用工具
4.SharePoint内部使用术语
1.SharePoint2013环境安装
SharePoint2013安装图解,这里就不再冗复了:http://www.cnblogs.com/jianyus/archive/2013/02/01/2889653.html
2.SharePoint发展过程
由SharePoint的发展历程可以看出,在SharePoint2010版本以前SharePoint一直是包含在Office产品系列中,2010年后微软正式把SharePoint形成独立的产品并且趋于稳定。由于产品名称变化的原因,导致SharePoint在各个阶段的称呼各不相同。下面我们介绍下当前仍在使用中的产品简称及全称。
WSS:07版及以前对Windows SharePoint Services的简称。
MOSS:07版本对Microsoft Office Sharepoint Server的简称。
SharePoint Foundation:免费的SharePoint的服务器一个版本。
SharePoint Server:收费的SharePoint的服务器一个版本,又细分为“标准版”和“企业版”。
SharePoint Foundation与SharePoint Server的区别:
Foundation 免费(主要用于开发环境)、 Server版本收费。
包含功能:SharePoint Foundation < SharePoint Server标准版 < SharePoint Server 企业版
SP:SharePoint的一个简称,经常出现在讨论区,常在后面加上版本号来确定具体的产品。如:SP2010,SP2013。
3.SharePoint使用工具
SharePoint工程师一般会使用到3个工具,分别为:SharePoint Designer、Visual Studio、 Windows PowerShell
SharePoint Designer:简称SPD(通常状况会加版本号,如:SPD2010、SPD2013),SharePoint实施工程师的利器,一款SharePoint资源编辑的软件,可以直接编辑SharePoint内容资源。 如下图所示:
Visual Studio:简称VS(通常状况会加版本号,如:VS2010、VS2012),SharePoint开发工程师的利器,不解释,功能强大、大部份微软语言都使用VS作为开发工具进行开发,SharePoint也不例外,通常用于开发Web部件(下面会解释什么是Web部件)和调用SharePoint的API进行数据交互。 如下图所示:
Windows PowerShell:Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework 的强大功能。它引入了许多非常有用的新概念,从而进一步扩展了您在 Windows 命令提示符和 Windows Script Host 环境中获得的知识和创建的脚本。
百科地址:http://baike.baidu.com/view/2838635.htm?fromId=1717574 通过理解和在SharePoint的应用范围做出的定义:基于Dos风格的,可以通过命令来执行、管理、维护SharePoint的日常工作的可执行应用程序。 如下图所示:
4.SharePoint使用术语
我们无论是与外国人交流还是与使用计算机编程都需要有一种能够让彼此都可以理解的语言。如常用英文:“Hello”、“Hello World”、“How are you”,编程时最常说的“类”、“属性”、“方法”等,人与人进行交流时可以无障碍使用这些术语进行沟通。如:程序员交流时一说到“类”,都会对类有个统一的概念。
在SharePoint的世界中,也有一些术语。理解这些术语及概念对于SharePoint的相互交流是必不可少的,如果你第一次看本文有些地方不太理解甚至完全不理解(看了和没看一样),那么就等到在QQ群里或论坛里看到这些术语时再回头查看吧,那时候才能够真正的消化这个内容。
官方地址:http://msdn.microsoft.com/zh-cn/library/ee556558.aspx
官方的api总是那么的全面,但在实际工作中你会发现不会使用会全部术语,为了尽快的达到使SharePoint的术语进行无障碍沟通的目地,本文列出了“入门并且常用的”术语并一一讲解。
NO.1 服务器场
广义的概念:服务器场,即主机的集群.简单点说就是两台机器互相备份,两个或几台机器之间有心跳线,定时检测对端设备的情况,如果对端设备出现故障,一台机器就会接管出问题机器的受保护的资源如数据库等.
地址:http://baike.baidu.com/view/4095692.htm
如下图所示:
广义上的概念更像是在描述“网络负载均衡或集群”,下面我们介绍下SharePoint服务器场。
SharePoint服务器场:一系列的服务器的集合。集合里的每台服务器包含的职能可以是不一样的。如下图所示:
该SharePoint服务器场有两台Web前端服务器,用户访问静态的内容时可以直接从这两台服务器上进行读取,两台服务器通过“Network Load Balancing”连接在一起。两台应用服务器做基本数据的支撑。当用户使用搜索时,内容由前端服务器转交级搜索服务器处理并返回结果。低层是数据支撑,由两台数据数据库服务器通过“Cluster”进行负载。
大家可以看出“SharePoint服务器场”的概念与“百度百科服务器场”的概念是一种包含与被包含的关系。“SharePoint服务器场”的概念范围更大些。个人觉得百度百科对服务器场的概念太泛化,本人更偏向于服务器于SharePoint的服务器场的概念才真正为“服务器场”的概念。
NO.2 Web应用程序、网站集、网站
Web应用程序:Web 应用程序是一种可以通过Web访问的应用程序。Web应用程序的一个最大好处是用户很容易访问应用程序。用户只需要有浏览器即可,不需要再安装其他软件。SharePoint的Web应用程序也不例外,他通过监听相关端口来响应来自用户的请求。从根本上讲SharePoint本身就是一个由asp.net搭建的网站,只不过他的规模很大(微软产品的特点)。
但他与我们创建的Web应用程序的表面上的区别有明显的两点:
我们自己开发的Web应用程序一般是通过人工部署到IIS上的,而SharePoint的Web应用程序是由SharePoint安装时自动部署的(包括数据库的创建、asp.net页面与数据库的连接等)。如下图所示:
SharePoint会自动创建一些必要的Web应用程序。我们自己开发的Web应用程序dll一般放在目录结构的bin下,asp.net页面也会由我们根据业务需求定制目录结构,而SharePoint文件的目录结构就比较复杂了(当然是遵从微软的SharePoint规则,一般页面在layout里,dll在GAC和网站bin目录下)。如下图所示:
Web应用程序下建立了很多的虚拟目录,我们任意打开两个看一下该虚拟目录对应的物理路径。
_controltemplates: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\template\controltemplates
_login: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\template\identitymodel\login
基本都会放在:C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions目录结构下,不同的版本会稍有子目录的区别
网站集:网站集是建立在Web应用程序下的一个虚拟概念,我们可以理解为一堆网站的集合。这个集合可对子网站进行一些统一的设置和管理。他独立的数据管理和权限分配并且必须建立在Web应用程序之下。
网站:网站是建议在网站集下的虚拟概念,这点打破了大多数asp.net程序员对网站的传统概念。主要在于我们使用asp.net创建的网站相当于一个web应用程序,而到了SharePoint,网站是建立在网站集下面的一个虚拟的产物并且网站下面可以包含子网站….
Web应用程序、网站集、网站的逻辑关系
一个Web应用程序下,可以有多个网站集,一个网站集下可以有多个网站和页面。
NO.3 列表、文档库
列表:以表格为容器,装载着文字或图像的一种形式。下表为一个简单“员工信息”列表。
如上表所示,表头为“员工信息”,表的每一列头为“编号、姓名……”,在SharePoint中的列表也不例外。下面是SharePoint中的一个“内容和结构报告”列表。
学过编程的同学应该更容易理解,列表类似数据库中的“表”,也类似C#中的泛型List<T>。他在SharePoint中的类为:Microsoft.SharePoint.SPList,是不是很熟悉?List与SPList。不仅仅是长得相似,用途也很相似。
文档库:我们先来了解一下库的概念。库:用来放置同类事物的抽象容器;如库房,储存货物或财物的房屋。
库的概念也不例外,现在我们了解一下什么是SharePoint文档库,SharePoint文档库:一个文件夹,库中文件的集合属于同一模板。简单的理解就是一个文件夹里放了一堆文件,而这个文件夹就叫做文档库。如下图所示:
文档库的名称为:页面库,库里包含了7个文件。
列表和文档库的区别:在初学SharePoint时,可能有很多分不清列表和库的区别,本人刚最初对这两上概念也很模糊,此处再次强调一下他们之间的不同:
列表:类似于表格,存储的的数据。
文档库:类似于文件夹,存放的是文件。
那么是什么导致了我们对这两个概念的混淆呢?如下图所示:
在我们查看SharePoint所有内容进,SharePoint把所有类型的文件堆在一块,让我们很难区分哪些是列表,哪些是库(虽然图标有区分,但有哪些入门者会在意这些呢?),如果SharePoint的“所有内容”做成如下图示是不是会更有助于广大的用户理解和区分这两个概念呢?
NO.4 栏、栏类型、内容类型
这三个概念我们还使用“员工信息”表为例,表格如下:
栏:列表中的一列,如上表中的“姓名栏”、“性别栏”等, 同样的概念SharePoint只是换了个名词。
栏类型:固名思意,栏类型就是这个列是什么类型的数据,如:编号是数字型、姓名是字符型等,这些“数字类型”、“字符类型”即为栏类型。
了解数据库的同学更容易理解这两个概念,不泥马是列和列的类型吗?很负责任的告诉你,确实是这样的。
内容类型:这个概念稍微抽象,他是多个栏的集合。如:(编号、姓名)可以组成内容类型A,(姓名、性别)可以组成内容类型B。这就是内容类型。那么为什么要有内容类型呢?
下面我们看两张表。
如果没有内容类型的情况下,我们的两个列表里都要创建“姓名、性别”这两个栏,很明显,两个列表的栏是重复的。
但我们使用内容类型后,即可以创建“员工基础信息”内容类型,里面包含两栏“姓名、性别”。然后在建立列表时分别这个“员工基础信息”内容类型加入到两个列表中。
为什么有内容类型?
如果有一天,老板说,不允许公司存有女员工(大男子主义)。
(1)没有使用内容类型,我们要把两个列表都修改一次(如果有100个列表就苦B了吧),限制性别不能为“女”。
(2)使用“员工基础信息”内容类型后,我们只需要把“员工基础信息”内容类型的性别限制成“男”,所有使用该内容类型的列表栏都做了修改。
C#程序员中有经典的一句话:永远不要让你的代码重复。即是这个道理。
NO.5 功能(Feature)、母版页(Master)、页面布局(Layout)、Web部件(WebPart)
功能(Feature):事物或方法所发挥的有利作用;意思是说这个事物能干什么。在SharePoint里默认有很多功能,入口如下图所示:
我们以“网站集功能”为例,点击后如下图所示:
这些功能都是网站集层面所具有的,功能只有激活后才能使用。
功能分为网站集功能和网站功能。网站集功能开启后,网站集下的所有网站都可以使用该功能。网站功能只能针对当前网站使用。
母版页(Master):为页面创建一致的内容。如下图所示:
这样母板页就保证了所有页面一致的内容,一般在做系统时,页面的“头”和“脚”都放在母版页中。
在SharePoint的定制中,基本都要更换母版页。我们通过SharePoint Designer进行母版页的设计(后继的教程中会讲解),然后在网站设置中进行选择,如下图所示:
页面布局(Layout):对页面的结构进行格式设置,就好比在一张纸上把格子画出来。
在SharePoint中的操作如下图所示:
选择相应的页面布局后,页面的基础结构会根据页面布局的结构而改变。
Web部件(WebPart):页面的一部分(成块状),由若干装配在一起的属性所组成。大家可以理解为网页是由一块一块的内容组合在一起的,我们以园子为例。
这些“块”可以理解为一个一个的部件,整个网页由各个部件组成,这些部件具有“数据、外观(宽高等)”等属性,可以单独进行设置。
Web部件在页面布局中,如下图所示:
上图中的一个个红色的小块即为Web部件的示例。
了解完web部件的概念后我们回到SharePoint中,对Web部件的设置,如下图所示:
添加完成页面布局后,布局块中点击“添加Web部件”
选择相应的Web部件点击“添加”,即可。
说明:本篇文章的内容比较多,同时也比较重要,有些概念理解不清楚大家可以先一代而过,当动手操作过程中遇到的时候再回头看看即可明白。
版权:http://www.cnblogs.com/iamlilinfeng
无废话SharePoint入门教程二[SharePoint发展、工具及术语]的更多相关文章
- 无废话ExtJs 入门教程二十一[继承:Extend]
无废话ExtJs 入门教程二十一[继承:Extend] extjs技术交流,欢迎加群(201926085) 在开发中,我们在使用视图组件时,经常要设置宽度,高度,标题等属性.而这些属性可以通过“继承” ...
- 无废话ExtJs 入门教程二十[数据交互:AJAX]
无废话ExtJs 入门教程二十[数据交互:AJAX] extjs技术交流,欢迎加群(521711109) 1.代码如下: 1 <!DOCTYPE html PUBLIC "-//W3C ...
- 无废话ExtJs 入门教程二[Hello World]
无废话ExtJs 入门教程二[Hello World] extjs技术交流,欢迎加群(201926085) 我们在学校里学习任何一门语言都是从"Hello World"开始,这里我 ...
- 无废话MVC入门教程二[第一个小Demo]
mvc技术交流,欢迎加群: 本文目标 1.了解"模型"."视图"."控制器"的创建.调试和使用过程. 本文目录 1.创建模型 2.创建视图 ...
- [转]无废话SharePoint入门教程二[SharePoint发展、工具及术语]
本文转自:http://www.cnblogs.com/iamlilinfeng/p/3186919.html 一.前言 1.由于上一篇文章的标题命名失误,此篇标题写给百度搜索”什么是SharePoi ...
- 无废话WCF入门教程二[WCF应用的通信过程]
一.概述 WCF能够建立一个跨平台的安全.可信赖.事务性的解决方案,是一个WebService,.Net Remoting,Enterprise Service,WSE,MSMQ的并集,有一副很经典的 ...
- 无废话WCF入门教程六[一个简单的Demo]
一.前言 前面的几个章节介绍了很多理论基础,如:什么是WCF.WCF中的A.B.C.WCF的传输模式.本文从零开始和大家一起写一个小的WCF应用程序Demo. 大多框架的学习都是从增.删.改.查开始来 ...
- WCF入门教程(四)通过Host代码方式来承载服务 一个WCF使用TCP协议进行通协的例子 jquery ajax调用WCF,采用System.ServiceModel.WebHttpBinding System.ServiceModel.WSHttpBinding协议 学习WCF笔记之二 无废话WCF入门教程一[什么是WCF]
WCF入门教程(四)通过Host代码方式来承载服务 Posted on 2014-05-15 13:03 停留的风 阅读(7681) 评论(0) 编辑 收藏 WCF入门教程(四)通过Host代码方式来 ...
- 无废话ExtJs 入门教程十二[下拉列表联动:Combobox_Two]
无废话ExtJs 入门教程十二[下拉列表联动:Combobox_Two] extjs技术交流,欢迎加群(201926085) 不管是几级下拉列表的联动实现本质上都是根据某个下拉列表的变化,去动态加载其 ...
随机推荐
- JS调用JCEF方法
坐下写这篇文章的时候,内心还是有一点点小激动的,折腾了一个多星期,踩了一个又一个的坑,终于找到一条可以走通的路,内心的喜悦相信经历过的人都会明白~~~~~今儿个老百姓啊,真呀个真高兴啊,哈哈,好了,废 ...
- hdu 5901 Count primes
题意: 计数区间$[1, n](1 \leq n \leq 10^{11})$素数个数. 分析: 这里只介绍一种动态规划的做法. 首先要说一下[分层思想]在动态规划中非常重要,下面的做法也正是基于这一 ...
- 【转】ACM训练计划
[转] POJ推荐50题以及ACM训练方案 -- : 转载自 wade_wang 最终编辑 000lzl POJ 推荐50题 第一类 动态规划(至少6题, 和 必做) 和 (可贪心) (稍难) 第二类 ...
- iOS去除导航栏和tabbar的1px横线
1.在自己定义的导航栏中或者设计稿中经常需要去除导航栏的1px横线,主要是颜色太不协调了 去除之前的图片 要去除这1px的横线,首先应该知道它是什么,在Xcode的界面调试中可以看到,它其实是UIIm ...
- centos7 yum 方式安装nginx
centos7系统库中默认是没有nginx的rpm包的,所以我们自己需要先更新下rpm依赖库 (1)使用yum安装nginx需要包括Nginx的库,安装Nginx的库 #rpm -Uvh http:/ ...
- 如何在IamgeButton上面添加文字
如何在IamgeButton上面添加文字? 首先要知道,IamgeButton是不可以直接添加文字的.所以我们需要间接制作一个Button按钮 我的代码将会展示另外一个例子,与本文中的代码相似. 本文 ...
- test homework ~ coverage about method printPrimes
/******************************************************* * Finds and prints n prime integers * Jeff ...
- 利用scrapy-splash爬取JS生成的动态页面
目前,为了加速页面的加载速度,页面的很多部分都是用JS生成的,而对于用scrapy爬虫来说就是一个很大的问题,因为scrapy没有JS engine,所以爬取的都是静态页面,对于JS生成的动态页面都无 ...
- Maven 配置 Selenium + testNG + reportNG 运行环境
.markdown-preview:not([data-use-github-style]) { padding: 2em; font-size: 1.2em; color: rgb(56, 58, ...
- Codeforces 722D. Generating Sets
D. Generating Sets time limit per test 2 seconds memory limit per test 256 megabytes input standard ...