編輯推薦
作者把自己的應用開發實踐經驗融入到本書中,為讀者講述分析問題、解決問題的方法和技巧,對實際開發工作具有指導意義,能夠讓初入這個領域的新手少走彎路。
本書詳細講解SharePoint 2013的使用,帶領讀者領略SharePoint強大的接口,逐步學習SharePoint開發,掌握實用的應用開發技術。
內容簡介
SharePoint 2013是業界領先的企業協作平颱,隨著微軟雲戰略藍圖的推行,SharePoint 2013也將重點逐步嚮雲端轉移。它強大的企業協同辦公、搜索、門戶發布等功能,越來越受到國內外企業的歡迎。
本書共分12章,重點講解基於SharePoint的開發技術與技巧,對SharePoint的機製和架構進行瞭較多的講解和分析。內容包括SharePoint基礎,對象模型,解決方案,外觀定製,事件接收器,應用程序,BCS應用,使用Infopath,工作流開發等。最後兩章分彆給齣門戶定製和辦公用品申請兩個實例,為讀者展示一個從無到有的實現過程。
本書適閤SharePoint初學者,以及有一定基礎的SharePoint開發人員進行技術的強化和經驗的積纍,也適閤作為高等院校和培訓學校相關專業的教學參考書。
作者簡介
劉中正,高級研發工程師,微軟SharePoint領域MVP,微軟認證SharePoint解決方案專傢(MCSE),CSDN博客專傢,具有多年SharePoint管理和研發經驗,就職於知名軟件公司AvePoint。
王 興,高級研發工程師,微軟SharePoint領域MVP,微軟認證SharePoint解決方案專傢(MCSE),具有多年SharePoint管理和研發經驗,負責過多個大型企業級SharePoint解決方案。
張誌宇,高級研發工程師,微軟認證專傢(MCP), 具有多年SharePoint管理和研發經驗,負責過多個大型企業級SharePoint解決方案。
內頁插圖
目錄
第1章 SharePoint概述 1
1.1 SharePoint的發展曆程 1
1.1.1 SharePoint Team Service 1.0和SharePoint Portal Server 2001 2
1.1.2 Windows SharePoint Service 2.0和SharePoint Portal Server 2003 3
1.1.3 Windows SharePoint Service 3.0 和Microsoft Office SharePoint Server 2007 4
1.1.4 SharePoint Foundation 2010 和SharePoint Server 2010 5
1.1.5 SharePoint Foundation 2013 和SharePoint Server 2013 7
1.1.6 SharePoint 本地部署 和 SharePoint 在綫 8
1.2 SharePoint技術架構 8
1.2.1 平颱堆棧 8
1.2.2 物理拓撲架構 9
1.2.3 存儲結構 10
1.3 SharePoint邏輯結構 11
1.4 SharePoint API架構 12
1.4.1 服務器端對象模型 13
1.4.2 托管客戶端對象模型 13
1.4.3 JavaScript 客戶端對象模型 14
1.4.4 REST/OData終結點 14
1.4.5 Web Service 14
1.5 SharePoint安裝 15
1.5.1 前期準備 15
1.5.2 SharePoint安裝 17
1.5.3 配置SharePoint場 18
1.6 SharePoint 開發環境搭建 23
1.6.1 SharePoint Designer 23
1.6.2 Visual Studio 24
第2章 服務器端對象模型 25
2.1 學習開發環境的準備 27
2.2 SPSite對象和SPWeb對象 30
2.2.1 SPSite 30
2.2.2 SPWeb 31
2.2.3 SPContext對象 33
2.3 對象的釋放 33
2.3.1 如何應用Dispose 34
2.3.2 部分編碼最佳實踐 36
2.4 SPList、SPField和SPView對象 36
2.4.1 SPList對象 36
2.4.2 SPField和SPView對象 39
2.5 SPListItem、SPFile和SPFolder對象 42
2.5.1 SPListItem對象 42
2.5.2 SPFile和SPFolder對象 45
2.6 CAML和列錶查詢對象 48
2.6.1 CAML 48
2.6.2 SPQuery和SPSiteDataQuery對象 50
2.6.3 LINQ to SharePoint 52
第3章 客戶端對象模型 55
3.1 .NET客戶端對象模型 55
3.1.1 環境準備 55
3.1.2 ClientContext 58
3.1.3 Site和Web對象 59
3.1.4 List對象 61
3.1.5 Listitem對象 64
3.1.6 使用.NET客戶端對象模型的最佳實踐 67
3.2 JaveScript客戶端對象模型 67
3.2.1 環境準備 67
3.2.2 ClientContext 69
3.2.3 Site和Web對象 69
3.2.4 List對象 72
3.2.5 ListItem對象 74
3.3 REST服務 76
3.3.1 SharePoint REST服務介紹 76
3.3.2 使用C#調用REST服務 78
第4章 SharePoint解決方案 84
4.1 開發第一個解決方案 85
4.1.1 創建SharePoint解決方案項目 86
4.1.2 開發Web部件 87
4.1.3 部署解決方案 90
4.1.4 調試解決方案 92
4.1.5 擴展Web部件屬性 93
4.1.6 解決方案包的結構 96
4.2 自定義SharePoint內容 98
4.2.1 SharePoint自定義欄類型 98
4.2.2 SharePoint自定義內容類型 104
4.2.3 SharePoint自定義列錶類型 108
4.3 SharePoint解決方案項目中的其他內容 112
4.3.1 SharePoint空元素 112
4.3.2 SharePoint模塊 112
4.3.3 SharePoint網站定義 113
第5章 外觀定製 115
5.1 頁麵模型 115
5.2 母版頁 116
5.2.1 母版頁介紹 116
5.2.2 委派控件和候補控件 118
5.2.3 擴展網站操作 123
5.2.4 擴展歡迎菜單 124
5.3 服務器功能區開發 125
5.3.1 服務器功能區介紹 125
5.3.2 添加組件 126
5.3.3 修改現有按鈕 131
5.3.4 刪除按鈕 132
5.4 編輯控製塊 132
5.4.1 添加項到編輯控製塊 133
5.4.2 修改和隱藏編輯控製塊的現有項 134
5.5 應用程序頁 135
第6章 SharePoint事件接收器 138
6.1 列錶項事件接收器 138
6.2 其他事件接收器 145
6.2.1 功能事件接收器 145
6.2.2 列錶事件接收器 146
6.2.3 Web事件接收器 149
6.2.4 列錶電子郵件事件接收器和列錶工作流事件接收器 150
6.3 非模闆事件接收器 150
第7章 SharePoint應用程序 154
7.1 SharePoint應用程序概述 154
7.1.1 兩種類型的SharePoint應用程序 156
7.1.2 為什麼需要SharePoint應用程序 158
7.2 SharePoint承載的應用程序 159
7.2.1 搭建SharePoint應用程序本地開發環境 159
7.2.2 開發第一個SharePoint應用程序 165
7.2.3 部署調試SharePoint承載的應用程序 168
7.3 提供程序承載的應用程序 169
7.3.1 配置適用於SharePoint 2013的高信任應用程序 169
7.3.2 開發提供程序承載的應用程序 173
7.4 使用SharePoint應用程序開發SharePoint組件 177
7.4.1 開發客戶端Web部件 177
7.4.2 開發自定義操作擴展功能 182
7.4.3 開發網站欄、內容類型和列錶定義 189
7.4.4 開發遠程事件接收器 189
7.5 發布SharePoint應用程序 194
7.5.1 Office商店 194
7.5.2 應用程序目錄 195
7.5.3 發布SharePoint應用程序 195
7.6 開發SharePoint應用程序的建議 201
第8章 SharePoint 2013 中的 Business Connectivity Services 203
8.1 部署的準備工作 203
8.1.1 下載並安裝示例數據庫 203
8.1.2 創建數據庫登錄用戶 204
8.2 創建Business Data Connectivity Services 服務應用程序 205
8.2.1 創建BDCS服務應用程序 205
8.2.2 添加對BDCS元數據存儲的權限 206
8.3 配置Secure Store Service 208
8.4 創建外部內容類型 211
8.5 創建外部列錶 216
第9章 InfoPath Form Service 218
9.1 自定義錶單 218
9.2 發布到列錶和錶單庫 220
9.2.1 發布到列錶 220
9.2.2 發布到錶單庫 223
9.3 發布InfoPath錶單模闆到內容類型 227
9.4 需要管理員審核的InfoPath錶單模闆 229
9.4.1 在InfoPath中使用SharePoint服務器端對象模型 229
9.4.2 發布模闆到管理中心 234
第10章 SharePoint 2013工作流 238
10.1 工作流概念介紹 238
10.1.1 工作流活動 238
10.1.2 錶單 239
10.1.3 任務 240
10.1.4 曆史記錄 240
10.1.5 流程控製模闆 241
10.2 SharePoint 2013工作流架構 242
10.3 在Visual Studio中開發Workflow 243
10.3.1 創建Workflow項目 243
10.3.2 獲取列錶項的屬性 245
10.3.3 If活動 247
10.3.4 運行工作流 247
10.3.5 LookupSPUser活動 248
10.4 開發自定義活動 249
10.4.1 創建自定義活動 250
10.4.2 HttpSend活動 250
10.4.3 參數 253
10.4.4 在工作流中調用自定義活動 253
第11章 SharePoint品牌開發 254
11.1 引用jQuery和Bootstrap 254
11.2 修改Suite Bar 255
11.3 按需隱藏控件 257
11.4 設置徽標 258
11.5 添加頁腳 258
11.6 修改頂部導航 260
11.7 調整頁麵布局 261
第12章 辦公用品申請工作流實例 263
12.1 工作流關聯錶單 263
12.2 工作流初始錶單 267
12.3 工作流任務 268
12.4 開發工作流的注意事項 270
前言/序言
從2001年發布到如今,SharePoint經曆瞭數次大的更新,並且已經成功地在雲上做瞭大規模的應用。目前,SharePoint已經在全球範圍內成為企業協同辦公的不二之選。
SharePoint的普及催生瞭SharePoint開發行業的迅速發展,目前有大量的開發人員從事這個行業,也有越來越多的人加入。因此從2001年至今,SharePoint變得越來越強大,功能也越來越多,架構上也是幾經升級。這對初學者來說,麵對如此龐大的係統,究竟要如何學起?
目前關於SharePoint開發的書籍少之又少,雖然MSDN上麵有很多資料,但是不免讓初學者找不到頭緒。本書的三位作者有多年的SharePoint開發經驗,經曆瞭SharePoint幾次大的更新,並且做過瞭很多項目。因此我們編寫瞭本書,希望能讓新加入到SharePoint開發的朋友有章可循、逐漸深入地係統學習。
本書要求讀者有一定的編程基礎。對C#、ASP.NET和SQL Server數據庫的基本瞭解是必要的,同時也要瞭解一些前颱開發知識,比如Html、JaveScript、jQuery、CSS等。
雖然SharePoint 2016即將到來,但是仍然有很多客戶在使用SharePoint 2013,並且基於SharePoint的良好架構,2013裏麵的技術絕大多數會繼承到2016裏麵。因此,學習SharePoint 2013開發仍然很有必要,並且會為以後SharePoint 2016開發打下良好的基礎。
本書從基礎的API講起,逐漸深入到定製化、工作流和應用程序開發。本書並不會介紹SharePoint的功能、配置,以及如何使用,因此本書是寫給開發人員的,並不適閤IT專業人員和終端用戶。SharePoint開發所涵蓋的內容非常廣泛,本書也隻能覆蓋一些主要內容,加之編者水平有限,疏漏之處在所難免,歡迎廣大讀者批評指正。
編者
2016年5月
掌控數字工作流:企業協作與信息管理的變革之道 在這個信息爆炸、協作日益頻繁的時代,企業對於高效的信息管理和無縫的團隊協作需求從未如此迫切。從分散的文件存儲到低效的溝通模式,傳統的工作方式正麵臨著前所未有的挑戰。然而,隨著技術的飛速發展,一種強大的解決方案正在重塑企業運營的方方麵麵,它不僅能夠統一分散的信息,更能優化協作流程,提升整體生産力。本書正是深入探討這一變革力量,為企業揭示駕馭數字工作流、實現信息管理與協作新高度的實戰路徑。 理解核心:企業協作平颱的演進與力量 在現代企業管理中,信息和協作是驅動業務發展的兩大引擎。過去,企業往往依賴於電子郵件、文件共享驅動器、即時通訊工具等分散的係統來處理信息和進行溝通。這種碎片化的管理方式不僅導緻信息孤島,更容易在團隊協作中産生誤解、重復勞動,甚至遺漏關鍵信息。 本書將首先帶您迴顧企業協作平颱的演進曆程,從早期的網絡共享到如今集成瞭內容管理、工作流自動化、社交協作和數據分析等多種功能的綜閤性平颱。我們將深入剖析現代企業協作平颱的核心價值: 統一信息樞紐: 將分散在各處的文件、文檔、數據、通知等信息整閤到一個可信賴的中央存儲庫中,確保信息的準確性、一緻性和易訪問性。 流程自動化引擎: 通過直觀的可視化工具,設計、構建和部署業務流程,將審批、審核、通知等重復性任務自動化,釋放人力資源,提高執行效率。 協作互動空間: 提供豐富的協作工具,如共享文檔編輯、討論區、任務管理、項目看闆等,打破部門壁壘,促進跨團隊、跨地域的實時協作。 知識管理寶庫: 將企業內部積纍的經驗、知識、最佳實踐沉澱為可檢索、可復用的知識資産,構建企業級的知識庫,加速新員工的學習和能力的提升。 數據洞察分析: 收集和分析業務流程和協作數據,為管理者提供決策支持,識彆瓶頸,優化流程,驅動業務持續改進。 構建數字基石:企業內容管理深度解析 內容是企業運營的血液,高效的內容管理是實現高效協作的前提。本書將深入探討企業內容管理(ECM)的各項關鍵技術和實踐: 文檔庫與版本控製: 如何構建靈活、安全的文檔庫,實現文檔的集中存儲、分類、權限管理和詳細的版本追蹤。我們將講解如何避免“哪個纔是最新版本”的睏惑,確保團隊始終基於最新、最準確的信息工作。 元數據與分類體係: 深入理解元數據的重要性,如何設計和應用閤理的元數據模型,為內容賦予豐富的上下文信息,使其更容易被查找、關聯和分析。我們將探討不同行業和業務場景下的分類策略。 權限管理與信息安全: 構建細粒度的權限模型,確保敏感信息隻對授權用戶可見,同時保障內容的可用性和完整性。我們將詳細講解用戶、組、繼承、限製等關鍵概念,以及如何應對復雜的權限場景。 內容生命周期管理: 從內容的創建、發布、審查、歸檔到最終的銷毀,本書將指導您如何規劃和實施完整的內容生命周期管理策略,確保信息在整個生命周期內的閤規性和可管理性。 搜索與發現: 強大的搜索功能是內容管理的核心。我們將探討如何優化搜索配置,利用關鍵詞、元數據、全文搜索等多種手段,讓用戶能夠快速、精準地找到所需信息,極大地提升工作效率。 驅動變革:企業流程自動化實踐指南 現代企業需要在快速變化的市場中保持敏捷,而流程的僵化是阻礙企業發展的最大瓶頸。本書將帶領您踏上企業流程自動化的實踐之路: 流程建模與設計: 學習如何使用直觀的可視化工具,將復雜的業務流程分解為可執行的步驟。我們將介紹業界通用的流程建模標準,如BPMN(業務流程建模與標記法),幫助您清晰地描繪業務流程的邏輯。 審批與審核流程: 深入講解如何設計和實現各種類型的審批和審核流程,如請假審批、報銷審批、閤同審批等。我們將重點關注流程的靈活性、可追溯性和智能化。 自動化通知與提醒: 如何在流程的關鍵節點自動觸發通知,及時提醒相關人員,確保流程的順暢進行。我們將探討不同場景下的通知策略,如郵件、短信、應用內通知等。 任務管理與協作: 將任務分配、狀態跟蹤、進度匯報等集成到流程中,讓團隊成員清晰地瞭解自己的任務和協作關係。我們將介紹如何利用任務列錶、看闆等工具提升團隊的協作效率。 集成與擴展: 探討如何將流程自動化平颱與其他企業係統(如ERP、CRM、HR係統)進行集成,實現數據的互聯互通,打通信息孤島,構建更全麵的自動化解決方案。 賦能團隊:社交協作與知識共享的藝術 優秀的企業文化建立在開放、協作和知識共享的基礎上。本書將深入探討如何利用平颱的力量,構建一個充滿活力的數字協作空間: 團隊站點與項目空間: 如何為不同的團隊或項目創建專屬的工作空間,聚閤相關的信息、文檔、討論和任務,讓團隊成員擁有一個共同的工作中心。 實時溝通與討論: 探索平颱內置的討論區、即時消息等功能,促進團隊成員之間的實時交流,快速解決問題,分享見解。 動態消息與關注: 如何構建信息流,讓用戶能夠關注感興趣的內容、人員或項目,及時獲取最新的動態更新,保持對關鍵信息的敏銳度。 知識庫構建與維護: 將企業內的經驗、最佳實踐、常見問題解答等內容沉澱為可搜索、可復用的知識資産。我們將分享構建高質量知識庫的技巧,以及如何激勵員工貢獻知識。 社交網絡的構建: 鼓勵員工之間的互動,建立聯係,分享專業知識,形成互助互學的企業文化。 安全與閤規:構築可信賴的數字環境 在數字化轉型過程中,信息安全和閤規性是企業必須高度重視的基石。本書將係統性地闡述如何構築一個安全、閤規的數字工作環境: 身份與訪問管理: 實施強大的身份驗證和授權機製,確保隻有閤法用戶能夠訪問受保護的信息和功能。 數據加密與保護: 瞭解數據在傳輸和存儲過程中的加密技術,有效防止數據泄露。 審計與追蹤: 建立完善的審計日誌,記錄用戶的所有操作,以便進行事後追蹤和責任分析。 閤規性要求: 深入理解不同行業和地區的閤規性法規(如GDPR、HIPAA等),並將其融入到平颱的設計和使用中。 風險評估與應對: 學習如何進行信息安全風險評估,並製定相應的應對策略, proactively 應對潛在的安全威脅。 高級應用與未來展望:駕馭數字轉型的未來 隨著技術的不斷進步,企業協作平颱的功能也在不斷演進。本書將觸及一些更高級的應用場景和未來的發展趨勢: 移動端協作: 如何在移動設備上實現無縫的協作體驗,讓員工隨時隨地訪問信息、處理任務。 數據分析與商業智能: 如何利用平颱收集的數據,進行深入的分析,為企業決策提供數據支持。 人工智能與機器學習的應用: 探討人工智能在內容推薦、流程優化、智能搜索等方麵的潛在應用。 與其他雲服務的集成: 如何將協作平颱與其他SaaS服務進行集成,構建更強大的企業級解決方案。 本書的目標是成為您構建、管理和優化企業數字工作流的寶貴指南。無論您是IT專業人士、業務經理還是團隊領導者,都能從中獲得切實可行的知識和技術,幫助您的企業更好地應對數字化時代的挑戰,釋放團隊的潛能,實現可持續的業務增長。