SharePoint - 應用



在本章中,我們將介紹 SharePoint 應用。應用模型是 SharePoint 擴充套件的新開發、部署和託管模型。作為 SharePoint 2013 中的開發人員,我們可以選擇使用解決方案模型(場解決方案或沙盒解決方案),或者使用應用模型。

Microsoft 文件和指南建議您優先考慮應用模型而不是解決方案模型,這可能是非常有效的指導。但是,您必須考慮到應用模型是 SharePoint 2013 的一項重大新增功能,而解決方案模型自 SharePoint 2007 以來就一直存在。

因此,使用解決方案模型進行開發的知識庫明顯優於當前使用應用模型進行開發的知識庫狀態。

應用存在的時間還不夠長,無法讓人們分享他們使用它的真實世界經驗。我認為學習應用模型及其優缺點非常重要。

應用特性

應用特性如下所示:

  • 第一個也是可能最重要的(從開發人員的角度來看)是,應用中的所有程式碼都在 SharePoint 伺服器外部執行。這意味著程式碼要麼是在使用者瀏覽器中執行的 JavaScript,要麼是在某些外部伺服器上執行的程式碼。

  • 由於所有程式碼都在 SharePoint 外部執行,因此與 SharePoint 的通訊透過 Web 服務完成,這意味著您正在使用客戶端物件模型或 REST API。

  • 在任何情況下,您都不能在 SharePoint 應用中使用伺服器物件模型。

  • 完成應用構建後,您要麼將其放入公共應用商店,要麼放入本地應用目錄。這需要一個審查流程,並且有一些規則需要您遵循才能使您的應用有資格進入公共應用商店。

  • 另一種選擇是將您的應用放入本地應用目錄,它只是您 Web 應用程式中的一個網站集,已由中心管理配置為應用目錄。

  • 應用部署到商店或目錄後,具有網站集所有者許可權的使用者可以將其安裝到 SharePoint 網站中。

應用型別

您可以構建不同型別的應用,如下所示:

SharePoint 託管應用

第一個是 SharePoint 託管應用。顧名思義,此類應用託管在您的 SharePoint 場中。

重要功能包括:

  • 它託管在安裝它的網站的子網站中,並且此子網站在大多數情況下與其他網站的行為類似。

  • 它可以包含列表、庫、頁面、內容型別等。

  • 構建 SharePoint 託管應用的基礎知識類似於構建 SharePoint 解決方案的基礎知識。

    • 我們有一個功能。

    • 我們可以向該功能新增元素,這些元素使用 CAML 定義。

    • 對於許多元素,我們在 Visual Studio 中有設計器。

    • 我們可以新增網站頁面。

    • 我們可以向這些網站頁面新增伺服器控制元件。

    • 我們不能向這些網站頁面新增程式碼隱藏,但我們可以新增 JavaScript 程式碼。

    • 現在,一旦您超越了基礎知識,事情就開始變得越來越不像了。

雲託管應用

其他兩種型別的應用(提供商託管和自動託管)被歸類為雲託管應用。重要功能包括:

  • 這些應用位於 SharePoint 外部的網站中。

  • 提供商託管和自動託管之間的最大區別在於誰將建立和管理此外部網站:

    • 在提供商託管應用中,那是您或您的組織。

    • 在自動託管應用中,那是 Microsoft。

  • 構建雲託管應用與構建任何其他網站相同。

  • 如果您是 .NET 開發人員,您可能正在使用 MVC 或 Web 窗體。但是,您不限於這些技術。您可以使用任何您想要的 Web 技術構建雲託管應用。完成應用構建後,在提供商託管方案中,您將按照處理任何其他網站的方式將應用部署到您的網站。

  • 在自動託管方案中,您使用 Visual Studio 建立應用包。它相當於解決方案包的應用,然後您可以將其上傳到 SharePoint Online 和網站。如有必要,將為您預配資料庫以託管您的應用。

  • 自動託管應用只能與 SharePoint Online 一起使用,它們不受本地場的支援。

這是我們在應用模型章節中已經介紹過的相同示例。

讓我們透過開啟 Visual Studio 並選擇“檔案”→“新建”→“專案”選單選項來檢視 SharePoint 託管應用程式的簡單示例。

步驟 1 - 開啟 Visual Studio 並選擇“檔案”→“新建”→“專案”選單

Project Menu

步驟 2 - 在左側窗格中選擇“模板”→“Visual C#”→“Office/SharePoint”,然後在中間窗格中選擇“SharePoint 應用”

在“名稱”欄位中輸入名稱,單擊“確定”,您將看到以下對話方塊。

App for SharePoint

在“新建 SharePoint 應用”中,我們需要新增要除錯的 SharePoint 網站 URL,然後選擇 SharePoint 託管模型作為您希望託管 SharePoint 應用的方式。

步驟 3 - 轉到 SharePoint 管理中心並複製 SharePoint URL。

SharePoint URL

