SharePoint - App
In questo capitolo tratteremo le app SharePoint. Il modello di app è un nuovo modello di distribuzione e hosting di sviluppo per le estensioni a SharePoint. In qualità di sviluppatore in SharePoint 2013, abbiamo la possibilità di utilizzare il modello di soluzioni, soluzioni farm o sandbox oppure di utilizzare il modello di app.
La documentazione e le indicazioni di Microsoft suggeriscono di preferire il modello di app al modello di soluzioni e questa potrebbe essere una guida molto valida. Tuttavia, devi considerare che il modello di app, che è un'aggiunta significativa a SharePoint 2013, mentre il modello di soluzioni esiste da SharePoint 2007.
Pertanto, la knowledge base per lo sviluppo con il modello di soluzioni è notevolmente migliore rispetto allo stato attuale della knowledge base per lo sviluppo di app.
Le app non esistono da abbastanza tempo da consentire alle persone di condividere le loro esperienze nel mondo reale che le utilizzano. Penso che sia molto importante che impari il modello dell'app e i suoi punti di forza e di debolezza.
Caratteristiche dell'app
Le caratteristiche dell'app sono fornite di seguito:
Il primo e probabilmente il più importante, dal punto di vista dello sviluppatore, è che tutti i codici in un'app vengono eseguiti all'esterno del server SharePoint. Ciò significa che il codice è JavaScript in esecuzione nel browser degli utenti o è il codice in esecuzione su un server esterno.
Poiché tutto il codice viene eseguito al di fuori di SharePoint, la comunicazione con SharePoint viene eseguita tramite servizi Web, il che significa che si utilizza il modello a oggetti client o l'API REST.
Non esistono circostanze in cui è possibile utilizzare il modello a oggetti server in un'app di SharePoint.
Una volta terminata la creazione della tua app, la metti nell'app store pubblico o nel catalogo di app locale. Ciò richiede un processo di revisione e ci sono alcune regole, che devi seguire per rendere la tua app idonea per l'app store pubblico.
L'altra opzione è inserire l'app in un catalogo app locale, che è solo una raccolta siti, all'interno dell'applicazione Web, che è stata configurata dall'amministrazione centrale per essere il catalogo app.
Dopo che l'app è stata distribuita nell'archivio del catalogo, gli utenti con l'autorizzazione del proprietario della raccolta siti possono installarla nei siti di SharePoint.
Tipi di app
Esistono diversi tipi di app che puoi creare, che sono le seguenti:
App ospitata da SharePoint
Il primo è l'app ospitata da SharePoint. Come suggerisce il nome, questo tipo di app è ospitato nella farm di SharePoint.
Le caratteristiche importanti sono:
È ospitato in un sito figlio del sito in cui è installato e questo sito figlio si comporta per la maggior parte, come gli altri siti.
Può contenere elenchi, raccolte, pagine, tipi di contenuto e così via.
Le nozioni di base per la creazione di un'app ospitata da SharePoint sono simili alle nozioni di base per la creazione di una soluzione SharePoint.
Abbiamo una caratteristica.
Possiamo aggiungere elementi a quella caratteristica e quegli elementi sono definiti usando CAML.
Per molti degli elementi abbiamo designer in Visual Studio.
Possiamo aggiungere pagine del sito.
Possiamo aggiungere controlli server a quelle pagine del sito.
Non possiamo aggiungere codice dietro a quelle pagine del sito, ma possiamo aggiungere codice JavaScript.
Ora, una volta superate le basi, le cose iniziano a diventare sempre meno simili.
App in hosting su cloud
Gli altri due tipi di app, ospitate dal provider e ospitate automaticamente, sono classificate insieme come app ospitate nel cloud. Le caratteristiche importanti sono:
Queste app risiedono in un sito esterno a SharePoint.
La grande differenza tra Provider-Hosted e Auto-Hosted è chi creerà e gestirà questo sito esterno -
In un'app ospitata dal provider, sei tu o la tua organizzazione.
In un'app ospitata automaticamente, questo è Microsoft.
La creazione di un'app ospitata nel cloud equivale a creare qualsiasi altro sito Web.
Se sei uno sviluppatore .NET, probabilmente stai utilizzando MVC o Web Forms. Tuttavia, non sei limitato a queste tecnologie. Puoi creare un'app ospitata nel cloud con qualsiasi tecnologia web desideri. Quando hai finito di creare la tua app, nello scenario ospitato dal provider, distribuirai l'app sul tuo sito come faresti per qualsiasi altro sito web.
Nello scenario ospitato automaticamente, usi Visual Studio per creare un pacchetto dell'app. È un'app equivalente a un pacchetto della soluzione e quindi è possibile caricarla in SharePoint Online e in un sito. Se necessario, verrà fornito un database per ospitare la tua app.
Le app ospitate automaticamente possono essere usate solo con SharePoint Online, non sono supportate con una farm locale.
Ecco lo stesso esempio, che abbiamo già trattato nel capitolo App Model.
Diamo un'occhiata a un semplice esempio di applicazione ospitata da SharePoint aprendo Visual Studio e selezionando File → Nuovo → opzione di menu Progetto.
Step 1 - Apri Visual Studio e seleziona il file File → New → Project menu.
Step 2 - Nel riquadro di sinistra selezionare Templates → Visual C# → Office/SharePoint e quindi nel riquadro centrale selezionare App for SharePoint.
Immettere il nome nel campo Nome, fare clic su OK e verrà visualizzata la seguente finestra di dialogo.
Nella nuova app per SharePoint, è necessario aggiungere l'URL del sito di SharePoint di cui si desidera eseguire il debug e quindi selezionare il modello ospitato da SharePoint come modo in cui si desidera ospitare la propria app per SharePoint.
Step 3 - Vai all'interfaccia di amministrazione di SharePoint e copia l'URL di SharePoint.
Step 4 - Incolla l'URL nel file New App for SharePoint finestra di dialogo come mostrato di seguito.
Step 5 - Fare clic su Next e aprirà il file Connect to SharePoint finestra di dialogo in cui dobbiamo effettuare il login.
Step 6 - Inserisci le tue credenziali e fai clic su Sign inpulsante. Dopo aver effettuato correttamente l'accesso al sito di SharePoint, verrà visualizzata la seguente finestra di dialogo:
Step 7 - Fare clic su Finish. Una volta creato il progetto, fare clic suAppMenifest.xml file in Esplora soluzioni.
Step 8 - Fare clic su Permissionstab. Si aprirà un elenco a discesa Scope.
Step 9 - Nell'elenco a discesa Ambito, selezionare Web, che è l'ambito delle autorizzazioni che stai configurando. Nell'elenco a discesa Autorizzazione, seleziona Lettura, che è il tipo di autorizzazione che stai configurando.
Step 10 - Apri il file Default.aspx e sostituiscilo con il codice seguente.
<%-- 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>
Step 11- Vai a Esplora soluzioni, fai clic con il pulsante destro del mouse sul progetto e seleziona Pubblica. Clicca ilPackage the apppulsante. Questo crea la tua app ospitata da SharePoint e la prepara per la distribuzione nel tuo sito di SharePoint.
Vedrai la seguente cartella, che contiene il file * .app.
Step 12 - Accedi al tuo sito in linea di SharePoint.
Step 13 - Fare clic su Apps for SharePointnel riquadro di sinistra. Si aprirà una nuova pagina.
Step 14 - Trascina i tuoi file qui per caricarli.
Una volta caricato il file, vedrai la seguente pagina:
Step 15 - Fare clic sull'opzione - Site Contentsnel riquadro di sinistra. Clicca iladd an app come mostrato nella seguente schermata:
Si aprirà una nuova pagina.
Step 16 - Seleziona Your Apps → From Your Organizationnel riquadro di sinistra e vedrai che l'app è disponibile per l'installazione. Fare clic sull'app.
Step 17- Quando fai clic sull'app, si apre una finestra di dialogo come mostrato nella seguente schermata. ClicTrust it.
Step 18- Vedrai che l'app è installata. Una volta completata l'installazione, puoi fare clic sull'app.
Vedrai la pagina seguente, che contiene un pulsante:
Quando fai clic sul file Push me pulsante, visualizzerà la data corrente.
Ospitato automaticamente
Diamo uno sguardo a un semplice esempio di Autohosted creando un nuovo progetto.
Step 1 - Seleziona App for SharePoint 2013 e fare clic OK.
Step 2 - Seleziona Autohosted.
Step 3 - Selezionare Applicazione Web ASP.NET MVC e fare clic su Fine.
Una volta creato il progetto, pubblica la tua app. Gli altri passaggi sono gli stessi forniti per l'opzione ospitata da SharePoint.