开启貌似已经过时很久的新坑:SharePoint服务器端对象模型
5年前(嗯,是5年前),SharePoint 2010刚发布的时候,曾经和kaneboy试图一起写一本关于SharePoint 2010开发的书,名字叫《SharePoint 2010 应用开发指南》(涂指南这个名字不是白叫的)。给大家看一下当年列出来的大纲:
- SharePoint 2010开发概览
- SharePoint 2010基础架构,SharePoint与ASP.NET、IIS的关系
- 解释服务器场的概念,从硬件拓扑层次解释APP、WFE
- 解释Web应用程序、网站集、网站、列表和文档库的概念
- 介绍SharePoint Solution Package和Feature,介绍Sandboxed Solution
- 介绍VS 2010 SP Tools
- 演示使用VS2010 SP Tools开发一个简单的Visual Web Part项目的过程
- 如何使用VS2010 SP Tools所生成的.wsp,通过PowerShell脚本手工部署.wsp
- 访问SharePoint网站和数据
- 使用对象模型访问网站、列表数据
- 使用对象模型访问文档库中的文件
- 使用CAML进行数据查询
- SPLinq
- 使用用户、用户组、权限相关的对象模型
- 界面开发
- 解释SharePoint页面模型,Site Page/Application Page
- Web Part
- Page
- Ribbon UI扩展
- Dialog UI扩展
- 从客户端访问SharePoint网站和数据
- Client Managed OM
- ECMAScript
- Silverlight
- Business Connectivity Services
- 解释BCS、ECT、External List
- 使用SPD创建ECT
- 使用VS2010 SP Tools创建BCS Model
- 事件处理程序
- 解释事件处理程序,SharePoint中的事件处理程序类型
- 列表事件处理程序
- 网站事件处理程序
- 工作流
- SharePoint工作流模型
- 使用Visio + SPD构建简单工作流
- 使用VS2010 SP Tools构建工作流
- Service Application框架
- 解释Service Application框架
- 开发一个简单的自定义Service Application
- SharePoint 2010商业组件
- InfoPath Forms Services
- Excel Services
- Word Automation Services
- SharePoint Designer 2010
当时我们俩一共完成了4章,不过后来我们得了一场重病(懒癌),所以后来……就没有后来了。
书稿在我电脑里躺了无数年,于是今天打算让它重见天日,免费放到博客上。
我当时写的就是SharePoint服务器端对象模型那一章,当时是按照SharePoint 2010的内容来写的,不过服务器端对象模型这个东西,常用的操作从2003到2013几乎没什么变化,所以今天也能继续用。
这一章的结构就是上面那个大纲里面的结构,六个小节,在Word里一共96页,4万多字(不算代码),估计可能要贴很长时间,不过因为反正这章已经写完了,所以至少这次肯定不会坑了。
这部分内容主要面向对SharePoint有一定了解,但是不太熟悉对象模型的开发人员(比如刚接触SharePoint不久的开发人员),当然如果有经验的也可以随便进来看一眼,因为我也发现过写了好几年SharePoint程序的某些程序员,在根据id获取列表条目的时候,还在用SPQuery查询,而不是用GetItemById这个方法……
顺便做个广告,我们翻译的《SharePoint 2013开发入门经典》已经上市,里面基本上都是SharePoint 2013开发的新特性,欢迎购买。
豆瓣读书地址:http://book.douban.com/subject/25984590/ (购买链接见该页面右侧)
目前正在翻译的下一本书《JavaScript & jQuery》(http://book.douban.com/subject/20022383/)主要面向没有任何程序开发经验的网站制作人员,预计交稿时间12月中旬,按上一本书的编辑速度,估计得明年中才能上市了……
正文从下一篇开始,明天。
开启貌似已经过时很久的新坑:SharePoint服务器端对象模型的更多相关文章
- 使用Fragment应用放置后台很久,被系统回收,出现crash
使用Fragment应用放置后台很久,被系统回收,出现crash:原因:系统做了源码FragmentActivity调用onSaveInstanceState保存Fragment对象,这时候系统恢复保 ...
- 【2020Java最新学习路线】写了很久,这是一份最适合普通大众、科班、非科班的路线
点赞再看,养成习惯,微信搜索[三太子敖丙]关注这个互联网苟且偷生的工具人. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的 ...
- 【高并发】高并发环境下构建缓存服务需要注意哪些问题?我和阿里P9聊了很久!
写在前面 周末,跟阿里的一个朋友(去年晋升为P9了)聊了很久,聊的内容几乎全是技术,当然了,两个技术男聊得最多的话题当然就是技术了.从基础到架构,从算法到AI,无所不谈.中间又穿插着不少天马行空的想象 ...
- 很久之前写的Ajax库
很久之前写的一个小型AJAX的js,放在上面以免以后想玩了找不到了. // version : 0.1 beta // author : __Ajax function __Ajax(url,opti ...
- SVN模型仓库中的资源从一个地方移动到另一个地方的办法(很久才解决)
弄了很久,想使用domove这个操作,但是都失败了.最后给svnkit的邮箱写了封邮件,他们告诉我这样做就成功了.实际上是使用docopy这个函数实现了move操作.package com.repos ...
- Yii2 关于yii\db\Connection::open耗时很久的问题(1000ms左右)
关于这个问题我纠结了很久,每次打开网页yii\db\Connection::open几乎都耗时1000ms. 其实这个问题很好解决:只要把config\db.php配置信息里的localhost,改成 ...
- chrome浏览器上传图片反应很慢,延迟很久才弹出窗口
chrome浏览器上传图片反应很慢,延迟很久才弹出窗口 一个上传图片的控件,点击按钮上传图片,用chrome(谷歌浏览器)时,点击按钮后,要等好几秒才弹出文件选择窗口 可以试一下,把网络断开,这个问题 ...
- 解决ssh连接慢,挂起在SSH2_MSG_SERVICE_ACCEPT信息之后很久的问题
问题现象:无论是ssh 还是 scp 都会连接很久才提示输认证信息(注意:是连接慢) 如本机IP:192.168.18.208 (Hostname: ThinkPad) 目标主机:192.168.18 ...
- mysql 去除重复 Select中DISTINCT关键字的用法 在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是 distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,
在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记 ...
随机推荐
- 走进C++程序世界-----operator new delete 重载
在C++ 的世界里,new 和delete 是keyword.而在C的世界里相相应的malloc和free是函数,关键C++的new和delete分析,详见前面的章节.这里就不在过多的介绍了.链接. ...
- curl 执行post请求
#curl -l -H "Content-type: application/json;charset=UTF-8" -H "X-Forwarded-For: 20.20 ...
- Yum编译安装Error Downloading Packages报错
1:执行yum clean all 清除缓存目录下的软件包及旧的headers: 2:接着执行 yum list重新列出所有已经安装和可以安装的软件包: 3:重新执行上述命令,发现yum编译成功: 注 ...
- 全双工音频播放器在c#中使用waveIn / waveOut api
http://www.codeproject.com/Articles/4889/A-full-duplex-audio-player-in-C-using-the-waveIn-w 一篇关于低级音频 ...
- SELinux的Docker安全性
原文译自:http://opensource.com/business/14/7/docker-security-selinux 这篇文章基于我今年在DockerCon一个讲座,它将讨论我们当前听到的 ...
- Node.js 读取博客首页并获得文章标题
app.js // 内置http模块,提供了http服务器和客户端功能 var http=require("http"); // 内置文件处理模块 var fs=require(' ...
- IOS--苹果各地区开发者支援的电话号码
网页地址: https://developer.apple.com/contact/phone/ 中国区的咨询热线:4006 701 855 邓白氏申请中心的电话(400-6701855)
- Android学习(九) SharedPreferences
一.SharedPreferences:一种清醒的存储方式,基于XML存储key-value键值对方式的数据. SharedPreferences对象本身只能获取数据,而不能存储和修改数据,存储修改只 ...
- Python魔法师
第一章:数据结构和算法 1.1 查找最大或者最小的n个元素 heapq 模块的两个函数 nlargest() nsmallest() import heapq nums = [1, 8, 2, 23 ...
- 通过Navicat for MySQL远程连接的时候报错mysql 1130 的解决方法
用Navicat连接远程MYSQL,提示如下错误,我以为是自己的防火墙问题,但是关了,依然不行. ERROR 1130: Host '192.168.1.3' is not allowed to co ...