敦群學院-SharePoint精英計畫-系統開發-Day 3

2,999 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,999
On SlideShare
0
From Embeds
0
Number of Embeds
49
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

敦群學院-SharePoint精英計畫-系統開發-Day 3

  1. 1. SharePoint 菁英計畫 系統開發實戰營 敦群數位科技股份有限公司 游家德 Jade Yu Welcome 歡迎參與
  2. 2. 課程規劃 <ul><li>第一天 </li></ul><ul><ul><li>MOSS2007 架構與一般企業客製化功能簡介 </li></ul></ul><ul><ul><li>SharePoint Designer 2007 </li></ul></ul><ul><ul><li>Master Page 修改與設定 </li></ul></ul><ul><ul><li>介面選單修改 </li></ul></ul><ul><li>第二天 </li></ul><ul><ul><li>SharePoint API 操作與應用 </li></ul></ul><ul><ul><li>網站集合功能 / 網站功能介紹與實作 </li></ul></ul><ul><li>第三天 </li></ul><ul><ul><li>網頁組件開發與部署 </li></ul></ul><ul><ul><li>Event Handler 開發與部署 </li></ul></ul><ul><ul><li>Search API 與 Web Service </li></ul></ul><ul><li>第四天 </li></ul><ul><ul><li>Excel Service 應用 </li></ul></ul><ul><ul><li>InfoPath Form Service 應用 </li></ul></ul><ul><ul><li>Open Questions </li></ul></ul>
  3. 3. SharePoint 網頁組件開發與應用
  4. 4. 整合於 ASP.NET 2.0 <ul><li>WSS3.0 已經完全整合在 ASP.NET 2.0 上 </li></ul>ASP.NET 1.1 WSS2.0 WSS 3.0 ASP.NET 2.0 Window SharePoint Service 2.0 Window SharePoint Service 3.0
  5. 5. WebPart 的演進歷程 Wss 2.0 網頁組件 ASP.NET 2.0 網頁組件 Wss 3.0 網頁組件
  6. 6. WebPart Page 架構 <ul><li>由 WebPartManager 類別控管網頁組件 </li></ul><ul><li>具有一個或多個以上的”網頁組件區域” </li></ul>
  7. 7. 網頁組件主要程式碼
  8. 8. 網頁組件的屬性定義
  9. 9. WSS3.0 中的網頁組件類型 <ul><li>ASP.NET WebPart </li></ul><ul><ul><li>繼承 asp.net 中的 WebPart 類型 </li></ul></ul><ul><ul><li>以 .webpart 檔案方式匯入 </li></ul></ul><ul><ul><li>新開發的 WebPart 建議以這種方式開發 </li></ul></ul><ul><li>WSS V2-Style WebPart </li></ul><ul><ul><li>繼承 WSS2.0 的 WebPart 類型 </li></ul></ul><ul><ul><li>以 .dwp 的方式匯入 </li></ul></ul><ul><ul><li>基本上是為了相容舊的 wss2.0 網頁組件 </li></ul></ul><ul><li>混合型 WebPart </li></ul><ul><ul><li>繼承 wss2.0 的 WebPart 類型 </li></ul></ul><ul><ul><li>使用新的 asp.net 的相關類型 </li></ul></ul><ul><ul><li>以 .webpart 方式匯入 </li></ul></ul>
  10. 10. 網頁組件開發步驟 <ul><li>利用 VS.NET2005 開啟 WebPart Project </li></ul><ul><li>設定強制命名及版本資訊 </li></ul><ul><li>設定 Assembly.cs </li></ul><ul><li>編譯網頁組件專案 </li></ul><ul><li>將 D LL 檔案複製到 bin 目錄下 </li></ul><ul><li>修改 web.config 將該 dll 宣告為 safeControl </li></ul><ul><li>在” 網頁組件庫”中加入該網頁組件 </li></ul><ul><li>編輯頁面將該網頁組件加入網頁組件區域中 </li></ul>
  11. 11. 網頁組件的執行安全性 <ul><li>定義於 Web.Config 中 </li></ul><ul><ul><li>OSVR_Minimal </li></ul></ul><ul><ul><li>WSS_Minimal </li></ul></ul><ul><ul><li>WSS_Medium </li></ul></ul><ul><ul><li>Full </li></ul></ul>
  12. 12. DEMO 網頁組件的開發與部署
  13. 13. 事件處理常式的開發
  14. 14. 為何需要事件處理常式 <ul><li>針對清單所產生的事件 , 增加後續執行動作 </li></ul><ul><ul><li>通知 </li></ul></ul><ul><ul><li>驗證 </li></ul></ul><ul><ul><li>額外的工作 </li></ul></ul><ul><ul><li>… </li></ul></ul>
  15. 15. 事件處理常式的強大功能 <ul><li>Events architecture significantly improved </li></ul><ul><ul><li>Events supported for lists, document libraries and content types </li></ul></ul><ul><ul><li>Events supported for changes to list schema as well as items </li></ul></ul><ul><ul><li>Events supported at site collection and site level </li></ul></ul><ul><ul><li>Events supported for incoming email messages </li></ul></ul><ul><ul><li>Support for synchronous events and asynchronous events </li></ul></ul><ul><ul><li>Synchronous events occur before the fact and are cancel-able </li></ul></ul>
  16. 16. 如何建立一個事件處理常式 <ul><li>建立一個 EventHandler DLL 檔案 </li></ul><ul><li>將這個 dll 組件註冊到 GAC(c:windowsAssembly) </li></ul><ul><li>撰寫程式將 EventHanlder 加到 List 中 </li></ul>
  17. 17. ListItem Level Event Receiver
  18. 18. Sample Code for EventHandler <ul><li>using System; using System.Collections.Generic; using System.Text; using Microsoft.SharePoint; using System.Net.Mail; namespace myEventHandler { public class handler : SPItemEventReceiver { public override void ItemAdding(SPItemEventProperties properties) { //do something } } }   </li></ul>
  19. 19. 編譯時需要注意的事項 <ul><li>必須加上強制命名 </li></ul><ul><li>必須有版次及組件資訊 </li></ul>
  20. 20. Register for List EventHandler <ul><li>SPSite site = new SPSite(&quot;http://sp:81/SiteDirectory/site1&quot;); SPWeb web = site.OpenWeb(); SPList survey = web.Lists[“ListName&quot;]; string assemblyName = “myEventHandler, Version=1.0.0.0, Culture=neutral, PublicKeyToken=a34245adab33a20a&quot;; string className = “myEventHandler&quot;; survey.EventReceivers.Add(SPEventReceiverType.ItemAdding, assemblyName, className); MessageBox.Show(&quot;Done&quot;); </li></ul>
  21. 21. DEMO 事件處理常式的開發與佈署
  22. 22. “ 網站集合功能 (Feature)”
  23. 23. 什麼是網站集合功能 (Features)
  24. 24. 什麼是網站集合功能 (Features)
  25. 25. Feature 可套用的範圍 Scope Description Site The Feature is defined at site level. Site Collection The Feature is defined at the level of a site collection. Web Application The Feature is defined at the level of a Web application or a virtual server. Server Farm The Feature is defined at the level of a server farm. All Features that are installed at the Server Farm scope are in the activated state by default.
  26. 26. Features 所在的目錄位置
  27. 28. 如何開發一個網站功能 <ul><li>撰寫以下兩支定義檔案 </li></ul><ul><ul><li>Feature.XML </li></ul></ul><ul><ul><li>Elements.XML </li></ul></ul><ul><li>撰寫網站功能所需的網頁程式 </li></ul><ul><li>安裝 Feature </li></ul><ul><li>啟動 Feature </li></ul>
  28. 29. Feature.xml <ul><li><? xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> </li></ul><ul><li><Feature Id=&quot;DE98E72D-80FF-4031-88B0-2E4DEF6312C8&quot; </li></ul><ul><li>Title=&quot;Save Site As Template&quot; </li></ul><ul><li>Description=&quot;Adds a 'Save Site As Template' link to the Look and Feel menu in Site Settings.&quot; </li></ul><ul><li>Version=&quot;1.0.0.0&quot; </li></ul><ul><li>Scope=&quot;Web&quot; </li></ul><ul><li>Hidden=&quot;FALSE&quot; </li></ul><ul><li>xmlns=&quot;http://schemas.microsoft.com/sharepoint/&quot; > </li></ul><ul><li><ElementManifests> </li></ul><ul><li><ElementManifest Location=&quot;Elements.xml&quot; /> </li></ul><ul><li></ElementManifests> </li></ul><ul><li></Feature> </li></ul>
  29. 30. Elements.xml <ul><li><? xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> </li></ul><ul><li><Elements xmlns=&quot;http://schemas.microsoft.com/sharepoint/&quot;> </li></ul><ul><li><CustomAction </li></ul><ul><li>Id=&quot;SPSolutions.SaveSiteAsTemplate&quot; </li></ul><ul><li>GroupId=&quot;Customization&quot; </li></ul><ul><li>Location=&quot;Microsoft.SharePoint.SiteSettings&quot; </li></ul><ul><li>Sequence=&quot;1000&quot; </li></ul><ul><li>Title=&quot;Save site as template&quot;> </li></ul><ul><li><UrlAction Url=&quot;_layouts/savetmpl.aspx&quot;/> </li></ul><ul><li></CustomAction> </li></ul><ul><li></Elements> </li></ul>
  30. 31. 安裝 Feature <ul><li>使用 STSADM.exe </li></ul><ul><li>stsadm -o installfeature -name SaveSiteAsTemplate </li></ul>
  31. 32. DEMO 網站功能的建立與佈署
  32. 33. Questions?

×