• Save

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

中鼎工程MOSS系統開發教育訓練

on

  • 6,449 views

 

Statistics

Views

Total Views
6,449
Views on SlideShare
6,405
Embed Views
44

Actions

Likes
1
Downloads
3
Comments
0

4 Embeds 44

http://city.udn.com 35
http://www.slideshare.net 7
http://gb.udn.com 1
http://s3.amazonaws.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

中鼎工程MOSS系統開發教育訓練 中鼎工程MOSS系統開發教育訓練 Presentation Transcript

  • 敦群數位科技股份有限公司 游家德
  • SharePoint 技術與平台客製化策略   SharePoint Content Access Object Model 介紹 與實做  SharePoint Web Part 開發
  • 游家德 Jade Yu (jiade@vangene.com) 產 Microsoft SharePoint 技術與 品特約資深顧問 SPS2003/MOSS2007 相關課程講師 Microsoft TechEd2004-2007 講師 相關研討會講師 企業 SharePoint 技術研討課程 / 顧問諮詢服務 敦群學院 -SharePoint 實戰營課程規劃及專任講師 敦群數位科技技術總監
  • SharePoint Designer 2007 HTML / CSS Javascript XML/XSLT Generic VS.NET Browser 2005 .NET User Interfaces Programming Page Layout Master Page Web Part Web Broswing Functionalities .NET Extension Web Arhitecture Class 3rd Party Web Content Integration Field/View
  • We 應用程式 b 網站集合 網站集合 網站集合 上層網站 上層網站 上層網站 SPWEB SPWEB SPWEB 子網站 子網站 子網站 子網站 SPWEB SPWEB SPWEB SPWEB 子網站 子網站 SPWEB SPWEB
  • WSS Sites WSS Object Model C:Program http://moss:1234/_ FilesCommon vti_bin/*.asmx FilesMicrosoft Sharedweb server Web Service extensions12ISAPI Microsoft.SharePoi nt.dll Web Pages SMART / MOBILE Web Parts Client
  • SPControl SPSite SPWebCollection SPWeb Microsoft.SharePoint.dll  SPListCollection Microsoft.SharePoint.Search.dll  SPList Microsoft.Office.Server.dll  SPListItemCollection SPListItem Microsoft.Office.Server.Search.dll  SPAttachmentCollection …  SPFile SPFieldCollection SPField 圖例 SPUserCollection Class / Object SPUser Collections
  • 加入 WSS3.0 參考  C:Program FilesCommon  於專案中加入 FilesMicrosoft Sharedweb server extensions12ISAPIMicrosoft.SharePoint.dll 於程式碼中引用相關類別  using Microsoft.SharePoint; using Microsoft.SharePoint.WebControls;
  • 錄 Web Page( 需位於 _layouts 目 下)中  SPSite oSite = SPControl.GetContextSite(System.Web.HttpContext.C urrent); Window Application 中  SPSite oSite=new SPSite(“http://moss”); 備註 : 存取權限以執行該應用程式之使用者執行
  • oSite.AllWebs : 取得所有的網站清單   oSite.AllWebs[“/Depts/IT”] : 取得特定 url 下的 清單
  • SPWebCollection : 網站集合中所有網站組成的  清單  SPWeb : 個別網站 SPWebCollection oWebs=oSite.AllWebs; SPWeb oWeb1 = oWebs.RootWeb; SPWeb oWeb2 = oWebs[“/Depts/IT”];
  • oWeb.Lists : 取得所有的清單列表   oWeb.AllowUnsafeUpdate() : 允許透過 API 進行 Post 的修改  oWeb.CurrentUser : 取得目前登入使用者  oWeb.Users : 取得本網站授權使用者  oWeb.Webs : 取得本網站的下層網站  oWeb.DoesUserHavePermissions : 取得特定使 用者是否具備某些特別權限
  • SPListCollection : 所有清單組成的列表   SPList : 個別清單物件 SPListCollection oLists=oWeb.Lists; SPList oList = oLists[“ 最新消息” ];
  • SPList.Fields : 取得該欄位的所有欄位名稱  SPList.Items : 取得該清單中所有的資料  SPList.GetItemByID : 根據傳入的 ID 取得特定清單項  目 SPList.GetItems : 查 根據 詢條件取得符合條件之清單  SPList.DefaultViewUrl 
  • SPListItemCollection : 清單項目的集合   SPListItem : 特定清單項目 SPListItemCollection oListItems = oList.Items; SPListCollection.GetDataTable : 將 SPListCollection 轉 成 DataTable SPListItem oListItem= oListItems[1];
  • 值 oListItem[“ 欄位名稱” ] : 取得特定欄位   oListItem.Attachments : 取得特定清單項目的 附件集合 ( 文件庫除外 ) -> SPAttchmentCollection  oListItem.File : 取得文件庫的文件資訊 ( 針對 文件庫相關清單 ) -> SPFile 針對附件操作,將於稍後詳 說 細明
  • 修改 SPSite / SPWeb / SPList 等基本屬性 , 如  名稱 , 及其他相關可修改之資訊  新增 / 修改 / 刪除 清單項目 (SPListItem)
  • SPWeb 須將 AllowUnSafeUpdate 設為 True  SharePoint 採 Batch Update 的方式 , 須執行  Update 動作已確認將更新後送回 SQL Server
  • SPSite oSite = New SPSite(“http://moss”); SPWeb oWeb = oSite.AllWebs[“/Depts/IT”]; oWeb.AllowUnsafeUpdate=True; SPList oList=oWeb.List[“ 最新消息” ]; oList.Title=“ 公司快訊” ; oList.Update();
  • SPSite oSite = New SPSite(“http://moss”); SPWeb oWeb = oSite.AllWebs[“/Depts/IT”]; oWeb.AllowUnsafeUpdate=True; SPList oList=oWeb.List[“ 最新消息” ]; SPListItem oItem = oList.Items.Add(); oItem[“ 標題” ]=“ 這是新的訊息” oItem.Update();
  • SPSite oSite = New SPSite(“http://moss”); SPWeb oWeb = oSite.AllWebs[“/Depts/IT”]; oWeb.AllowUnsafeUpdate=True; SPList oList=oWeb.List[“ 最新消息” ]; SPListItem oItem = oList.Items[0]; oItem[“ 標題” ]=“ 這是新的訊息” oItem.Update();
  • SPSite oSite = New SPSite(“http://moss”); SPWeb oWeb = oSite.AllWebs[“/Depts/IT”]; oWeb.AllowUnsafeUpdate=True; SPList oList=oWeb.List[“ 最新消息” ]; SPListItem oItem = oList.Items[0] oItem.Delete(); oList.Update();
  • CAML: Collaboration Application Mark-up Language   一種以 XML 查 為基礎的 詢語言 <Query> <Where> <Or> <Lt> <FieldRef Name=quot;Stockquot;/> <Value Type=quot;Numberquot;>15</Value> </Lt> <Gt> <FieldRef Name=quot;Pricequot;/> <Value Type=quot;Currencyquot;>20.00</Value> </Gt> </Or> </Where> <OrderBy> <FieldRef Name=quot;Titlequot;/> </OrderBy> Boolean Operator </Query> Condition
  • 應用於  3rd Party 工具 http://www.u2u.info/SharePoint/U2U%20Community%20Tools/Forms/AllItems.aspx
  • 應用於 SPQuery 以及 SPList.GetItems  SPQuery oQuery = new SPQuery(); oQuery.Query=“…..CAML TAGS….”; SPListItemCollection oLis = oList.GetItems(oQuery);
  • Where to Put the files?   SharePoint List  Multiple files in 1 item  Document Library 1 file in 1 item  You could create Folder to put file by your need
  • site.Files.Add(destUrl, contents)  檔  destUrl: 上傳之後的 案網址  Contents: 檔 案的二進位陣列 為 currentFolder.SubFolders.Add(folder)   currentFolder 可利用 Web. GetFolder(url) 來取得  利用 add 建立必要的 SPFolder 在文件庫中
  • SPSite site = SPContext.Current.Site; SPWeb srcSite = site.AllWebs[quot;Site_Namequot;]; SPList list = srcSite.Lists[quot;Announcementsquot;]; SPListItem listItem = list.Items[5]; SPAttachmentCollection attachments = listItem.Attachments; string fileName = file.Name; byte[] binFile = file.OpenBinary(); attachments.Add(fileName, binFile); listItem.Update();
  • 檔 案均存放在 SQL SERVER 中 所有  檔 案均具備有 URI 所有 檔檔 利用 WebClient 類別,將 案存 。  WebClient wc=new WebClient(); wc.DownloadFile(“url of file”,”local file name”);
  • WSS3.0 已經完全整合在 ASP.NET 2.0 上  WSS2.0 ASP.NET 2.0 ASP.NET 1.1 WSS 3.0 Window SharePoint Service 2.0 Window SharePoint Service 3.0
  • Wss 3.0 網頁組件 ASP.NET 2.0 網頁組件 Wss 2.0 網頁組件
  • 由 WebPartManager 類別控管網頁組件   具有一個或多個以上的” 網頁組件區域”
  • ASP.NET WebPart  繼承 asp.net 中的 WebPart 類型  以 .webpart 檔案方式匯入  新開發的 WebPart 建議以這種方式開發  WSS V2-Style WebPart  繼承 WSS2.0 的 WebPart 類型  以 .dwp 的方式匯入  基本上是為了相容舊的 wss2.0 網頁組件  混合型 WebPart  繼承 wss2.0 的 WebPart 類型  使用新的 asp.net 的相關類型  以 .webpart 方式匯入 
  • System.Web.UI.WebControls  建立一個類別庫,繼承  System.Web.UI.WebControls.WebParts.WebPart
  • 定義於 Web.Config 中   OSVR_Minimal  WSS_Minimal  WSS_Medium  Full
  • 啟 利用 VS.NET2005 開 WebPart Project   設定強制命名及版本資訊  設定 Assembly.cs  編譯網頁組件專案  將 DLL 檔案複製到 bin 目 下 錄  修改 web.config 將該 dll 宣告為 safeControl  在” 網頁組件庫” 中加入該網頁組件  編輯頁面將該網頁組件加入網頁組件區域中