朋友炒股兩個月賺了10萬,我幫他推廣一下公眾號,把錢用來投資總比放銀行連通貨膨脹都跑不過里強, 硬核離職,在家炒股 ,這是他每天的日志,有些經驗是花錢也買不到的。
一、前言
聽說SharePoint也有一段時間了,可一直處在門外。最近被調到SharePoint實施項目小組,就隨着工作一起學習了一下實施與開發。但苦於網上SharePoint入門的東西實在太少,導致自學入門很難,不知道SharePoint這東西到底能做什么。因此有了此篇文章。該文章只是基於本人對SharePoint的理解,希望能夠幫助那些還在門外的同學。由於能力有限,有說的不明白的地方還請園子內的專家們批評指正。
這里提供兩個官方學習的網址供大家參考:
SharePoint產品:http://technet.microsoft.com/zh-cn/library/ee428287.aspx
SharePoint開發:http://msdn.microsoft.com/zh-cn/sharepoint/default.aspx
二、目錄
1.什么是SharePoint
2.SharePoint功能
1.什么是SharePoint
百度詞條(http://baike.baidu.com/view/260261.htm)的定義:SharePoint Portal Server 2003 使得企業能夠開發出智能的門戶站點,這個站點能夠無縫連接到用戶、團隊和知識。因此人們能夠更好地利用業務流程中的相關信息,更有效地開展工作。
這個概念很抽像,下面我從英文翻譯和使用的角度來下幫助自己和大家理解下什么是SharePoint。
(1) 站在英文翻譯角度理解:Share:分享,Point:點
一個企業員工可分享信息、查詢他人信息、審批提交的信息的共享性質的軟件。舉例說明下:員工A發布了信息表一,B可以通過搜索功能查詢到A發布的信息,搜索條件可以是員工A也可以是表一,假設企業有上萬員工的話,信息分享的功能就有很大用處了。
也許老外最初的想法是這樣的,但隨着軟件產品的發展功能越來越強大,“共享”這個概念可能就相對就變弱了。
SharePoint核心定位:增強企業員工間的協作關系,一個企業級協作的平台。
(2) 站在軟件的角度理解:SharePoint可以理解為內容管理系統
下面我們來做個比較:
I、 使用asp.net創建博客網站步驟如下(此處使用容易理解的DB驅動,步驟可以並行):
1,創建數據表多張,如:用戶表、文章表、類別表、回復表等
2,根據數據庫表創建應用程序代碼,如:asp.net form、mvc等
3,制做應用程序頁面,如:html靜態頁面
4,把靜態頁和.net程序結合
II、 使用sharePoint創建博客網站步驟如下:
1, 在“管理中心”點擊“創建網站集”並選擇類型為“博客類型”,點確定,如下圖所示
博客創建成功,如下圖所示:
SharePoint博客功能如下:創建和管理類別,創建和管理文章,添加和管理評論,滿足了基本的博客要求。
在傳統的開發模式下,我們要設計DB,書寫程序代碼、頁面代碼等,工作量是可想而知的,而在SharePoint中,我們只需要在SharePoint這個軟件的操作功能上點擊“創建”即可。這里就引出了微軟的一個重要的企業戰略目標“無代碼開發”,即:“不寫代碼,也能完成簡單的企業級應用”。
雖然微軟的想法是好的,但SharePoint也有明顯的不足:
(1)覆蓋面廣而不精
SharePoint 2013默認提供的網站類型模板有如下幾種:
協作:工作組網站、博客、開發人員網站、項目網站、社區網站
企業:文檔中心、電子數據展示中心、記錄中心、商業智能搜索、企業搜索中心、我的網站宿主、社區門戶、基本搜索中心、Visio流程存儲庫
發布:發布門戶、企業Wiki、產品目錄
自定義:自己定義的模板類型
我們還是以剛才創建的博客為例,使其與博客園進行對比。
SharePoint博客,如下圖:
博客園首頁,如下圖:
有點”奔騰處理器與I7 “的感覺沒?SharePoint只提供了簡單的用戶界面和功能。園子里很多功能,在SharePoint的博客類型的網站集是沒有的。那么我們創建這樣一個網站有什么用?需要的功能沒有,因此就要在SharePoint的基礎上進行二次開發才能滿足我們對現代博客(SharePoint的其他類型模板也是一樣的,基本都需要二次開發或修改)的需求。
(2)二次開發難度大
很多程序員都有過這樣的體驗吧?別人寫好的代碼由你來修改!什么感覺?
SharePoint也不例外,從頁面上看,SharePoint的頁面都是.net的頁面,如:aspx或.master等(雖然2013下可以編輯html,但還是很別扭),切段頁面代碼看下:
1 <SharePoint:ImageLink runat="server"/> 2 <SharePoint:SPNoScript runat="server"/> 3 <SharePoint:SPClientIDGenerator runat="server" ServerControlID="DeltaPlaceHolderMain;DeltaPlaceHolderPageTitleInTitleArea;DeltaPlaceHolderUtilityContent" /> 4 <SharePoint:SharePointForm runat="server" onsubmit="if (typeof(_spFormOnSubmitWrapper) != 'undefined') {return _spFormOnSubmitWrapper();} else {return true;}"> 5 <script type="text/javascript"> var submitHook = function () { return false; }; theForm._spOldSubmit = theForm.submit; theForm.submit = function () { if (!submitHook()) { this._spOldSubmit(); } }; </script> 6 <SharePoint:AjaxDelta id="DeltaSPWebPartManager" runat="server"> 7 <WebPartPages:SPWebPartManager runat="Server" /> 8 </SharePoint:AjaxDelta> 9 <asp:ScriptManager id="ScriptManager" runat="server" EnablePageMethods="false" EnablePartialRendering="true" EnableScriptGlobalization="false" EnableScriptLocalization="true" /> 10 <SharePoint:AjaxDelta id="DeltaDelegateControls" runat="server"> 11 <SharePoint:DelegateControl runat="server" ControlId="GlobalNavigation" /> 12 <SharePoint:DelegateControl ControlId="GlobalSiteLink3" Scope="Farm" runat="server" Visible="false" /> 13 </SharePoint:AjaxDelta>
大部分內容都是SharePoint團隊開發的服務端控件,我們要修改的情況下,首先要知道這些亂七八糟的代碼是做什么的,是否可以刪除?刪除或修改后影響哪些功。比從頭開發難度大很多。當前重多的SharePoint開發人員正在持續着這樣的工作。
雖然某些事實是客觀存在的,但大家同時也不要忽略另一個事實,那就是現在很多國內外的大型企業都在使用SharePoint做內容管理系統的底層架構,如:網站等業務簡單的系統,直接修改修改搭建搭建就可以用了。
下面我們做下回顧一下概念:
什么是SharePoint:SharePoint是一個不需要代碼也能創建系統,一款可以無代碼開發的軟件。
百度詞條(http://baike.baidu.com/view/260261.htm)的定義:SharePoint Portal Server 2003 使得企業能夠開發出智能的門戶站點,這個站點能夠無縫連接到用戶、團隊和知識。因此人們能夠更好地利用業務流程中的相關信息,更有效地開展工作。
這回有理解多一點有木有?
2.SharePoint功能
這此處只羅列出了SharePoint 2010 的6大功能,2013又出了新功能。有關注的可以自己去了解下。本人學淺這里就不介紹了。
(1) 網站:“無代碼”創建“共享的”企業網站。
(2) 社區:“無代碼”創建“共享的”博客。
(3) 內容:“無代碼”創建“共享的”企業內容管理。
(4) 搜索:“無代碼”創建“共享的”搜索(包括網落爬蟲)
(5) 智能:“無代碼”創建“共享的”商業智能visio
(6) 集成:“無代碼”創建“共享的”業務數據的連接,快速創建應用infopath。