使用VS2012 开发SharePoint 2013 声明式的action(activity) 综合实例
本文讲述使用VS2012 开发SharePoint 2013 声明式的action 综合实例。
需求同: http://blog.csdn.net/abrahamcheng/article/details/12612481
基本操作参考: http://blog.csdn.net/abrahamcheng/article/details/12652495
实现步聚 :
1.新建SharePoint 2013 empty solution(选择farm solution或sandbox solution均可)
2. 新建Custom action(命名为 SendTopNNews)
3. 添加Try catch activity 和 定义输入输出参数
4. 定义内部变量
5. 使用Build Dynamic Value构建requestHeader
6. 使用 httpsend activity 调用web service 返回jsonResult
7. 使用If分支 activity (如果 responsecode 为 OK, 开始构建MailBody, 否则输出错误)
8. 否定分支
9. 条件成立分支
a. 获取记录条数并初始 MailBody
b.添加循环While activity 拼接Mailbody
b.1 条件为“loopIndex < itemsCount”
b.2 循环体内容
10.在循环体外结束Mailbody
11. 将是否成功的信号变量设置为ture
12. 收起Try-Catch 的 Try 部分,设置Catch部分的异常 处理
13. 更新 SendTopNNews.actions4
<Action Name="SendTopNNews" ClassName="SendTopNNews.SendTopNNews" Category="Custom" AppliesTo="all">
<RuleDesigner Sentence="Web service adress is %1, out put mail body to %2, out put result code to %3">
<!-- Define the UI widgets SharePoint designer should use for configuring this action -->
<FieldBind Field="WebServiceUrl" Text="Web service url" Id="1" DesignerType="TextOnly" DisplayName="Web service url" />
<FieldBind Field="MailBody" Text="return MailBody" Id="2" DesignerType="ParameterNames" DisplayName="return MailBody" />
<FieldBind Field="Successed" Text="resultCode" Id="3" DesignerType="ParameterNames" DisplayName="resultCode" />
</RuleDesigner>
<Parameters>
<Parameter Name="WebServiceUrl" Type="System.String, mscorlib" Direction="In" DesignerType="TextOnly" Description="Set the WebServiceUrl" />
<Parameter Name="MailBody" Type="System.String, mscorlib" Direction="Out" DesignerType="ParameterNames" Description="return MailBody" />
<Parameter Name="Successed" Type="System.Boolean, mscorlib" Direction="Out" DesignerType="ParameterNames" Description="resultCode" />
</Parameters>
</Action>
14. 部署解决方案 (action4会被部署到 ~ProgramFiles\Common Files\microsoft shared\Web ServerExtensions\15\TEMPLATE\FEATURES\SendTopNNews_Feature1\SendTopNNews\SendTopNNews.actions4 , Xaml将会被部署到 ProgramFiles\Common Files\microsoft shared\Web ServerExtensions\15\TEMPLATE\FEATURES\SendTopNNews_Feature1\SendTopNNews\SendTopNNews.xaml)
15. 清空 SharePoint designer 2013的缓存 C:\Users\alias\AppData\Local\Microsoft\WebsiteCache
16. 启动 SharePoint designer 2013,创建测试工作流
17.发布工作流 ,启动工作流测试并查看结果:
使用VS2012 开发SharePoint 2013 声明式的action(activity) 综合实例的更多相关文章
- VS2012 开发SharePoint 2013 声明式workflow action(activity)之 HelloWorld
本文讲述VS2012 开发SharePoint 2013 声明式workflow action 之 HelloWorld. 使用VS2012开发客户化的workflow action是SharePoi ...
- spring+mybatis之声明式事务管理初识(小实例)
前几篇的文章都只是初步学习spring和mybatis框架,所写的实例也都非常简单,所进行的数据访问控制也都很简单,没有加入事务管理.这篇文章将初步接触事务管理. 1.事务管理 理解事务管理之前,先通 ...
- SharePoint 2013 配置开发环境,需安装VS2012插件
原文:SharePoint 2013 配置开发环境,需安装VS2012插件 SharePoint 2013已经安装好了,接下来就是配置开发环境,安装VS2012,但是,装好了以后,发现没有ShareP ...
- SharePoint 2013配置开发环境,需安装VS2012插件
SharePoint 2013已经安装好了,接下来就是配置开发环境,安装VS2012,但是,装好了以后,发现没有SharePoint 2013开发的支持,如下图: 然后,去网上查找资料,VS2012对 ...
- SharePoint 2013 App 开发—Auto Hosted 方式
Auto Hosted 方式,自动使用Windows Azure来作为host,这种模式将App 发布到Office 365上的SharePoint Developer Site上.这种方式可以不用花 ...
- SharePoint 2013 App 开发—App开发概述
基于安全性的考虑,SharePoint App 不能像其它两种方式一样,直接使用安全性更高的服务端代码的API.Javascript 扮演极为重要的角色,在SharePoint App中与ShareP ...
- SharePoint 2013 新建网站集图解
前言:接触SharePoint的人可能是越来越多,但是很多人一接触就很迷茫,在技术群里问如何新建网站集,这样一篇图解,帮助新手学习在搭建好SharePoint环境之后,如何创建一个网站集,做一个基本的 ...
- SharePoint 2013 新建网站集图解(绝对菜鸟篇)
前言:接触SharePoint的人可能是越来越多,但是很多人一接触就很迷茫,在技术群里问如何新建网站集,这样一篇图解,帮助新手学习在搭建好SharePoint环境之后,如何创建一个网站集,做一个基本的 ...
- Spring声明式事务管理
一.Spring 的声明式事务管理概述 1.Spring 的声明式事务管理在底层是建立在 AOP 的基础之上的.其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法 ...
随机推荐
- golang语言部分保留字的举例
golang和c的代码有很大不同的,一不小心就会误用. 1 /* go保留字: */ /* break default func interface select case defer go map ...
- Selenium IDE测试创建
Selenium IDE 测试创建 涉及使用IDE Selenium创建测试,如下面的步骤 记录和测试添加命令 保存测试记录 保存测试程序 执行测试记录 在测试中记录和添加命令 为了演示目的,我们将利 ...
- PHP 获取远程文件的大小的3种方法
1.使用file_get_contents() <?php $file = file_get_contents($url); echo strlen($file); ?> 2. 使用get ...
- SSH整合常见错误
spring+hibernate出错小结: (1)java.lang.NoClassDefFoundError: org/hibernate/context/CurrentSessionContext ...
- 一起刷LeetCode3-Longest Substring With Repeating Characters
拖延症太严重了TAT,真心要处理一下这个问题了,感觉很不好! --------------------------------------------------------------------- ...
- 第二百五十八天 how can I 坚持
装虚拟机了.CentOs,32位,这电脑装4台能不能带起来啊. 早上,流鼻血了,不知道咋回事.太干了... 明天得早起会,得利索着点,不能托托拉拉的. 还有,今天又忘带钥匙了.悲剧. 睡觉.hadoo ...
- Gym 100507G The Debut Album (滚动数组dp)
The Debut Album 题目链接: http://acm.hust.edu.cn/vjudge/contest/126546#problem/G Description Pop-group & ...
- POJ 2185 Milking Grid(KMP)
Milking Grid Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 4738 Accepted: 1978 Desc ...
- poj 1679 http://poj.org/problem?id=1679
http://poj.org/problem?id=1679 The Unique MST Time Limit: 1000MS Memory Limit: 10000K Total Submis ...
- [iOS 多线程 & 网络 - 1.1] - 多线程NSThread
A.NSThread的基本使用 1.创建和启动线程 一个NSThread对象就代表一条线程创建.启动线程NSThread *thread = [[NSThread alloc] initWithTar ...