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


    本文讲述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:Usersv-abchenAppDataLocalMicrosoftWebsiteCache ,这是因为部署了新的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




  • 相关阅读:
    反射学习(二)
    反射学习(一)
    web项目问题总结
    MyEclipse使用过程中的问题及对应设置的总结
    JSP的四个作用域
    bootstrap 点击模态框上的提交按钮后,模态框不能关闭的解决办法
    xgboost 参数
    CART树
    GridSearchCV
    xgboost使用
  • 原文地址:https://www.cnblogs.com/james1207/p/3365954.html
走看看 - 开发者的网上家园