步驟 4 - 將 URL 貼上到“新建 SharePoint 應用”對話方塊中,如下所示。

New App for SharePoint

步驟 5 - 單擊“下一步”,它將開啟“連線到 SharePoint”對話方塊,我們需要在其中登入。

Connect to SharePoint

步驟 6 - 輸入您的憑據並單擊“登入”按鈕。成功登入到 SharePoint 網站後,您將看到以下對話方塊:

Sign in

步驟 7 - 單擊“完成”。建立專案後,在解決方案資源管理器中單擊AppMenifest.xml檔案。

AppMenifest.xml

步驟 8 - 單擊“許可權”選項卡。將開啟一個“範圍”下拉列表。

Permissions Tab

步驟 9 - 在“範圍”下拉列表中,選擇“Web”,這是您正在配置的許可權範圍。在“許可權”下拉列表中,選擇“讀取”,這是您正在配置的許可權型別。

Select Web

步驟 10 - 開啟 Default.aspx 檔案並將其替換為以下程式碼。

<%-- The following 4 lines are ASP.NET directives needed when 
   using SharePoint components --%>

<%@ Page Inherits = "Microsoft.SharePoint.WebPartPages.WebPartPage,
   Microsoft.SharePoint, Version = 15.0.0.0, Culture = neutral,
   PublicKeyToken = 71e9bce111e9429c" MasterPageFile = "~masterurl/default.master"
   Language = "C#" %>

<%@ Register TagPrefix = "Utilities" Namespace = "Microsoft.SharePoint.Utilities"
   Assembly = "Microsoft.SharePoint, Version = 15.0.0.0, Culture = neutral,
   PublicKeyToken = 71e9bce111e9429c" %>

<%@ Register TagPrefix = "WebPartPages"
   Namespace = "Microsoft.SharePoint.WebPartPages" Assembly = "Microsoft.SharePoint,
   Version = 15.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c" %>

<%@ Register TagPrefix = "SharePoint"
   Namespace = "Microsoft.SharePoint.WebControls" Assembly = "Microsoft.SharePoint,
   Version = 15.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c" %>

<%-- The markup and script in the following Content element 
   will be placed in the <head> of the page --%>

<asp:Content ID = "Content1" ContentPlaceHolderID = "PlaceHolderAdditionalPageHead" 
   runat = "server">
   <script type = "text/javascript" src = "../Scripts/jquery- 1.6.2.min.js"></script>
   <link rel = "Stylesheet" type = "text/css" href = "../Content/App.css" />
   <script type = "text/javascript" src = "../Scripts/App.js"></script>
</asp:Content>

<asp:Content ID = "Content2" ContentPlaceHolderID = "PlaceHolderMain"
   runat = "server">
   <script type = "text/javascript"> 
      function hello() {
         var currentTime = new Date();
         $get("timeDiv").innerHTML = currentTime.toDateString();
      }
   </script>
   <div id = "timeDiv"></div>
   <input type = "button" value = "Push me!" onclick = "hello();" />
</asp:Content>

步驟 11 - 轉到解決方案資源管理器,右鍵單擊專案並選擇“釋出”。單擊“打包應用”按鈕。這將構建您的 SharePoint 託管應用併為將其部署到您的 SharePoint 網站做好準備。

Package the App

您將看到以下資料夾,其中包含 *.app 檔案。

App File

步驟 12 - 導航到您的 SharePoint 線上網站。

Navigate to SharePoint

步驟 13 - 在左側窗格中單擊“SharePoint 應用”。將開啟一個新頁面。

Apps for SharePoint

步驟 14 - 將您的檔案拖到此處上傳。

Uploading Files

檔案上傳後,您將看到以下頁面:

Uploaded file Tab

步驟 15 - 在左側窗格中單擊選項 -“網站內容”。單擊“新增應用”圖示,如下面的螢幕截圖所示:

Site Contents

將開啟一個新頁面。

步驟 16 - 在左側窗格中選擇“您的應用”→“來自您的組織”,您將看到該應用可供安裝。單擊該應用。

Select app from Organization

步驟 17 - 單擊應用後,將開啟一個對話方塊,如下面的螢幕截圖所示。單擊“信任它”

Dialogue Box

步驟 18 - 您將看到該應用已安裝。安裝完成後,您可以單擊該應用。

App Installed

您將看到以下頁面,其中包含一個按鈕:

Page

單擊“點選我”按鈕時,它將顯示當前日期。

Push me Button

自動託管

讓我們透過建立一個新專案來檢視自動託管的簡單示例。

步驟 1 - 選擇“SharePoint 2013 應用”並單擊“確定”

App for SharePoint 2013

步驟 2 - 選擇自動託管。

Select Autohosted

步驟 3 - 選擇 ASP.NET MVC Web 應用程式並單擊“完成”。

ASP.NET MVC Web Application

建立專案後,釋出您的應用。其餘步驟與 SharePoint 託管選項中給出的步驟相同。

廣告