zoukankan      html  css  js  c++  java
  • SharePoint 2010 + VS 2010 + InfoPath做工作流的各种坑[新手向]

    准备讲课要用的Demo(工作流确实是我的弱项,泪),折腾了一晚上,遇到各种坑,估计2007的时候就已经有不少人踩过了,总结一下自己备用。

    正常的那些流程就不用说了包括URN的设定什么的,主要是几个VS没有自动补进去的地方:

    1、工作流定义中的启动页面、关联页面等几个地址,如果用InfoPath做启动页面或者关联页面的话,需要手动指定到相应位置:

       1: <Workflow
       2: someotherproperties
       3: InstantiationUrl="_layouts/IniWrkflIP.aspx"
       4: AssociationURL ="_layouts/CstWrkflIP.aspx"
       5: >
       6: </Workflow>

    这两个页面是专门用来加载InfoPath的(MSDN相关链接:http://msdn.microsoft.com/en-us/library/ms563325.aspx)。

    2、如果用InfoPath作为任务表单,那么任务内容类型要指定为"0x01080100C9C9515DE4E24001905074F980F93160":

       1: <Workflow someotherproperties
       2:     TaskListContentTypeId="0x01080100C9C9515DE4E24001905074F980F93160">
       3: </Workflow>

    这个是SharePoint专门用来处理InfoPath表单的工作流任务的(继承自工作流任务)(MSDN相关链接:http://msdn.microsoft.com/en-us/library/ms550938.aspx

    3、如果是在VS项目里面同时部署xsn表单模板,需要在Feature里面加上表单模板的注册:

    在VS中展开Feature,编辑那个xxx.Template.xml(如下图)

    image

    加上表单注册的属性(这个和2007里面做InfoPath工作流是一样的),鼓捣完之后,应该是下面这个样子:

       1: <?xml version="1.0" encoding="utf-8" ?>
       2: <Feature xmlns="http://schemas.microsoft.com/sharepoint/">
       3:   <Properties>
       4:     <Property Key="GloballyAvailable" Value="true" />
       5:     <Property Key="RegisterForms" Value="Forms\*.xsn"/>
       6:   </Properties>
       7: </Feature>
    那个Forms是部署的相对路径,取决于你的表单部署在什么地方(参考上面那张截图)

    4、在Feature上增加一个SharePoint内置的事件处理程序,选中工作流的SPI(比如上图里面的“Workflow1”),在属性面板中可以看到“功能接收器”,如下图:

    image

    程序集名称:Microsoft.Office.Workflow.Feature, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c

    类名:Microsoft.Office.Workflow.Feature.WorkflowFeatureReceiver

    这个是SharePoint用来注册工作流的(为什么不自动加进去呢……)

    总结:2007的时候很多东西都要自己写,而VS2010很多东西都为我们生成好了,于是就容易忘……

    我坦白,2007的时候我就没做过VS工作流……

  • 相关阅读:
    php json_decode无法处理解决方法
    jquery ajax怎么使用jsonp跨域访问
    jquery ajax怎么使用jsonp跨域访问
    查看xml源码的方法
    php array_push 与 $arr[]=$value 性能比较
    生成个性二维码方法
    PHP匿名函数的写法
    PHP rand和mt_rand 区别
    C++ 顺序表
    线索树的建立与遍历
  • 原文地址:https://www.cnblogs.com/erucy/p/2431634.html
Copyright © 2011-2022 走看看