InfoPath,你不需要吗?

Microsoft Office以及Windows应该是微软的两个最大的盈利产品,所以它们的一举一动,最能牵扯广大最终用户的心。

Office System 2003的推出,让我们感受到其受为一个System的强大协作功能,但相信很多用户,对于Office 2003之外的InfoPath、OneNet等组件还不太了解。我在这儿想先讲讲啥是InfoPath。开心很难使用官方语言去为一个产品下定义,所以还是想到哪说到哪吧。

在几个PoC里面,简单的应用了InfoPath。最简单的,如果你开发了一个Web Service,在你不愿意为其编写ASP.NET的UI的时候,使用InfoPath是最佳选择,其操作就那么几步:

  1. 选择一个Web Service作为提交数据的数据源;
  2. 将数据列表中的Schema拖到表单设计器上;
  3. 再加一个Button按钮,就可以提交了,如果想美化一下,还有多种配色方案可供选择。

一切大功告成,就这么简单。做为一个表单设计工具来讲,InfoPath简单超强!!!有了它,你公司的部门秘书MM甚至不用学习任何编程,就可以做出一个像模像样的报销表单或者会议记录表单出来,供大家填写,甚至直接入库。所需要的就是拖拉而已。当然,再花哨一些的,就需要使用JavaScript编程了。

对于我来说,InfoPath让我感觉最不爽的有两点:

  • 不支持.NET 语言编程,作为一个.NET时代出生的产品,不支持这.NET简单太不可思议了,竟然还使用老套的JS以及老大的VBS;
  • 做出来的表单不能发布到Web上,再往前一步,如果像FrontPage一样,直接就设计出来生成ASP.NET网页,那不是超爽?那样,我们为什么还使用VS.NET来设计ASP.NET表单呢?

第一条不爽,估计下一版本就会有所改善。第二条不爽,估计不会有所改善了,至少MS官方不会提供类似的产品,因为这是Business,是By Design。

但官方不会,非官方就不会了吗?类似于.NET的跨平台,虽然MS没有提供官方实现,但Mono实现了呀。InfoPath也是同样的,有非官方提供的InfoView(http://infoview.uniqueworld.net/)。

可惜呀可惜,这个InfoView不像Mono那么慷慨,它不是免费的,其价格竟然是$12,000,而且还竟然是per CPU的。

世上无难事,只要肯登攀,老外能赚这钱,我们有五千年文明的老中们就不能赚这笔钱了吗?下载InfoPath的SDK,翻翻里面的内容,嘿嘿,还真有咱们需要的,那就是Downlevel工具,这是一个以三种外貌出现的工具,分别是cmd形式,JS形式以及xls形式。它可以将您的InfoPath表单给降格成HTML,为什么说是降格呢?因为在生成HTML后,所有的文本框都不再能填写呢悲伤的脸,看来此路不通呀。

我们再来分析一下InfoPath的文件内容吧,InfoPath表单设计完后,其后缀名是一个XSN文件,其实如果你再深究一步,这是一个cab文件,你可以从InfoPath的文件菜单中选择“提取表单文件”将里面的文件全部提取出来,里面会有一个XML以及一个XSL(根据你定义的视图而定),XML是数据Schema,而XSL则是表现,主要是配色方案。此XSL其实也是Downlevel的,但如果转换一下思路,再用另外一个XSL,将里面的<span>转换为<asp:TextBox>也不是很难吧?再从js文件里面读取出来相应的验证,做一个InfoServer,相信几个人用半年时间也可以开发出来了笑脸。到时候,大把的钱不是到手了吗?

可惜呀,我没有时间去做这个研究及开发,哪位感兴趣,赶快动手做起来,成功后,我就收取一点提成就是了,$100 per CPU,便宜吧?笑脸

打赏作者

“InfoPath,你不需要吗?”的135个回复

  1. 如果只是显示INFOPAHT界面,用XML数据岛就能实现,而且可以编辑。关键是INFOPATH的验证函数和业务规则就无法在WEB上使用了,另外提交表单时要进行控件映射,不然无法确认INFOPAT的控件名称。

  2. Pingback: 阿山NET
  3. 例子太少了,有没有那位老大提供一些源码参考呢?

  4. Pingback: ffengl
  5. 我有很久没有来开心的blog了,想不到这里还是这样热闹。今天收到
    [email protected]的邮件,想起了这篇帖子。找到了去年大概6月份写的那个小东西,一直也没有来改进,有太多需要修改的地方。我把它打成两个包,一个hr.rar是应用的例子,一个infopathview.rar是控件的源码。我先将它发给上面留言的朋友,请大家指教。

    目前正在做一个工作流的项目,很简单的项目仅实现了直线流。公司不同意基于xpdl标准,开发一个比较完善的工作流,因为公司开发的系统只有两个流程。一共进行了15天吧,流程监控、设计器和引擎基本完成。过一阵我想把infopath view集成进去,完善一下。

  6. 我们公司也想用INFORPATH去做一个流程.比如:我们现在一些表单,需要经个几个人的签名.这样用纸传来传去,非常不方便,效率非常低,又非常麻烦.我们想设计一个系统,通过EMAIL的方式,把这份表单一级一级往上签,全部用电子签名.请各位朋友给我建议,INFORPATH可以实现吗?

  7. 不是很理解你们所说的内容,在我看来如果想把infopath的文件转成
    webform然后让客户来填写,这样做似乎并没有什么好处,因为让客户设计这个infopath的template和教用户设计webform没太大区别吧,我觉得infopath的真正价值在于它是一个真正的smart document,以前填写一个word或者excel文档的内容只能做全文检索,不容易提取分析出有价值的东西来(当然office 2003有所改变),而infopath除可以提供数据以外还能提供我们开发人员更关心的数据结构。想象一下
    客户制作了若干个infopath文档(文档的信息字段是有实际意义的,比如年营业额),填写者下载或者在线填写后提交数据(xml文档),我们不必把这些数据存入数据库或者在数据库中保存文档字段信息,当客户想要在n个上报报表中查找感兴趣的数据时只需要象google一样输入xx公司 年营业额,数据就能自动抽取出来,这很让人兴奋阿

  8. 对于InfoPath做面向人的流程中的表单的确是很好,如何实现审批流程的?请教各位,不使用 BizTalk 2004 HWS功能,请AM hyphappy 也发给我一份,谢谢您![email protected] com

  9. AM hyphappy ,对于是否能实现公司内部的电子签字流程,真的是很困惑很期待,如果有方法可以做到,千万千万请你告诉我。
    我的邮件:[email protected]

    另外向你请教一个讨厌人的困惑啊,我刚开始接触infopth,觉得很好用,但是遇到一个麻烦,就是我只做好的表格,如果别人电脑上没有安装infopath 的话,根本看不到我的表格。

    不知道应该做什么处理或者转换才能使别人看到我的表格,并且不用去安装该软件呢?

    谢谢你!

    祝天天快乐!

  10. 不好意思,前面看了各位的帖子,我的理解是你们都是编程人员在做Infopath,而我是一个办公文员,近期我们公司老板也希望我用Infopath做表单,我想问的是,是不是没有数据源,我做出来的表单模板就是没用的呢?因为我现在只是依照一些原始表单的样子,到Infopath中新建空白表单的。

  11. 不知道哪个高手可以一起说下 InfoPath!?
    我现在用它来做医院的电子处方可以吗?你们哪个有这方面的经验?

评论已关闭。