设为首页 收藏本站
查看: 1377|回复: 0

[经验分享] 带有托管代码的InfoPath2007表单模版发布到SharePoint表单库(浏览器方式查看)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-24 12:40:17 | 显示全部楼层 |阅读模式
  在本篇文章中,将与大家分享如何将一个带有托管代码(manage code)的InfoPath2007表单模版发布到SharePoint Server2007的表单库中,并使得最终用户可以通过浏览器方式访问。
  1.         创建InfoPath表单模版
  在这里,我们使用VSTO2005与InfoPath2007。生成带有托管代码的InfoPath表单模版有两种方法:
  l 方法一:首先,用InfoPath定制表单模版,包括数据源、视图等。当需要使用托管代码来实现表单的后台逻辑操作的时候,通过VSTO2005建立InfoPath表单项目,然后使用之前创建好的模板。这种方法适用于表单模版数据项比较多,视图比较复杂的场景。
  l 方法二:直接通过VSTO2005建立InfoPath表单项目,在统一的VS.net环境中生成表单模版的数据源、视图等部分。此种方法适用于表单模版数据项比较少,视图比较简单的场景,因为InfoPath的用户使用体验不是特别好。
  在这里,我们使用方法二。
  a)         创建InfoPath项目。

DSC0000.jpg    DSC0001.jpg
选择“InfoPath表单模版”,为项目命名为“IPFromBrowser”

DSC0002.jpg    DSC0003.jpg
如果需要使用已有的InfoPath表单模版,那么您需要在此处选择左边“基于现有表单模版创建项目”的“导入”。这里,我们选择“设计新的:”-〉“表单模版”基于“空白”。因为我们需要创建一个可以在浏览器端使用的表单模版,所以,一定要选上最下方的“仅启用浏览器兼容性功能”。选择“确定”。   a)         设计InfoPath表单模版:
  开发界面如下:

DSC0004.jpg   如果没有看到InfoPath设计器的部分,可以通过如下操作添加,选择“视图-〉设计任务”:

DSC0005.jpg    DSC0006.jpg
选择“设计任务-〉数据源”,然后,选择“添加域或组…”

DSC0007.jpg     我们将此节点命名为“textbook”.并将其作为“文本框”展示给最终用户;

DSC0008.jpg    DSC0009.jpg
选择左侧的“工具箱”,将按钮拖至设计界面:

DSC00010.jpg
DSC00011.jpg
双击“按钮”,为按钮编写click事件:
DSC00012.jpg
选择“编辑表单代码”:
   DSC00013.jpg
  我们的应用场景是,点击“按钮”,上面的文本框显示“hello onion!”。代码如下:
DSC00014.jpg
调试编写的项目,成功!
DSC00015.jpg   
a)         为表单模版发布做准备:信任级别及证书   选择“工具”-〉“表单选项”

DSC00016.jpg   

在“表单选项”中选择“安全和信任”:

DSC00017.jpg     因为在表单中使用了代码,所以在“安全级别”方面,要去掉“自动确定安全级别(推荐)”,而选择“完全信任”:

DSC00018.jpg   与此同时,因为表单有代码,而且安全级别设置为“完全信任”,相应的,“表单模版签名”要选择“为此表单模版签名”。在此处,可以使用其它公司的认证、签名。在这个演示中,我们使用windows自己的证书。即选择“创建证书”:

DSC00019.jpg    DSC00020.jpg
点击“选择证书”,选中需要的证书后,点击“确定”:
  然后,点击“确定”退出。   
  保存项目。
  1.         发布InfoPath表单模版
  现在,我们开始发布InfoPath表单项目了。如果表单中没有代码,那您可以非常方便的把模版发布到文档库中。如果有了代码,那就只能有一种方式,就是需要管理员审批。原理是,表单作者将表单库发布到SharePoint上,其实是把表单发布到一个管理员可以访问到的地方(比如网络共享服务器)。管理员需要将表单模版上传到管理中心的“管理表单”,确定将表单在“网站集”激活、可用。最后,管理员,需要在“网站集”上激活相应的表单模版。
  这样的过程虽然非常复杂,但是对于管理员维护表单模版非常方便。将模版的使用及开发、审核分开。
  a)         表单模版设计者发布表单模版到SharePoint服务器。
  下面,我们就开始介绍如何发布InfoPath表单模版:
  可以选择“生成”-〉“发布”,也可以在“设计任务”中选择“发布表单模版”,为了保险起见,您还可以运行“设计任务”中的“检查设计方案”看模板是否有问题。
DSC00021.jpg   选择“具有或不具有InfoPath Forms Services的SharePoint服务器(S)”:

