SharePoint 2013 開發——釋出SharePoint應用程式

Justin-Liu發表於2015-06-26
部落格地址:http://blog.csdn.net/FoxDave

前幾篇我們介紹了開發、部署和除錯SharePoint應用程式的基礎,本篇介紹更實用的操作,當我們開發一個SharePoint應用程式之後,如何釋出它呢?

我們有兩個途徑釋出我們的APP:釋出到公共的Office商店,SharePoint可以通過線上查詢商店中的應用進行安裝;釋出到內部組織的應用程式目錄,這樣SharePoint組織內的使用者可以安裝該APP。

釋出到Office商店

釋出到Office商店需要先進行註冊賣方儀表板賬戶,上傳到Office商店的應用微軟會執行一系列的檢查,確保上傳的應用程式符合內容和行為準則,比如,它會檢查清單目錄標記是否完整有效,是否包含不允許的元素,應用的範圍等等,如果通過檢查,會打包成一個由微軟簽名的應用程式包。

上傳到Office商店時,可以選擇要提供給下載它的使用者的許可證的條款:免費、試用或其他方式,按使用者還是網站來提供。

SharePoint不強制實施應用程式使用的許可條款,而是提供了一個許可框架,我們可以在APP中包含程式碼邏輯來強制實施許可限制。比如,我們可以針對使用者的付費情況來啟用或禁用APP中的某些功能。

釋出到應用程式目錄

專用應用程式目錄是SharePoint 2013Web應用程式中的一個專用網站集合,用來承載SharePoint APP的文件庫。將目錄放在自己的站點集合中更便於Web應用程式管理員來限制該目錄的許可權。

將SharePoint APP上傳到企業應用程式目錄就像上傳檔案到文件庫一樣。上傳到應用程式目錄的APP也會進行類似的檢查,如果不能通過檢查,APP會標記為無效或被禁用。

如何確定我們的APP要釋出到哪裡呢?下面的表格供我們參考:

Office商店應用程式目錄
應用程式公開可用對此SharePoint部署具有訪問許可權的使用者可使用應用程式
許可框架可用許可框架不可用
應用程式包由微軟進行技術和內容政策驗證在上傳應用程式時由SharePoint執行應用程式包的驗證
必須向微軟賣方儀表板註冊才能上傳應用程式不需要向微軟註冊

更多資訊

本篇我們來發布到內部的應用程式目錄上

首先在我們我們的測試Web應用程式上建立一個應用程式目錄網站集:管理中心->應用程式->管理應用程式目錄。

選定預設的建立新的應用程式目錄網站,點選確定按鈕。

如圖所示填寫資訊,完成應用程式目錄網站集的建立。

下面我們來具體看看如何釋出我們的SharePoint APP。


SharePoint-hosted APP

此類SharePoint APP比較簡單,沒有外接的程式,我們只需要將應用程式包拿出來上傳到SharePoint中即可,具體操作下面進行闡述。

我們開啟之前的Hello World應用程式,右鍵點選專案節點,選擇釋出,點選打包應用程式按鈕。

打包完成後會彈出APP包所在位置。

接下來到應用程式目錄網站,點選左側導航適用於SharePoint的應用程式,將打包的APP檔案拖到該文件庫裡。

這樣我們就釋出好了這個應用程式。接下來我們瀏覽當前Web應用程式下的一個普通的網站。點選右上角的選單,新增應用程式,左側導航處選擇來自您的組織分組。

點選應用程式圖示,點選新增按鈕,選擇信任它,完成新增。


Provider-hosted APP

這種型別的APP由於有外接的Web應用程式,在以上步驟之前,我們需要先做一些準備工作,篇幅有限不細說了,但請仔細閱讀(修改程式碼那裡貌似可以忽略)。關於發行者ID和客戶端ID,實際的環境中一般是多個APP共用一個發行者ID,我們這裡只是用於測試,所以就將發行者ID設定為跟客戶端ID一樣的了。

然後我們先發布Web應用程式。

開啟之前的SharePoint APP專案,右鍵點選Web應用程式專案節點,選擇釋出。在配置檔案標籤頁,點選下拉框的新建配置檔案,取一個名稱,我們這裡取作ProviderAPPWebConfig。(在釋出之前先到IIS裡面建立一個HTTPS型別的網站)

釋出完成之後,再操作SharePoint APP專案,右鍵專案節點,選擇釋出,點選打包應用程式按鈕,會彈出嚮導。

點選完成開始打包,打包成功之後同樣會看到打完包的APP檔案,跟上面一樣,我們將它傳到應用程式目錄,然後新增到要使用的網站就可以了。

本篇完成了有幾天了,遲遲沒有釋出是因為一直遇到問題,比如An error occurred...、拒絕訪問等錯誤,嘗試了幾遍,總結出來的還是我上面說的,一定要仔細,ClientID和IssuerID一定要都對應上,認真檢查,耐心些,問題會解決的。

最後附上除錯時獲取指定APP Pool的批處理

c:\windows\system32\inetsrv\appcmd list wp
pause




相關文章