被Infopath折磨后想说的那点事

Infopath表单在协同工作流一起工作的时候涉及到的知识点和内容有些杂,自然而然就会产生各种个样的错误,而针对这些错误我么往往会感觉莫名奇妙,事实上我们是按照参考资料一步一步做的,人家都没出错误我怎么会出错误呢?遇到这种情况我和大家一样也是充满了困惑与无奈,甚至拼命的抓头,心理像猫抓似的,可是到后来呢我们已经被折磨的无奈了,越是心急越解决不了问题,其实呢,只要我们静下心来,从头到尾巴仔细调理一下,还是能很快解决问题的,关键是要有耐心和毅力再加点小小的领悟力就行了,切莫被困难吓倒啊。好了,罗嗦了一大堆,咱们书归正题。说来我已经有大半年没有搞WF了,这次又重操旧业,当时学的时候掌握的不是很充分,这一次誓言一顶要认识的深刻一些。你还别说认识的深刻也是源于一翻痛苦的折磨,呵呵.做Infopath和WF的结合,往往需要我们设计好对应的WF流程,在具体的流程各个节点上放置我们需要的Infopath表单进行关联,这其中不可避免的就涉及了InfoPath表单的设计,大家在了解Infopath的时候相信已经了解了许多,在这里我在就我个人的体验做以总结,首先我们打开Infopath设计器进行表单的设计,开始要选择一个符合我们需要的设计模板,并且确保仅启用浏览器兼容性功能,因为我们的表单是要在浏览器中打开的,这样可以避免一些浏览器不支持的功能,表单打开了我们就可设计了比如定制一些域,属性什么的,建立相关的数据连接等等,当我们把这些都设计好了之后,我们会经历两个过程,其一是保存,其二是发布。在保存之前我们要确认几个方面,确认浏览器的兼容性设置。要求它必须是一个可在浏览器中打开的Infopath模板。版本控制呢要选择自动升级先有表单,这样我们在发布的时候可以自动更新版本,安全与信任这个是关键,它很大程度上决定你的Infopath表单能否发布成功,由于我是与WF结合,可以选择域信任级别或者完全信任级别,这里我选择完全信任。其他设置按照你个人的需要进行设置即可。这样呢我们就完成了Infopath的设置,然后就可以将我们的Infopath发布到我们项目的文件存储位置.在做完了这些工作之后,我们通常需要导出Infopath的xsd Schema,通过Schema生成我们WF中所需要的Source Code,这需要借助xsd tools,我们将生成的soucecode加到我们的工程当中,以后部署到moss或其他宿主当中,宿主通过它就能够让Infopath与我们的WF进行communication了,WF中就可以获取我们需要的field值啦,以后要在Wf里做什么事,就都是你的WF做的事儿了。说到这里我大略的只是说了下Infopath与WF协同工作中需要做的一些设置和基本的开发流程,其间我也走了不少弯路,出现了很多错误,事实上大多还是出现的Infopath上,所以在做Infopath相关的开发的时候,要多多留意Infopath的相关设置。当我们把这些都做完了之后,我们可以对发布的批处理文件进行对应的修改,以便可以发布到正确的位置进行部署,WF的描述文件中要有对应的程序集及类的描述,最重要的一点别忘记给你的WF加个SN,最后运行部署bat文件进行feature和Gac的安装和部署,别以为此时你的WF就可以工作了,还没有,你需要到moss中激活一下,然后在需要的列表中做关联,那么你的WF就可以用了。启动一下看看你的WF表单设计是不是呈现了呢,希望大家少犯错误哦。

下面是在网上看到的有关code-bebind表单错误的相关信息,有兴趣的可以看一下:

SharePoint workflows - InfoPath 2007 form ‘code-behinds’

After taking a bit of a break from workflows to attend to other aspects of MOSS customization, I’m preparing to get back into it.  In digging thru some old files   After taking a bit of a break from workflows to attend to other aspects of MOSS customization, I’m preparing to get back into it.  In digging thru some old files, I found some notes I had made about embedding .NET code in your MOSS Workflow InfoPath forms.  I thought I’d post it in case it might help anyone out…   The ability to use InfoPath 2007 to create your workflow forms is one of the nicest features of custom MOSS workflow development.  To make your forms even richer and more powerful, you can add ‘code-behind’ logic to your form using .NET code.   Overall, its pretty simple to write code for an InfoPath form, and that topic is covered very well in many other places, so I won’t go into any detail here.  But what I will do is point out a few things I’ve learned about using InfoPath code behinds in MOSS workflows.   1. You don’t need an association form    a. Just comment out the tag from workflow.xml

2. If you have any control event handlers in you IP code-behind that require a postback, you’ll need to set the control’s Browser forms postback setting to “always”    a. Under Browser forms tab in the control’s properties dialog    b. Example, you have an event that fires when a dropdown value changes

3. If you are going to access the SharePoint object model in your code, you’ll need to sign the form to make it fully trusted    a. You don’t need to sign the form unless your code-behind accesses the SharePoint object model

4. You’ll need the code-behind .dll file to live in the Feature directory folder, alongside the .xsn file    a. Not sure why having it in the GAC doesn’t do the trick

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值