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下使用了。