本文讲述VS2012 开发SharePoint 2013 声明式workflow action 之 HelloWorld。

使用VS2012开发客户化的workflow action是SharePoint 2013 自带的action的一种补充,用于实现较为复杂的业务逻辑,需要它的理由有三:

1.满足客户复杂逻辑的定制化需求

2.可以由专业第三方的公司开发更多友好和适合特定行业的action库,以满足用户需求,有利于构件更完善的SharePoint 2013 生态系统

3. 代码和业务逻辑重用

下图是Custom activity 所处的SharePoint 2013 workflow 的体系结构中的位置:

接下来说明如何使用VS2012实现一个最简单的声明式workflow action (需求是接受一个message参数,将该message写到Workflow history list中,实际工作中肯定不会有这种需求,这里是举个简单的例子):

准备工作参考前一篇的准备工作: 

http://blog.csdn.net/abrahamcheng/article/details/12612481

外加安装VS2012 + Office 2013 development tool

新建SharePoint 2013 solution

1.新建SharePoint 2013 empty solution(选择farm solution或sandbox solution均可)

2. 新建Custom action

3. 添加输入参数

4. 在Toolbox中搜索WriteToHistory,并拖拽至 HelloWorldAction中

5. 将输入参数HelloMessage设置为WriteToHistory的Message属性

6. 编辑HelloWorldAction.actions4, 绑定输入参数和RuleDesigner

<Action Name="HelloWorldAction" ClassName="HelloWorldAction.HelloWorldAction" Category="Custom" AppliesTo="all">
<RuleDesigner Sentence="Hello message is %1">
<!-- Define the UI widgets SharePoint designer should use for configuring this action -->
<FieldBind Field="HelloMessage" Text="Hello message" Id="1" DesignerType="TextOnly" DisplayName="Hello message" />
</RuleDesigner>
<Parameters>
<Parameter Name="HelloMessage" Type="System.String, mscorlib" Direction="In" DesignerType="TextOnly" Description="Set the HelloMessage" />
</Parameters>
</Action>

7. 使用VS部署该解决方案

在SharePoint designer 2013中使用custom action

1. 清空SharePoint designer 2013 的cache文件 C:\Users\v-abchen\AppData\Local\Microsoft\WebsiteCache ,这是因为部署了新的action,否则使用SharePoint designer 2013 新建workflow时会出现如下错误:

Sever-side activities have been updated. You need to restart SharePoint designer to use the updated version of activities.

2.打开SharePoint  designer 2013 新建一个命名为TestHelloWordAction 的site workflow

3.在新建的workflow 中加入HelloWorldAction


4.设置Message参数

5.给workflow添加结束语句,并发布


调试custom action

1. 在VS2012的activity 上设置调试断点

2. 启动VS2012调试

3. 到 http://SP2013Site/_layouts/15/workflow.aspx 页面启动site workflow TestHelloWordAction

4. VS2012中的断点将被激活

5.按F5工作流完成后可以看到我们写入Workflow History 的HelloMessage

VS2012 开发SharePoint 2013 声明式workflow action(activity)之 HelloWorld的更多相关文章

  1. 使用VS2012 开发SharePoint 2013 声明式的action(activity) 综合实例

    本文讲述使用VS2012 开发SharePoint 2013 声明式的action 综合实例. 需求同: http://blog.csdn.net/abrahamcheng/article/detai ...

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

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

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

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

  4. 安装和配置SharePoint 2013 Workflow

    SharePoint 2013中的工作流概述 在SharePoint 2013中,Workflow(建立在Windows Workflow Foundation 4.5)和WCF承载在Workflow ...

  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. 导入导出Android手机文件

    1.获得root权限:adb root: 如提示adbd cannot run as root in production builds,参见我的另一篇文章:http://www.cnblogs.co ...

  2. Swift学习:闭包(Closures)

    /* 闭包(Closures)* 闭包是自包含的功能代码块,可以在代码中使用或者用来作为参数传值.* 在Swift中的闭包与C.OC中的blocks和其它编程语言(如Python)中的lambdas类 ...

  3. 短小强悍的JavaScript异步调用库

    对于博文 20行完成一个JavaScript模板引擎 的备受好评我感到很惊讶,并决定用此文章介绍使用我经常使用的另一个小巧实用的工具.我们知道,在浏览器中的 JavaScript 绝大部分的操作都是异 ...

  4. Linux 系统 网络配置

    Linux 系统 网络配置 配置Linux系统网络的方法有几种,这里介绍本人常用的两种. 第一种:使用命令ifconfig配置,具体用法:Ipconfig  ethx   x.x.x.x    net ...

  5. 在Windows下忘记MySQL最高用户权限密码的解决方案

    1.打开MySQL配置文件 my.ini中,添加上skip-grant-tables,可以添加到文件的末尾或者是这添加到[mysqld]的下面(直接添加在my.ini文件最后亲测可以,但是在[mysq ...

  6. Daily Scrum 11.11

    摘要:本次会议继续讨论程序的问题以及单元测试和集成测试,本次测试为1.02版本.本次的Task列表如下: Task列表 出席人员 Today's Task Tomorrow's Task 刘昊岩  t ...

  7. 1561:The more, The Better - hdu

    Problem DescriptionACboy很喜欢玩一种战略游戏,在一个地图上,有N座城堡,每座城堡都有一定的宝物,在每次游戏中ACboy允许攻克M个城堡并获得里面的宝物.但由于地理位置原因,有些 ...

  8. WSDL 文档解析

    学习webservice,就离不了WSDL文档,他是我们开发WebService的基础,虽说,现在现在有许多WebService的开源框架使得我们可以根据WSDL生成客户端代码,但是,了解WSDL文档 ...

  9. 01-05-01-2【Nhibernate (版本3.3.1.4000) 出入江湖】立即加载实现--NHibernateUtil.Initialize()和添加fetch关键字的HQL查询

    相关资料: http://www.cnblogs.com/lyj/archive/2008/10/29/1322373.html 问题的提出: 1.延迟加载,可能会引起session已经关闭的异常,例 ...

  10. 将LINUX变成路由器

    将LINUX变成路由器 2009-06-04 22:38:45 标签:LINUX 路由器 休闲 职场 版权声明:原创作品,如需转载,请与作者联系.否则将追究法律责任.     LINUX系统是一个强大 ...