DSC00022.jpg     输入需要发布表单模版的sharepoint地址:
DSC00023.jpg   
点击“下一步”,在这个页面中,一定要保证选中“使用户可以通过浏览器填写此表单”,否则无法完成后续的发布工作。
  
   DSC00024.jpg
选择“下一步”,在这个页面中,列出了“指定此表单模版的位置和文件名”,其实就是需要您填写,希望把表单发布在什么位置供管理员审核、上载,同时,将工程文件打包成一个InfoPath表单模版.xsn文件,该文件中包含了VSTO生成的.dll代码。
  选择“浏览”:

DSC00025.jpg
放在服务器上的文件,我们仍命名为“IPFromBrowser”:
  
   DSC00026.jpg
选择“下一步”,在此处,您可以添加InfoPath表单模版中的结点,作为显示在SharePoint表单库的列。

  
DSC00027.jpg   
选择“下一步”:
  
   DSC00028.jpg
点击“发布”。
  
   DSC00029.jpg
选择“关闭”。至此,表单创建者的工作完成了(在生产环境中,表单创建者需要告知管理员需要发布的表单模版包括模板存放的网络位置)。
  
  a)         管理员上载表单模版,并审批、激活表单。
  管理员打开“SharePoint 3.0管理中心”:
   DSC00030.jpg
         
DSC00031.jpg
选择“应用程序管理”:
  
   DSC00032.jpg
选择“InfoPath Forms Services”的“管理表单模版”:
  
DSC00033.jpg
在此处,您可以看到所有管理表单,选择“上载表单模版”:
  
   DSC00034.jpg
选择“浏览”,选择刚才发布到网络服务器上的InfoPath表单:
  
DSC00035.jpg
选择“打开”:
  
   DSC00036.jpg
在此,您可以选择“验证”,来检查表单模版的问题:
  
   DSC00037.jpg
点击“确定”:

  重新选择InfoPath表单模版,点击“上载”:
  
DSC00038.jpg
表单模版上载成功,点击“确定”:
  
   DSC00039.jpg
在“管理表单模版”页面,您可以看到刚刚上载的表单模版“IPFromBrowser”:
  
DSC00040.jpg
点击表单模版旁的下拉箭头,选择“激活到网站集”:

DSC00041.jpg   

   DSC00042.jpg
在这里,您可以选择激活位置(也就是你需要使用该表单模版的位置)。点击“确定”。
  
  下面,我们来激活网站集上的表单模版。
  进入SharePoint门户网站:

DSC00043.jpg   
选择“网站操作”-〉“网站设置”-〉“修改所有网站设置”:
  
   DSC00044.jpg
DSC00045.jpg
选择“网站集管理”下面的“网站集功能”:
  
DSC00046.jpg
此时,您可以注意到,我们刚刚激活的表单模版IPFromBrowser处于“停用”状态,点击“激活”:
  
   DSC00047.jpg
此时,该表单模版发布成功,已经可以使用了。下面,我们就将发布成功的表单模版部署到表单库。
  1.         将InfoPath表单模版部署到表单库
  a)         在SharePoint门户网站上建立表单库
  打开主页:
  
DSC00048.jpg
点击“网站操作”-〉“查看所有网站内容”:
  
   DSC00049.jpg
选择“创建”:
  

   


选择“库”下面的“表单库”:
  
  
为表单库命名,其他值保持默认值,点击“创建”:
  

点击“设置”-〉“表单库设置”:
  
  
选择“常规设置”中的“高级设置”:
  

在“内容类型”部分的“是否允许管理内容类型”,选择“是”;同时,将“启用了浏览器的文档”部分的“打开启用了浏览器的文档”,选择“显示为网页”(否则,表单模版会以客户端的方式打开):
  
  
其他值保持默认值,点击“确定”:
  
  
  

b)         将InfoPath表单模版部署到表单库
  继续在上一页面中操作:
  

在内容类型部分,您会看到“从现有网站内容类型添加”的链接,点击:
  
  
  

在“可用网站内容类型”处,选择我们需要部署的表单模版“IPFromBrowser”,将它添加到“要添加的内容类型”:
  
  
点击“确定”。


  至此,InfoPath表单的开发、发布、部署就完成了。让我们来测试一下:
  回到“IPFromBrowser”表单库:
  

选择“新建”-〉“IPFromBrowser”:

  
  


  转载自:李婷 2007/1/11
源代码下载:InfopathDemoFile

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-118227-1-1.html 上篇帖子: [SharePoint 2010 的那些事儿-InfoPath]使用InfoPath表单筛选SharePoint列表数据 下篇帖子: Sharepoint学习笔记—ECM系列--管理元数据服务应用Metadata Service Application
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表