在以前的章節,你學會了如何建立InfoPath表單,如何添加布局和控件,甚至如何建立簡單的SharePoint列表表單。由於本章節主要致力於發佈方法,咱們將建立簡單的表單,重點在發佈和提交過程。你學到的方法和最佳實踐將應用到建立的全部表單,除了SharePoint列表表單。在第四章節「處理SharePoint列表表單」,你可能已經注意到,數據 鏈接的建立和發佈方法的選擇不被要求,由於它們都是自動內置的。下面是三種不一樣的發佈選擇:
1.
表單庫
當表單須要填寫並只能發佈到單一位置時,發佈到SharePoint表單庫。當表單被髮布到表單庫時,表單模板的XSN文件變成了庫的模板。典型地,當發佈到庫時,表單也會提交到相同庫。
2.
網站內容類型
當表單須要在多個庫中使用時發佈到內容類型。當表單以這種方式發佈時,新表單內容類型能夠添加到站點的許多不一樣庫中。看成爲內容類型發佈到網站集的頂層時,內容類型能夠在網站集中全部的站點和庫中使用。
3.
經管理員覈準的表單模板
當表單須要跨越場全局部署時,或者包含自定義的代碼,做爲經管理員覈準的表單模板發佈。當這種類型的表單被髮布時,不像使用其餘兩種方法,它不自動部署到SharePoint中。這種方法建立一個XSN文件做爲輸出,它而後必須被服務器管理員上載到InfoPath Forms Service中。
既然如今你對三種不一樣的發佈方法有了基本的理解,是時候開始一些練習了。在Contoso,每一個員工將導航到SharePoint內相同的表單庫,在那兒,每一個請假請求都被收集在SharePoint表單庫中。當收集時,全部的公司時間請求能夠被排序篩選,多個視圖能夠被建立。由於全部的表單必須放置在一個位置,以便進一步作報表和傳播,因此單一一個表單庫就夠了。
在下面的練習中,你將建立一個公司請假申請表單。這個表單將用在本章中的每一個練習中。
準備:在瀏覽器中打開SharePoint站點,這樣能夠建立新列表。在你的電腦中建立一個新的文件夾C:\InfoPath Files。
1.
打開InfoPath Designer 2010
2. 在經常使用表單模板部分,點擊選擇SharePoint表單庫。而後點擊右側的「設計表單」。瀏覽器
3. 在咱們添加控件到表單前,一些域能夠在域窗格建立。右擊「myFields」,而後點擊「添加」打開「添加域或組」對話框。服務器
4.
在「名稱」框中輸入EmployeeInfo,「類型」輸入「Group」,並點擊肯定。
目標是用組來組織全部域,到邏輯節中。
小貼士:建立和保持域被組織好對於表單建立者是有益的。這是你的工做變得簡單,特別是對於超過50個域的表單。表單在生產環境使用以前,確保域組織是完整的。過後從新安排域會引發數據丟失。
5.
在myFields節,使用相同方法建立另外一個組RequestInfo,點擊肯定。
6. 右擊EmployeeInfo點擊添加域FirstName,類型爲域(元素),數據類型爲文本(字符串),點擊肯定。函數
7. 使用下面的表重複步驟6,建立剩下的域。佈局
小貼士:若是任何域在結構中錯誤的位置建立,右擊域可查看額外選項如移動、下移或上移。
8.
雙擊RequestDate域,而後點擊默認值邊上的公式按鈕
9. 點擊「插入函數」按鈕,選擇「日期和時間」類別,在「函數」部分,選擇「now」,點擊肯定。網站
10. 申請時間被捕獲之後,你不想讓域中的數據在下次表單打開時改變,因此清空「從新計算公式時刷新值」複選框,點擊肯定。spa
小貼士:now()函數能夠被使用,是由於RequestDate域做爲日期時間域被建立。若是域只是做爲日期域被建立,那麼相應地是today()函數可使用。本例中,咱們想要對於每一個表單RequestDate老是惟一的。所以,捕獲日期和時間到秒確保了域值惟一。
11. 如今咱們須要添加一些文本到佈局。點擊表單的「單擊此處添加標題」,輸入Time-Off Request Form。點擊第一個「單擊此處可添加標題」域,輸入Employee Information;在第二個「單擊此處可添加標題」域,輸入Request Information。設計
12.
拖動FirstName和LastName域到Employee Information節的第一行。
13.
Request Date域有點不一樣。它將被設置爲只讀。由於日期和時間選取器不能設置爲只讀,它將做爲文本域被插入。在Employee Information節第二行最左邊的單元格,輸入Request Date:(包含冒號)。
14. 按下Tab鍵,這樣光標在第二行的第二個單元格中。在右側的域列表,點擊RequestDate域上的下拉箭頭,點擊「文本框」。orm
15.
雙擊表單上的Request Date文本框,在功能區,「屬性」選項卡,選擇「只讀」複選框。
16.
拖動Department域到相同節的第二行。選中第三行,刪除整行。
17. 在Request Information節,放置LeaveDate域到第一行,ReturnDate域到第二行,Reason域到第三行。合併第三行的兩個單元格。排序
如今表單被建立了,它將做爲本章節其他練習的基礎被使用。
下面的練習中,請假申請單將做爲表單庫發佈到SharePoint。
準備:在瀏覽器中打開SharePoint站點。瀏覽以前建立的Time Off Request表單。若是Time Off Request表單當前不是在InfoPath Designer 2010中打開的話,導航到該文件,右擊選擇設計。
1.
點擊「文件」菜單,點擊「發佈」,而後點擊SharePoint服務器。
「保存爲」屏幕出現,要求你保存XSN文件。這個XSN文件時新的InfoPath表單的模板文件。保存地址是文件的一個backup拷貝。
2.
選擇C:\InfoP Files,命名文件爲TimeOff.xsn。打開發布嚮導。
注意:稍後處理XSN文件時,能夠簡單右擊保存的XSN文件,選擇設計。
3. 在發佈嚮導第一頁,輸入SharePoint站點URL,點擊「下一步」。開發
4. 在建立新表單時,默認兼容級別是基於瀏覽器的。由於表單只會在一個表單庫使用,在瀏覽器中填寫,默認設置能夠保持不變,點擊「下一步」。
小貼士:若是表單的兼容想須要改變(發佈期間除外),點擊文件,選擇窗體選項。有個兼容性節,那兒有更多設置。
5. 由於這是表單第一次發佈,選擇「新建表單庫」選項,點擊「下一步」。
6. 輸入Time Off Form做爲表單庫名,描述域輸入This is the time-off request form,點擊「下一步」。
7.
你的域能夠被提高爲SharePoint庫的欄。如今,欄將爲空,直到下個練習,因此簡單點擊「下一步」。
小貼士:屏幕下半部分是添加參數的地方。第八章節「使用InfoPath表單Web部件」,會討論InfoPath表單Web部件,它包含了關於參數的部分,以及如何使用參數的例子。
8. 在最後一頁,檢查表單信息的總結,點擊「發佈」。 9. 打開瀏覽器,導航到第三步用的URL,在左側導航面板「庫」部分,點擊Time Off表單。點擊「添加文檔」來填寫新的表單。 注意,這個基本的表單還有許多能夠補充的。須要作幾個重大改進。咱們在本章節將會談到,最明顯的問題,表單沒有提交按鈕,且沒有驗證。