本文讲述使用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) 综合实例的更多相关文章

  1. VS2012 开发SharePoint 2013 声明式workflow action(activity)之 HelloWorld

    本文讲述VS2012 开发SharePoint 2013 声明式workflow action 之 HelloWorld. 使用VS2012开发客户化的workflow action是SharePoi ...

  2. spring+mybatis之声明式事务管理初识(小实例)

    前几篇的文章都只是初步学习spring和mybatis框架,所写的实例也都非常简单,所进行的数据访问控制也都很简单,没有加入事务管理.这篇文章将初步接触事务管理. 1.事务管理 理解事务管理之前,先通 ...

  3. SharePoint 2013 配置开发环境,需安装VS2012插件

    原文:SharePoint 2013 配置开发环境,需安装VS2012插件 SharePoint 2013已经安装好了,接下来就是配置开发环境,安装VS2012,但是,装好了以后,发现没有ShareP ...

  4. SharePoint 2013配置开发环境,需安装VS2012插件

    SharePoint 2013已经安装好了,接下来就是配置开发环境,安装VS2012,但是,装好了以后,发现没有SharePoint 2013开发的支持,如下图: 然后,去网上查找资料,VS2012对 ...

  5. SharePoint 2013 App 开发—Auto Hosted 方式

    Auto Hosted 方式,自动使用Windows Azure来作为host,这种模式将App 发布到Office 365上的SharePoint Developer Site上.这种方式可以不用花 ...

  6. SharePoint 2013 App 开发—App开发概述

    基于安全性的考虑,SharePoint App 不能像其它两种方式一样,直接使用安全性更高的服务端代码的API.Javascript 扮演极为重要的角色,在SharePoint App中与ShareP ...

  7. SharePoint 2013 新建网站集图解

    前言:接触SharePoint的人可能是越来越多,但是很多人一接触就很迷茫,在技术群里问如何新建网站集,这样一篇图解,帮助新手学习在搭建好SharePoint环境之后,如何创建一个网站集,做一个基本的 ...

  8. SharePoint 2013 新建网站集图解(绝对菜鸟篇)

    前言:接触SharePoint的人可能是越来越多,但是很多人一接触就很迷茫,在技术群里问如何新建网站集,这样一篇图解,帮助新手学习在搭建好SharePoint环境之后,如何创建一个网站集,做一个基本的 ...

  9. Spring声明式事务管理

    一.Spring 的声明式事务管理概述 1.Spring 的声明式事务管理在底层是建立在 AOP 的基础之上的.其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法 ...

随机推荐

  1. [Everyday Mathematics]20150202

    设 $f:\bbR^2\to \bbR$ 为连续函数, 且满足条件 $$\bex f(x+1,y)=f(x,y+1)=f(x,y),\quad\forall\ (x,y)\in \bbR^2. \ee ...

  2. PagerSlidingTabStrip 高亮选中标题

    1.选中标题后,高亮标题@Override public void onPageSelected(int position) { setSelectTextColor(position); if (d ...

  3. Shell获取Aix/linux/unix机器上db2和os的信息并上传到指定服务器

    (之前写过一篇类似的文章,当时传输文件用的是ftp,因为项目觉得ftp不够安全所以这次换成了scp,同时对脚本的一些地方也做了一些调整) 其实做这个东西还是因为项目的需求,需要获取某些机器(目前主要是 ...

  4. SQL你必须知道的-增删改查与约束

    SQL你必须知道的-增删改查与约束   -- 插入数据    --Insert 语句可以省略表名后的列名,但是不推荐    insert into Class values ('' 高一一班 '', ...

  5. libpomelo的cocos2d-x客户端使用总结

    这几天看了libpomelo的cocos2dx客户端这是个聊天室,由2个场景构成,登录场景LoginScene,聊天场景ChatScene. 一. LoginScene 客户端是以Login场景来启动 ...

  6. The Datastore

    [中央数据库模式难扩展]绝大多数的Web应用在处理一个为了以后的请求作检索用的请求时,需要存储信息.<1.Most useful web applications need to store i ...

  7. L0、L1与L2范数、核范数(转)

    L0.L1与L2范数.核范数 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化.我们先简单的来理解下常用的L0.L1.L2和核范数规则化.最后聊下规则化项参数的选择问题.这里因为篇幅比较庞大 ...

  8. NodeJS:树的序列化

    本文也在我的博客edwardesire.com上,欢迎品尝. 接着上周的工作,我们把上周反序列得到的dtree对象输出到JSON,再将其序列化后存入MongoDB. 存入文档 先将上次得到的决策树对象 ...

  9. 第二百四十九天 how can I 坚持

    竟然让我跟着他们去旅游..泡温泉,滑雪..西北坡,不去白不去. 罗娜,你别把我拉黑啊.哎,不知道咋办. 晚上玩了四局LOL,全输了,伤心. 还有今天抢票没抢到. 该怎么破,12点半正好在吃饭啊. 睡觉 ...

  10. Spark RDD概念学习系列之Spark的算子的作用(十四)

    Spark的算子的作用 首先,关于spark算子的分类,详细见 http://www.cnblogs.com/zlslch/p/5723857.html 1.Transformation 变换/转换算 ...