Custom workflow Activity

Requirement: 我们在Workflow中发email的时候经常会连Current Item URL也要发过去。Current Item url在SharePoint Designer 做workflow是拿不到的,我们是可以通过hardcode的方式写,但是这样不好。怎么办?写一个custom activity来实现吧。

A, 新建一个SharePoint 2010的empty Project. 因为SharePoint Empty Project会帮我们生成feature和package.普通的library project这些都是要自己写的。

B, 在这个solution下新建一个workflow activity project。可以重新命名那个Activity文件的。

C, 修改其继承关系,定义变量,引入SharePoint相关dll.

D, 重写execute方法,把得到的url 赋给返回变量。

E, 到这里代码执行部分就已经完成,下面我们来配置。

Step1, 对其进行强命名。

Step2, 在Sharepoint空项目中加入Workfow mapping folder.

路径是:\14\TEMPLATE\1033\Workflow

Step3, 在Workflow folder下加入一个Action file.(XML格式)

GetUrl.actions

Step4, 添加setting.

<WorkflowInfo>
  <Actions Sequential="then" Parallel="and">
    <Action Name="Get Current Item url" ClassName="GetCurrentItem.GetCurrentItemActivity" Assembly="GetCurrentItem, Version=1.0.0.0, Culture=neutral, PublickeyToken=....">
      <RuleDesigner Sentence="Current Item Url: %1">
        <FieldBind Field="ItemURL" Text="Item url" DesignerType="ParameterNames" Id="1" />
      </RuleDesigner>
      <Parameters>
        <Parameter Name="_Context" Type="Microsoft.SharePoint.WorkflowActions.WorkflowContext" Direction="In"/>
        <Parameter Name="_ListId" Type="System.String, mscorlib" Direction="In"/>
        <Parameter Name="_ListItem" Type="System.Int32, mscorlib" Direction="In"/>
        <Parameter Name="ItemURL" Type="System.String, mscorlib" Direction="In"/>
        <Parameter Name="_ActivationProperties" Type="Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties, Microsoft.SharePoint" Direction="Out"/>
      </Parameters>
    </Action>
  </Actions>
</WorkflowInfo>

Step5, 添加一个feature然后重新命名,当然也可以不新命名。

Step6, 修改package把GetCurrenItem.dll也打包进去。

Step7, 给feature active 加一个event receiver.

Step 8, 把feature scope改为webApplication.

F, 然后就可以deploy了。如果是直接用VS2010 deploy就没有什么要说的了,如果是用命令deploy,要到center administration去active the feature.

现在我们可以在sharepoint designer下使用了。

转载于:https://www.cnblogs.com/Forest-zhu/archive/2011/07/07/2100141.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值