深入浅出InfoPath——让管理员来部署InfoPath表单
應(yīng)用場(chǎng)景:
我們(乙方)在給客戶提供基于InfoPath表單(尤其是包含托管代碼的)的工作流解決方案的時(shí)候,常常需要客戶(甲方)的SharePoint管理員來(lái)幫忙在安裝SharePoint Server的服務(wù)器上部署,而管理員不需要知道需要哪些步驟來(lái)完成InfoPath Service的部署,更不愿意看到通過(guò)繁瑣的操作來(lái)完成預(yù)定的任務(wù)。大家都知道企業(yè)軟件有個(gè)特點(diǎn):盡可能少的Code。要想問(wèn)題少的最好辦法就使用盡可能少的代碼。所以我們使用命令來(lái)部署InfoPath Service自動(dòng)化部署InfoPath表單是最好的辦法。
基本原理:
使用bat命令或者PowerShell來(lái)執(zhí)行SharePoint管理命令。SharePoint為管理員提供了以下部署InfoPath表單的命令:
%STSADM% -o RemoveFormTemplate -filename
%STSADM% -o uploadformtemplate -filename
%STSADM% -o deactivateformtemplate -url %SITEURL% -filename
%STSADM% -o activateformtemplate -url %SITEURL% -filename
參考方案:
我們現(xiàn)在需要客戶的SharePoint管理員來(lái)重新部署我們提供的出差申請(qǐng)流程。
1 文件結(jié)構(gòu)如下放置
2 bat腳本
@SET STSADM="%programfiles%\Common Files\Microsoft Shared\web server extensions\12\BIN\STSADM.EXE"@SET SITEURL="https://www.cnblogs.com/sites/mingle"
%STSADM% -o RemoveFormTemplate -filename "Mingle.FormTemplates\BusinessTripRequest.xsn"
%STSADM% -o execadmsvcjobs
%STSADM% -o uploadformtemplate -filename "Mingle.FormTemplates\BusinessTripRequest.xsn"
%STSADM% -o execadmsvcjobs
%STSADM% -o deactivateformtemplate -url %SITEURL% -filename "Mingle.FormTemplates\BusinessTripRequest.xsn"
%STSADM% -o execadmsvcjobs
%STSADM% -o activateformtemplate -url %SITEURL% -filename "Mingle.FormTemplates\BusinessTripRequest.xsn"
%STSADM% -o execadmsvcjobs
pause
如果我們第一次部署InfoPath表單,可以僅使用uploadformtemplate和activateformtemplate即可。
補(bǔ)充說(shuō)明:
a、execadmsvcjobs此命令可以保證下達(dá)的任務(wù)馬上執(zhí)行。我們?cè)趯?shí)際部署中經(jīng)常遇到部署后10多個(gè)小時(shí),新的InfoPath設(shè)計(jì)才生效。
b、為什么我們重新部署的時(shí)候需要先反激活I(lǐng)nfoPath表單,然后再重新激活呢?因?yàn)镮nfoPath表單新的設(shè)計(jì)使用的站點(diǎn)不重新激活的話,新的設(shè)計(jì)信息將不生效。
以上問(wèn)題在我們手工部署InfoPath表單的時(shí)候也常常碰到同樣的問(wèn)題。
?
?
擴(kuò)展閱讀:
在SharePoint2010中可以通過(guò)Feature來(lái)部署沙箱的InfoPath表單,以下命令可供使用
Uninstall the existing solution?(based on the from file name):
Uninstall-SPInfoPathFormTemplate -Identity Exampleform.xsn
Install the new solution (based on the from file name):
Install-SPInfoPathFormTemplate -Path C:\Form.xsn
Disable feature on site collection level
Disable-SPInfoPathFormTemplate -Identity "Form.xsn" -Site http://SPSite?
Enable feature on site collection level
Enable-SPInfoPathFormTemplate -Identity "Form.xsn" -Site "http://SPSite"?
?
轉(zhuǎn)載于:https://www.cnblogs.com/mingle/archive/2011/01/30/1947930.html
總結(jié)
以上是生活随笔為你收集整理的深入浅出InfoPath——让管理员来部署InfoPath表单的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 人人开源项目搭建到服务器,人人开源框架的
- 下一篇: 使用nginx 和 switchhost