SharePoint - Guida rapida

Questo tutorial ti darà un'idea di come iniziare con lo sviluppo di SharePoint. Microsoft SharePoint è una collaborazione basata su browser, una piattaforma di gestione dei documenti e un sistema di gestione dei contenuti. Dopo aver completato questo tutorial, avrai una migliore comprensione di cosa sia SharePoint e quali sono le aree e le funzionalità di alto livello di SharePoint.

Cos'è SharePoint

SharePoint è una piattaforma per supportare la collaborazione e il sistema di gestione dei contenuti. È un portale web centrale. Utilizzando SharePoint, puoi gestire documenti, attività sociali, dati e informazioni dei tuoi colleghi e dei tuoi.

  • Consente ai gruppi di configurare uno spazio centralizzato e protetto da password per la condivisione dei documenti.

  • I documenti possono essere archiviati, scaricati e modificati, quindi caricati per una condivisione continua.

  • SharePoint offre una gamma così ampia di funzionalità che è molto difficile per una sola persona essere un esperto in tutti i carichi di lavoro.

Facci capire cosa possiamo fare con SharePoint. È diviso in tre aree separate:

Collaborazione

Il termine collaborazione contiene un tema molto forte per SharePoint. Significa riunire le persone attraverso diversi tipi di collaborazione, come la gestione dei contenuti aziendali, la gestione dei contenuti Web, il social computing, la reperibilità delle persone e le loro competenze.

  • In SharePoint 2013, la collaborazione viene gestita tramite app.

  • Gli sviluppatori possono estendere, personalizzare o creare le proprie app per SharePoint, nonché gestire la collaborazione su SharePoint.

Interoperabilità

SharePoint intende anche riunire questa collaborazione attraverso l'interoperabilità come:

  • Office e integrazione di documenti basati sul Web.

  • Capacità di creare e distribuire soluzioni sicure e personalizzate che integrano dati line-ofbusiness con SharePoint e Office.

  • Integrazione con tecnologie Web più ampie o distribuzione di applicazioni nel cloud.

piattaforma

SharePoint è anche una piattaforma che supporta non solo l'interoperabilità e la collaborazione, ma anche l'estensibilità, attraverso un ricco modello di oggetti, un solido set di strumenti per sviluppatori e una comunità di sviluppatori in crescita.

  • Uno dei principali cambiamenti di paradigma è la nozione di cloud in SharePoint.

  • Il cloud introduce nuovi modelli di app come:

    • Nuovi modi per sviluppare, distribuire e ospitare applicazioni SharePoint.

    • Nuove forme di autenticazione tramite OAuth.

    • Nuovi modi di interoperabilità dei dati utilizzando OData e REST.

In questo capitolo tratteremo i diversi tipi e versioni per iniziare a lavorare su SharePoint.

Esistono tre modi principali per installare e utilizzare SharePoint:

  • SharePoint Foundation
  • SharePoint Server
  • Ufficio 365

Le prime due opzioni sono SharePoint in sede, mentre Office 365 è emerso come terzo modello completamente ospitato nel cloud per SharePoint.

SharePoint Foundation

SharePoint Foundation è la soluzione essenziale per le organizzazioni che necessitano di una piattaforma di collaborazione basata sul Web sicura, gestibile. SharePoint Foundation fornisce le funzionalità di collaborazione di base incluse in SharePoint.

  • SharePoint Foundation viene fornito come installazione scaricabile gratuita e rappresenta le parti fondamentali di SharePoint.

  • Include una serie di funzionalità come la sicurezza e l'amministrazione, la collaborazione tra utenti e siti del team e una serie di app (come raccolte di documenti ed elenchi).

  • In sostanza, fornisce una serie di funzionalità di base che consentono di iniziare a utilizzare e sviluppare per SharePoint.

SharePoint Foundation richiede alcune funzionalità per creare soluzioni di comunicazione e collaborazione standard all'interno dell'organizzazione. Le caratteristiche principali di SharePoint Foundation ruotano attorno alla gestione dei documenti e alla collaborazione.

Caratteristiche principali di SharePoint Foundation

Di seguito sono riportate alcune delle caratteristiche principali, che sono responsabili della sua ampia adozione nelle aziende.

  • Effective document and task collaboration - I siti web del team offrono l'accesso alle informazioni in una posizione centrale.

  • Reduced implementation and deployment resources - SharePoint Foundation è disponibile per i clienti di Windows Server come download gratuito, grazie al quale si riducono notevolmente i tempi e i costi di implementazione.

  • Better control of your organization’s important business data - SharePoint Foundation offre anche funzionalità per la gestione e la sicurezza di dati e informazioni.

  • Embrace the web for collaboration - Estendendo e personalizzando SharePoint Foundation

In breve, SharePoint Foundation rappresenta l'archiviazione dei contenuti di base e le funzionalità di collaborazione di SharePoint. È l'edizione ideale per i team e le piccole organizzazioni che cercano di migliorare la propria capacità di lavorare insieme in uno spazio di lavoro collaborativo sicuro, facile da usare.

SharePoint Server

SharePoint Server offre una vasta gamma di funzionalità che si estendono a quelle offerte in SharePoint Foundation. Fornisce una raccolta più ricca e avanzata di funzionalità che puoi utilizzare nelle soluzioni della tua organizzazione.

Caratteristiche principali di SharePoint Server

Alcune di queste funzionalità aggiuntive sono descritte nel seguente elenco:

  • Advanced Search- Le caratteristiche di ricerca e le funzionalità disponibili nelle versioni Server offrono maggiore flessibilità. Consentono pagine dei risultati di ricerca personalizzate che è possibile configurare con web part di ricerca personalizzate.

  • Web Content Management - SharePoint Server supporta la creazione e la pubblicazione di contenuto Web per Internet.

  • Enterprise Services - Questi servizi forniscono modi per creare soluzioni personalizzate rapidamente e facilmente utilizzando gli strumenti disponibili all'interno della famiglia di prodotti Office.

  • Business Connectivity Services - Servizi di integrazione applicativa (BCS) consente di connettersi a queste origini dati esterne e visualizzare i dati aziendali tramite web part, profili utente o elenchi di SharePoint.

  • Social Networking and Computing - Il social networking è ovunque ed è diventato un set di funzionalità previsto di molte soluzioni.

  • Records management - SharePoint Server fornisce un eccellente supporto per la gestione del contenuto durante l'intero ciclo di vita.

Ufficio 365

Office 365 è emerso come un terzo modello completamente ospitato nel cloud per SharePoint. È l'opzione alternativa per ospitare la tua farm nel tuo data center locale.

Caratteristiche principali di Office 365

  • Le opzioni per la licenza di SharePoint Online tramite Office 365 si basano su fattori quali il numero di utenti che si desidera aggiungere, la quantità di dati che è necessario archiviare e le funzionalità che devono essere disponibili.

  • È anche diventato un ottimo luogo in cui è possibile sviluppare ricche applicazioni (sia come app ospitate da SharePoint che ospitate nel cloud) e scalare senza il costo della gestione dell'infrastruttura locale.

  • Non ha tutti gli stessi servizi e funzionalità di SharePoint Server, ma porta con sé alcune ottime capacità di sviluppo.

  • Esistono applicazioni .NET create utilizzando C # o Visual Basic e quindi distribuite in SharePoint come .WSP o .APP. Ci sono app più leggere come le app HTML5 e JavaScript che puoi anche distribuire.

  • In qualità di sviluppatore, hai la possibilità di personalizzare qualsiasi edizione di SharePoint, che si tratti di SharePoint Foundation, Server o Office 365.

In questo capitolo, tratteremo il set predefinito di capacità (o caratteristiche) incorporate in SharePoint che consentono di sfruttare la piattaforma senza eseguire alcuno sviluppo.

  • Puoi utilizzare o estendere queste funzionalità di base durante la creazione delle tue app. Microsoft ha storicamente fatto riferimento a queste funzionalità come carichi di lavoro.

  • Questi carichi di lavoro forniscono un modo per parlare delle diverse funzionalità di SharePoint che si uniscono. Dovresti vedere questi carichi di lavoro come rappresentanti non solo di un set principale di applicazioni correlate, ma anche come opportunità per lo sviluppo delle tue applicazioni.

Di seguito sono riportati i carichi di lavoro, che sono stati aggiunti in SharePoint 2010:

  • Sites - Rappresentare i diversi tipi di siti disponibili per l'uso e le funzionalità all'interno di questi siti.

  • Communities - Rappresentare la comunità e le funzionalità sociali come blog e wiki.

  • Content - Rappresenta le funzionalità di gestione dei contenuti aziendali principali.

  • Search - Rappresentare le funzionalità guidate dalla ricerca.

  • Insights - Rappresentare funzionalità di business intelligence come i KPI.

  • Composites - Rappresentare la capacità di integrare applicazioni esterne utilizzando, ad esempio, Servizi di integrazione applicativa.

SharePoint 2013 - Funzionalità

In SharePoint 2013, Microsoft ha esteso le capacità per aggiungere più funzionalità e fornire un'integrazione più stretta.

Di seguito sono riportate le funzionalità principali per SharePoint 2013:

Capacità Funzionalità native Esempio di estensibilità
Siti Sites è dove troverai gli aspetti collaborativi di SharePoint. I siti contengono numerose funzionalità, inclusa la capacità di creare, archiviare e recuperare dati, nonché gestire, etichettare e cercare contenuti, documenti e informazioni. È inoltre disponibile la connettività alle applicazioni client di Microsoft Office 2013 tramite l'elenco e la raccolta documenti. Siti, modelli di sito, app per SharePoint, flusso di lavoro, pagine master, pagine del sito
Sociale Fornisce funzionalità di social networking e social network, newsfeed e ricerca e tagging dei profili, oltre alla capacità di cercare, individuare e interagire con le persone attraverso le loro capacità, posizione organizzativa, relazioni e classificazione dei contenuti. Ricerca funzionalità di personalizzazione, valutazione e tagging, blog, wiki, tag di metadati
Soddisfare Contiene la capacità di esplorare, cercare e gestire il contenuto utilizzando pagine Web, app, flusso di lavoro o tipi di contenuto. App per SharePoint, flussi di lavoro, Word o Excel Services
Ricerca La capacità di cercare contenuti all'interno e all'esterno di SharePoint in modo ricco e dinamico con visualizzazioni di documenti in tempo reale tramite Office Web Apps. Inoltre, l'integrazione delle informazioni in sistemi di database strutturati e sistemi LOB locali o basati su cloud come SAP, Siebel e Microsoft Dynamics. Ricerca SharePoint, personalizzazione della ricerca, integrazione applicativa dei dati (BDC)
Approfondimenti Prevalentemente sulla BI e supporta, ad esempio, la capacità di integrare Microsoft Access in SharePoint; sfruttare Excel e SQL Server per accedere e visualizzare i dati su una pagina Web; consentire l'uso di dashboard e indicatori chiave di prestazione (KPI) per trasformare i dati grezzi in informazioni utilizzabili. Excel Services, Access Services, dashboard, BDC, PerformancePoint Services
Interoperabilità Spazia dall'integrazione LOB all'integrazione con Office, passando per il nuovo modello di applicazione Apps for Office; (pensa ai riquadri attività personalizzati alimentati da HTML e JavaScript che si collegano a servizi cloud anziché componenti aggiuntivi di codice gestito VSTO) allo sviluppo di soluzioni personalizzate. BDC, App per Office, sviluppo personalizzato
Branding Cambiare l'aspetto del tuo sito tramite modifiche ai modelli incorporate o un marchio più dettagliato e guidato dall'organizzazione Configurazione predefinita, pagine master e app personalizzate per SharePoint

In questo capitolo configureremo l'ambiente di sviluppo per SharePoint. Come già sai, ci sono tre diverse opzioni di SharePoint. Sono -

  • SharePoint Foundation
  • SharePoint Server
  • Ufficio 365

In questo capitolo useremo Office 365, che è una versione basata su cloud.

Step 1 - Puoi creare facilmente un account di prova gratuito qui https://products.office.com/en/business/office-365-enterprise-e3-business-software.

Step 2- Fai clic sull'opzione Prova gratuita. Si aprirà una nuova pagina.

Step 3 - Immettere le informazioni richieste e fare clic Next e vedrai la pagina seguente.

Step 4- Immettere il nome utente, il nome dell'azienda e la password e fare clic su Avanti. Ti invierà un codice di verifica. Una volta completata la verifica, inizierà a creare l'account.

Step 5 - Una volta creato il tuo account, vedrai la pagina seguente.

Step 6 - Fare clic su You’re ready to go e vedrai la pagina seguente -

Ora il tuo ambiente è pronto e puoi iniziare lo sviluppo del punto di condivisione, ma dovrai anche installare Visual Studio.

Microsoft fornisce una versione gratuita di visual studio, che contiene anche SQL Server e può essere scaricata da https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx.

Installazione

I passaggi seguenti ti guideranno nell'installazione di SharePoint.

Step 1- Una volta completato il download, esegui il programma di installazione. Verrà visualizzata la seguente finestra di dialogo.

Step 2 - Fare clic su Installa e inizierà il processo di installazione.

Step 3 - Una volta completato con successo il processo di installazione, vedrai il seguente messaggio -

Step 4- Riavvia il computer se necessario. Ora apri Visual Studio dal menu Start. Si aprirà la seguente finestra di dialogo e la preparazione richiederà del tempo.

Step 5 - Al termine, vedrai la finestra principale di Visual Studio.

Ora sei pronto per avviare la tua applicazione.

Step 6 - Seleziona File → New → Project opzione di menu.

Step 7 - Seleziona Office / SharePoint nel riquadro di sinistra sotto Templates → Visual C#. Doppio clickInstall Office Developer Tools.

Step 8 - Fare clic su Installe chiudere tutte le istanze di Visual Studio. Si aprirà una nuova pagina. ClicNext.

Step 9- Apparirà una finestra di messaggio. ClicUpdate.

Step 10 - Una volta aggiornato, vedrai il messaggio come segue -

Il sito è l'elemento centrale di SharePoint e rappresenta il punto di partenza per gli sviluppatori e senza la raccolta siti non è possibile avviare lo sviluppo di SharePoint. Una raccolta siti in linea di Microsoft SharePoint è un sito di primo livello che contiene siti secondari.

Sono disponibili numerosi modelli di sito che puoi utilizzare. I siti secondari condividono le impostazioni di amministrazione, la navigazione e le autorizzazioni, ognuna delle quali può essere modificata per i singoli siti secondari in base alle esigenze.

Crea raccolta siti

Quando si apprende un'applicazione come SharePoint, è una buona idea creare un'area in cui è possibile eseguire esercizi senza influire sugli ambienti o sugli utenti esistenti.

Step 1 - Per creare una nuova raccolta siti, accediamo al sito https://portal.office.com/

Step 2 - Seleziona l'icona Amministratore e vedrai la pagina seguente -

Step 3 - Seleziona Resources → Sites, nel riquadro di sinistra. Nel riquadro di destra, fare clic suAdd a site.

Step 4- Si aprirà la pagina seguente. Immettere le informazioni richieste e fare clic su OK.

Puoi vedere che la raccolta siti viene aggiunta all'elenco degli URL dell'interfaccia di amministrazione. L'URL è il percorso della raccolta siti in cui l'amministratore può iniziare a creare e gestire i siti.

Step 5 - Fare clic sul collegamento e verranno visualizzate le informazioni dettagliate sulla raccolta siti.

In questo capitolo, tratteremo i diversi set di API per accedere alla piattaforma SharePoint.

La selezione delle API dipende dai seguenti diversi fattori:

  • Tipo di applicazione
  • Sviluppatore competenze esistenti
  • Dispositivo su cui viene eseguito il codice

Tipo di applicazione

Esistono diversi tipi di applicazioni come:

  • Componente aggiuntivo di SharePoint
  • Web part in una pagina di SharePoint
  • Applicazione Silverlight in esecuzione su un computer client o su un dispositivo mobile client
  • Applicazione ASP.NET esposta in SharePoint
  • JavaScript in esecuzione in una pagina del sito di SharePoint
  • Pagina dell'applicazione SharePoint
  • Applicazione Microsoft .NET Framework in esecuzione su un computer client
  • Script di Windows PowerShell
  • Processo timer in esecuzione su un server SharePoint

Competenze esistenti dello sviluppatore

È possibile creare facilmente applicazioni in SharePoint se si dispone già di esperienza in uno dei seguenti modelli di programmazione senza dover imparare molto sulla programmazione di SharePoint:

  • JavaScript
  • ASP.NET
  • REST/OData
  • .NET Framework
  • Windows Phone
  • Silverlight
  • Windows PowerShell

Dispositivo su cui viene eseguito il codice

Il dispositivo su cui viene eseguito il codice può essere uno dei seguenti:

  • Server nella farm di SharePoint.
  • Un server esterno come un server nel cloud.
  • Un computer client e un dispositivo mobile.

La tabella seguente fornisce indicazioni per diversi set di API, che possono essere usati per un elenco selezionato di progetti comuni di estensibilità di SharePoint.

S.No. API e utilizzo
1

.NET Framework client object model, Silverlight client object model, REST/OData endpoints

Creare un'applicazione Web ASP.NET che esegua operazioni CRUD sui dati di SharePoint o sui dati esterni che vengono visualizzati in SharePoint da un tipo di contenuto esterno BCS, ma non deve chiamare SharePoint attraverso un firewall.

2

REST/OData endpoints

Creare un'applicazione Web LAMP che esegua operazioni CRUD sui dati di SharePoint o sui dati esterni che vengono visualizzati in SharePoint da un tipo di contenuto esterno BCS.

Crea un'app iOS o Android che esegua operazioni CRUD sui dati di SharePoint.

3

Mobile client object model

Crea un'app per Windows Phone che esegua operazioni CRUD sui dati di SharePoint.

4

Mobile client object model and the server object model

Creare un'app per Windows Phone che utilizzi il servizio di notifica push Microsoft per avvisare il dispositivo mobile degli eventi in SharePoint.

5

.NET Framework client object model

Creare un'applicazione .NET Framework che esegua operazioni CRUD sui dati di SharePoint.

6

Silverlight client object model

Crea un'applicazione Silverlight che esegua operazioni CRUD sui dati di SharePoint.

7

JavaScript client object model

Creare un'applicazione HTML / JavaScript che esegua operazioni CRUD sui dati di SharePoint.

Crea un componente aggiuntivo di Office che funzioni con SharePoint

8

Server object model

Crea un comando di Windows PowerShell personalizzato.

Crea un lavoro timer.

Crea un'estensione di Amministrazione centrale.

Crea un marchio coerente in un'intera farm di SharePoint.

Creare una web part personalizzata, una pagina dell'applicazione o un controllo utente ASP.NET.

In questo capitolo tratteremo l'introduzione di alto livello di Amministrazione centrale SharePoint. L'amministrazione centrale è il luogo in cui è possibile eseguire attività di amministrazione da una posizione centrale. Poiché ci siamo già registrati per un Office 365, abbiamo anche un sito di amministrazione.

Apri l'URL https://portal.office.com/ nel browser.

Step 1 - Seleziona l'icona Admin.

Step 2 - Ora seleziona Admin centers → SharePoint nel riquadro di sinistra.

Si aprirà la pagina seguente.

È possibile visualizzare una serie di funzionalità di amministrazione della raccolta siti e gestire le attività seguenti:

  • Gestione delle candidature
  • Monitoring
  • Security
  • Impostazioni generali dell'applicazione
  • Impostazioni di sistema
  • Backup e ripristino
  • Aggiornamento e migrazione
  • Procedura guidata di configurazione
  • Apps

Gestione delle candidature

In Gestione applicazioni è possibile eseguire attività come la creazione di nuove applicazioni Web e raccolte siti. È possibile gestire i servizi installati sul sito di SharePoint come Word, Excel o BCS e gestire il database dei contenuti.

È inoltre possibile eseguire attività come la modifica delle proprietà del database del contenuto, l'attivazione di funzionalità e la creazione di nuove raccolte siti e così via.

Monitoraggio

Il monitoraggio è il luogo centrale in cui è possibile gestire la creazione di report, il monitoraggio e lo stato del sito di SharePoint. Il sito di monitoraggio è suddiviso in tre aree, che sono le seguenti:

  • Health Status - Puoi vedere lo stato di diversi servizi sul tuo SharePoint Server.

  • Timer Jobs - È possibile definire i lavori specifici e decidere quando eseguirli.

  • Reporting - Una serie di strumenti che consente di creare e gestire rapporti, eseguire registrazioni diagnostiche e visualizzare rapporti su varie attività lato server.

Sicurezza

Le impostazioni di sicurezza riguardano la sicurezza nell'interfaccia utente principale del browser, dove gli utenti e gli amministratori del sito possono valutare autorizzazioni specifiche relative agli utenti per i loro siti. La sicurezza copre molte aree come:

  • Gestione degli account amministratore
  • Configurazione e gestione degli account di servizio.
  • Gestione delle impostazioni e dei criteri di modifica della password.
  • Specifiche dei provider di autenticazione, provider di identità affidabili.
  • Impostazioni antivirus.
  • Tipi di file bloccati.
  • Sicurezza self-service.
  • Servizi di token sicuri.

Impostazioni generali dell'applicazione

In Impostazioni generali dell'applicazione è possibile configurare una serie di opzioni generali per le raccolte siti e i siti di SharePoint, ad esempio l'invio di posta agli utenti.

È inoltre possibile gestire una serie di opzioni di distribuzione e approvazione come la posizione di distribuzione del contenuto e gli approvatori di tale contenuto. In generale, pensa a questo sito come alle impostazioni generiche per i tuoi siti di SharePoint.

Impostazioni di sistema

È possibile configurare impostazioni incentrate sul server come funzionalità di accesso o a livello di farm o persino gestire servizi come Excel e Word Services, che sono disponibili per gli utenti della raccolta siti. Puoi gestire questi tipi di impostazioni dall'interno del sito Impostazioni di sistema.

Backup e ripristino

A volte, potrebbe essere necessario eseguire il backup e il ripristino del sito di SharePoint. La funzionalità di backup e ripristino consente di creare e pianificare backup regolari per SharePoint, eseguire backup ad hoc, ripristinare da un sito di SharePoint di cui è stato precedentemente eseguito il backup, ecc.

Aggiornamento e migrazione

A volte, potresti voler eseguire l'aggiornamento da una versione di SharePoint a un'altra versione, ad esempio passando da SharePoint Standard a SharePoint Enterprise. Ciò richiede una licenza e alcune funzionalità per aggiornare il server.

Questo tipo di attività può essere eseguito nella sezione Aggiornamento e migrazione del sito Amministrazione centrale. È inoltre possibile installare le patch di servizio, controllare l'installazione e lo stato di avanzamento dell'aggiornamento da questa parte del set di strumenti di amministrazione.

Procedura guidata di configurazione

È semplicemente una procedura guidata passo passo che configura SharePoint Server per te.

Avresti dovuto vedere questa procedura guidata quando hai installato per la prima volta SharePoint. Tuttavia, è possibile eseguirlo di nuovo dopo l'installazione per modificare alcune delle configurazioni sul server SharePoint.

App

App è una nuova categoria all'interno del sito Amministrazione centrale che consente di gestire diversi aspetti delle app installate nell'istanza di SharePoint.

Ad esempio, puoi utilizzare le app per gestire le licenze, assicurarti che le app siano in esecuzione e funzionino senza errori e gestire anche il catalogo delle app.

In questo capitolo tratteremo i modelli di app di distribuzione di SharePoint. Poiché SharePoint si sta spostando verso il cloud, i seguenti modelli di distribuzione sono disponibili per utilizzare App per SharePoint:

  • SharePoint-hosted
  • Autohosted

App ospitata da SharePoint

Il tipo di distribuzione ospitata da SharePoint rappresenta un modo per distribuire app leggere sul lato client in SharePoint. Il modo più semplice per considerare l'app ospitata da SharePoint come un'applicazione priva di codice lato server.

Le caratteristiche principali dell'app ospitata da SharePoint sono:

  • È un'applicazione composta da file o pagine di applicazioni statiche che risiedono su SharePoint come file HTML e JavaScript che abilitano la codifica lato client.

  • Quando gli utenti accedono all'app ospitata da SharePoint, vengono reindirizzati alla pagina che contiene l'applicazione.

  • Il tipo di distribuzione ospitato da SharePoint è adatto per app più leggere come visualizzazioni di elenchi con marchio, app multimediali o app meteo.

  • Se decidi di sfruttare il modello di distribuzione ospitato da SharePoint, sei limitato al codice che non viene eseguito sul server.

  • Puoi utilizzare Silverlight con SharePoint e sfruttare l'HTML insieme a JavaScript.

Diamo un'occhiata a un semplice esempio di applicazione ospitata da SharePoint.

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 l'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 l'accesso con successo al sito di SharePoint, vedrai 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 Ambito.

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

Il AutohostedIl modello di distribuzione rappresenta una svolta significativa rispetto alle precedenti applicazioni SharePoint. In questo modello, crei app per SharePoint, ma il codice viene distribuito senza problemi in Windows Azure in background, quindi SharePoint crea automaticamente l'app ospitata nel cloud per te.

Le caratteristiche importanti sono:

  • Sembra che sia in esecuzione su SharePoint, ma in background viene effettivamente distribuito a un'istanza speciale di Office 365 Windows Azure e registrata come App autenticata e autorizzata con SharePoint.

  • Non si dispone dell'accesso completo alle funzionalità dell'intera piattaforma della piattaforma Windows Azure con il modello di distribuzione Autohosted, ma si dispone della piattaforma sufficiente per creare alcune applicazioni interessanti.

Diamo un'occhiata a un semplice esempio di Autohosted creando un nuovo progetto.

Step 1 - Seleziona App for SharePoint 2013 e fare clic OK.

Si apre una nuova finestra di dialogo.

Step 2 - Seleziona Autohosted e fare clic Next.

Step 3- Si aprirà una nuova finestra di dialogo. SelezionareASP.NET MVC Web Application e fare clic Finish.

Una volta creato il progetto, pubblica la tua app. Gli altri passaggi sono gli stessi forniti per l'opzione ospitata da SharePoint.

In questo capitolo, tratteremo le opzioni di integrazione. Il nuovo modello di applicazione in SharePoint 2013 offre una serie di opzioni per l'integrazione completa dell'applicazione con SharePoint, altri sistemi e dati. Queste opzioni sono le seguenti:

  • Integrazione dell'interfaccia utente
  • Eventi e integrazione logica
  • Integrazione dei dati

Integrazione dell'interfaccia utente

Nell'integrazione dell'interfaccia utente, sono disponibili tre punti di integrazione principali come parte del modello dell'applicazione SharePoint, che sono i seguenti:

  • Parti e pagine dell'app
  • Menu della barra multifunzione e delle azioni
  • Navigation

Parti e pagine dell'app

Le parti e le pagine delle app ti offrono la possibilità di mostrare agli utenti l'interfaccia utente delle tue applicazioni. Per le persone che hanno familiarità con SharePoint 2010, le app part sono simili alle web part.

  • Le parti dell'app sono finestre riutilizzabili e configurabili nell'applicazione.

  • Le pagine sono molto simili a una parte dell'app, tranne per il fatto che vengono visualizzate in uno stile di finestra più grande e più pieno.

Menu della barra multifunzione e delle azioni

La barra multifunzione è stata introdotta per la prima volta in SharePoint 2010. Fornisce una posizione centrale per tutte le azioni che un utente potrebbe voler eseguire sui documenti e altri dati.

In SharePoint 2010, gli sviluppatori potevano includere azioni personalizzate per le loro applicazioni nella barra multifunzione; Anche le applicazioni di SharePoint consentono questa personalizzazione. Ciò consente di includere azioni dove gli utenti si aspettano, insieme a tutte le altre azioni standard fornite da SharePoint.

Il menu Azione è un menu sensibile al contesto sugli elementi di un elenco o di una raccolta di SharePoint. Ad esempio, in una raccolta documenti di SharePoint il menu Azione espone funzioni comuni come Archivia e Archivia.

Un altro termine comunemente usato per questo menu è Modifica blocco controllo.

Le applicazioni di SharePoint consentono di includere azioni aggiuntive in questo menu. Ad esempio, è un'ottima posizione per visualizzare le funzioni dell'applicazione, che si applicano a un singolo elemento dell'elenco.

Navigazione

La navigazione consente agli utenti di trovare la tua applicazione e l'integrazione con la barra multifunzione e i menu Azione consente agli utenti di eseguire azioni nella stessa posizione familiare che fanno altrove in SharePoint.

L'utilizzo di uno o più di questi blocchi predefiniti consente di integrare l'interfaccia utente dell'applicazione con quella di SharePoint ed esporre l'app ai suoi utenti.

Eventi e integrazione logica

Fornire un'interfaccia utente per gli utenti è solitamente l'aspetto più importante di qualsiasi applicazione. D'altra parte, anche la risposta alle azioni intraprese dagli utenti, all'interno di un'applicazione o per interagire con un'applicazione, è estremamente importante.

Le caratteristiche principali sono:

  • Le applicazioni di SharePoint forniscono la capacità sia di rispondere alle attività all'interno dell'applicazione, come il clic di un pulsante, sia di rispondere alle attività all'interno di SharePoint, come un documento che viene estratto, ecc.

  • Rispondere alle attività all'interno dell'applicazione è molto semplice. L'interfaccia utente e il codice dell'applicazione vengono eseguiti in remoto da SharePoint e vengono visualizzati semplicemente tramite parti e pagine dell'app. Per questo motivo, la risposta a un evento come il clic su un pulsante nella tua applicazione è interamente legata al framework di programmazione della tua applicazione. Ad esempio, se la tua app è costruita con ASP.NET, devi semplicemente prendere il fileOnClick evento per un pulsante ASP.NET.

  • SharePoint non si intromette per questi tipi di eventi. Per rispondere agli eventi che si verificano all'interno di SharePoint, come il salvataggio o l'aggiornamento di un documento, SharePoint fornisce i ricevitori di eventi.

  • SharePoint 2013 fornisce anche ricevitori di eventi che consentono alle applicazioni di rispondere agli eventi che si verificano all'interno di un sito di SharePoint.

Integrazione dei dati

I dati sono il cuore di ogni applicazione, ovvero ciò con cui gli utenti desiderano lavorare all'interno dell'applicazione. SharePoint offre una serie di opzioni predefinite per l'archiviazione e l'utilizzo dei dati. Queste opzioni sono le seguenti:

  • Archiviazione e manipolazione dei dati in SharePoint.

  • Lavorare con dati che risiedono all'esterno di SharePoint.

Fin dalla prima versione di SharePoint, l'obiettivo è stato quello di rendere il lavoro con i dati semplice e diretto per gli utenti.

L'esempio più semplice di questo è il concetto di dati di lista. Gli utenti possono archiviare e lavorare con dati in stile tabulare tramite un'interfaccia web comune.

Molti vedono l'utilizzo di elenchi analogo all'utilizzo di una tabella di dati in un database. Le applicazioni SharePoint possono anche trarre vantaggio da queste stesse funzionalità di archiviazione dati in modo nativo utilizzando elenchi, SharePoint offre agli sviluppatori la possibilità di sfruttare molte delle funzionalità di archiviazione dati fornite da SharePoint senza dover reinventare la ruota.

Se utilizzato correttamente, SharePoint può far risparmiare tempo e fatica e potenzialmente ridurre i costi di gestione e supporto delle operazioni.

Le seguenti sono le principali capacità di archiviazione dei dati:

  • Lists - Per la memorizzazione di dati strutturati, proprio come in una tabella.

  • Libraries - Per memorizzare dati non strutturati, come in un documento o file.

SharePoint fornisce un set completo di API che gli sviluppatori possono utilizzare all'interno delle applicazioni per interagire e manipolare i dati che risiedono in SharePoint. Per le applicazioni SharePoint, tali API sono esposte inClient-Side Object Model (CSOM).

Vedrai molte di queste opzioni nei prossimi capitoli.

In questo capitolo tratteremo i diversi livelli di "sviluppo" relativi a SharePoint. Ogni livello serve in qualche modo l'utente finale del sito di SharePoint. Puoi dividere questo spettro nel seguente:

  • End users - che utilizzano la piattaforma come piattaforma applicativa.

  • Power users - che creano e amministrano (e magari brand) siti.

  • Designers - che marca il sito e costruisce l'esperienza dell'utente.

  • Developers - chi crea e distribuisce app.

Una serie di persone interagisce con SharePoint, dagli sviluppatori agli utenti finali. È rappresentato nella figura seguente

Impostazioni del sito

Le impostazioni del sito sono una delle parti principali di SharePoint. È molto importante averne familiarità.

Step 1 - Per accedere alla pagina Impostazioni sito, fare clic su User Profile in SharePoint Admin center. Fare clic sull'opzioneSetup My Site in Impostazioni sito personale.

Si aprirà la pagina seguente.

In questa pagina troverai la maggior parte delle configurazioni per il tuo sito come:

  • Cambia il tema del tuo sito.
  • Attiva le funzionalità.
  • Gestisci le autorizzazioni.

Step 2- Alcune opzioni di impostazione sono disponibili anche nelle Impostazioni. Quindi fai clic su Impostazioni nel riquadro di sinistra.

Tieni presente che le funzionalità principali della pagina Impostazioni sito sono suddivise in categorie principali. Ad esempio, la maggior parte delle impostazioni di sicurezza sono disponibili nella categoria Utenti e autorizzazioni, temi nelle raccolte di Web Designer e così via.

Aggiungi pagina HTML

L'esperienza di editing varia dalla formattazione del testo all'aggiunta di immagini o contenuti multimediali. Puoi ottenere un po 'di più dal codice incorporando HTML direttamente nel tuo sito di SharePoint.

Questa attività sembra un po 'più simile allo sviluppo, quindi diamo un'occhiata a un semplice esempio aggiungendo una pagina HTML.

Step 1- Apri il tuo sito di SharePoint e vai alla home page del sito. Nella scheda Pagina fare clic sull'opzione di menu Modifica.

Step 2 - Nella scheda INSERISCI, fai clic sull'opzione Incorpora codice.

Si aprirà la seguente finestra di dialogo:

Step 3 - Aggiungi del codice HTML nel campo del codice come mostrato di seguito -

Step 4 - Fare clic su Insert e vedrai che lo snippet HTML è inserito.

Step 5 - Fare clic su Save.

Puoi vedere che il codice HTML è inserito nel tuo sito di SharePoint.

Aggiungi file multimediale

Per aggiungere un'app Media Player al tuo sito di SharePoint, apri il tuo sito di SharePoint e vai alla home page del sito.

Step 1 - Nella scheda Pagina, fai clic sull'opzione di menu Modifica.

Step 2 - Seleziona l'opzione web part.

Step 3 - Seleziona Media e Contenuto da Categories e seleziona il file Media with Partsdalla sezione Parti. ClicAdd.

Step 4 - Salva la pagina e vedrai la pagina seguente, che contiene il file Media.

SharePoint Designer

Molti sviluppatori preferiscono non utilizzare SharePoint Designer come strumento per lo sviluppo di siti di SharePoint. Tuttavia, il punto è che lo strumento di SharePoint Designer può semplificare alcune attività di sviluppo.

Le caratteristiche importanti sono:

  • SharePoint Designer può essere utilizzato per una varietà di funzioni di progettazione per SharePoint, inclusa la creazione e la modifica di siti, pagine, elenchi e tipi di contenuto.

  • SharePoint Designer è utile anche per creare un flusso di lavoro dichiarativo basato su regole che può quindi essere importato in Visual Studio per una personalizzazione di livello più approfondito.

  • Può essere scaricato e installato da https://www.microsoft.com/en-pk/download/details.aspx?id=35491

  • Quando si apre per la prima volta SharePoint Designer, è necessario fornirgli l'URL del sito di SharePoint e autenticarsi come utente con privilegi elevati.

  • SharePoint Designer eredita le autorizzazioni standard di SharePoint.

  • Dopo aver aperto il sito in SharePoint Designer, vengono visualizzate una serie di opzioni navigabili e alcune informazioni sul sito, come metadati del sito, autorizzazioni, siti secondari e così via.

Quindi utilizziamo SharePoint Designer, ma prima dobbiamo configurare SharePoint Designer utilizzando Office 365 aprendo il tuo sito di SharePoint.

Step 1 - Apri il sito di SharePoint.

Step 2- Seleziona l'opzione di menu Impostazioni di Office 365. Seleziona Impostazioni nel riquadro a sinistra, quindi seleziona il software nel riquadro centrale.

Step 3 - Seleziona Tools & add-insnel riquadro di sinistra e vedrai le diverse opzioni. Alla fine vedrai SharePoint Designer Option, fai clic sul collegamento.

Step 4- Apri SharePoint Designer dopo l'installazione. Clicca ilOpen Site opzione.

Step 5 - Specifica l'URL del tuo sito di SharePoint e fai clic su Apri.

Step 6 - Una volta aperto il sito di SharePoint Designer, vedrai che sono disponibili diverse opzioni.

Step 7 - Fare clic su Elenchi di SharePoint sulla barra multifunzione e selezionare Attività dal menu.

Step 8- Si apre una nuova finestra di dialogo. Specificare il nome e la descrizione e fare clic su OK.

Step 9 - Andiamo sullo stesso sito, utilizzando il portale e vedrai l'elenco delle cose da fare nel tuo sito.

Visual Studio ed Expression Blend

Puoi anche usare Visual Studio e Blendper aggiungere del contenuto al tuo sito di SharePoint. Visual Studio offre molte funzionalità per aiutare a sviluppare applicazioni in SharePoint; è utile familiarizzare con loro in dettaglio.

Diamo un'occhiata a un semplice esempio di applicazione ospitata da SharePoint aprendo Visual Studio. SelezionareFile → New → Project opzione.

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 l'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 l'accesso con successo al sito di SharePoint, vedrai 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 Ambito.

Step 9 - Nell'elenco a discesa Ambito, selezionare Web, che è l'ambito delle autorizzazioni che stai configurando. Nell'elenco a discesa Autorizzazione, selezionaRead, 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.

In questo capitolo, discuteremo principalmente dal punto di vista dell'utente finale, coprendo gli elenchi e alcune delle caratteristiche a valore aggiunto in cima a elenchi come visualizzazioni, convalida ecc. Quando gli utenti finali creano contenuto all'interno di SharePoint, viene archiviato nel modulo di elenchi.

  • Gli elenchi sono davvero il meccanismo di archiviazione dei dati all'interno di SharePoint.

  • Fornisce l'interfaccia utente per poter visualizzare gli elementi in un elenco, aggiungere, modificare ed eliminare elementi o visualizzare singoli elementi.

Diamo uno sguardo a un semplice esempio in cui aggiungeremo un elenco di contatti.

Step 1- Apri il tuo sito di SharePoint e vai alla pagina Contenuto del sito. Puoi vedere i contenuti, gli elenchi e le raccolte correnti e abbiamo la possibilità di aggiungere nuovi contenuti facendo clicadd an app.

Step 2 - Quindi diamo un'occhiata ad alcune delle cose che possiamo aggiungere al nostro sito -

  • Possiamo creare una nuova libreria di documenti.

  • Possiamo creare un elenco personalizzato in cui definiamo lo schema.

  • Ci sono anche alcuni elenchi con schemi predefiniti come l'elenco delle attività qui.

  • Possiamo aggiungere immagini, alcune pagine wiki, moduli, un elenco di collegamenti, un elenco di annunci, un elenco di contatti e un calendario ecc.

Step 3 - Selezioniamo l'elenco dei contatti.

Step 4 - Chiameremo questo elenco- Contacts e quindi fare clic su Create pulsante.

Step 5 - Quindi ora puoi vedere qui nei contatti del tuo sito, hai l'elenco dei contatti e puoi fare clic su di esso per lavorare con gli elementi nell'elenco.

Step 6 - Un modo per aggiungere un nuovo elemento a questo elenco è fare clic su questo collegamento Nuovo elemento e quindi aggiungerlo nel mio contenuto.

Step 7 - Immettere il Cognome e il Nome, quindi arrivare alla barra degli strumenti o alla barra multifunzione e fare clic Save.

Step 8 - Possiamo anche mettere l'elenco in modalità di modifica facendo clic su edit collegamento.

Step 9- Successivamente, possiamo aggiungere altri contatti. Una volta terminata la modifica, fare clic suStop editing per uscire dalla modalità di modifica del badge.

La pagina mostrerà tutti i contatti.

Un paio di altre cose quando lavoriamo con l'elenco qui.

Step 10 - Fare clic su ITEMS per accedere agli articoli su Ribbon.

Step 11 - Fare clic su LIST qui per accedere a Ribbon voci relative all'intero elenco.

SharePoint offre molte funzionalità per gli elenchi. Fornisce l'archiviazione per i dati dell'elenco, la capacità di personalizzare lo schema dell'elenco e la capacità di visualizzare, aggiungere, modificare ed eliminare elementi dell'elenco ecc. Sono disponibili molte più funzionalità come la creazione di visualizzazioni sui dati dell'elenco, la semplice convalida in entrambi il livello del campo e dell'elenco, l'approvazione del contenuto, il controllo delle versioni degli elementi, ecc.

Visualizzazioni

Cominciamo a lavorare con Viewssui dati dell'elenco. Eccoci di nuovo nella lista degli autori e, come avrai notato, abbiamo aggiunto solo quattro elementi. Con solo quattro elementi, non è difficile raccogliere le informazioni di cui abbiamo bisogno dai suoi dati.

Man mano che il numero di elementi cresce, diciamo da 4 a 50 a 100, a forse 500, diventa sempre più difficile dare un'occhiata all'elenco e ottenere rapidamente le informazioni di cui abbiamo bisogno. Per risolvere questo problema, SharePoint consente di creare più visualizzazioni negli elenchi, in modo da poter filtrare le informazioni di cui non abbiamo bisogno, come:

  • Possiamo ordinare i valori del campo.
  • Possiamo raggruppare le informazioni.
  • Possiamo ottenere i totali.
  • Possiamo anche avere diversi modi per presentare le informazioni.

Per la maggior parte degli elenchi, quando li crei, ne ottieni uno Viewper impostazione predefinita. Si chiamaAll Items View e questa è la vista che abbiamo visto nell'esempio sopra.

Ora diamo un'occhiata a come possiamo creare visualizzazioni personalizzate. Proprio come con la creazione dello schema dell'elenco, SharePoint ci offre un paio di modi diversi che possiamo utilizzare per creare visualizzazioni. Un modo è iniziare con una visualizzazione esistente e modificare l'ordinamento e il filtro delle diverse colonne. Possiamo ottenere i dati nel modo in cui desideri che appaiano e quindi salvarli come una nuova visualizzazione.

Noterai che se andiamo alle altre intestazioni di colonna, la maggior parte di esse ci fornisce un piccolo menu a discesa a cui possiamo accedere come mostrato di seguito per l'intestazione Stipendio / Tasso.

Vai all'intestazione dell'altra colonna: Bio. Non dispone di un elenco a discesa poiché contiene più righe di testo. Le altre colonne hanno questa opzione. Ci dà la possibilità di ordinare le informazioni o di filtrarle.

Creiamo qui un filtro che mostri solo i dipendenti.

Dopo aver aggiunto quel filtro, notare che c'è una piccola icona nell'intestazione della colonna che indica che questi valori di campo sono stati filtrati. Ordiniamolo in ordine decrescente.

Quindi ora abbiamo una nuova visualizzazione dei dati, ovvero la visualizzazione in ordine discendente.

Ora il filtraggio e l'ordinamento non vengono conservati. Pertanto, dobbiamo salvare la visualizzazione dell'ordine decrescente per il futuro.

Se torniamo all'elenco degli autori, vedremo All Items. Se vogliamo avere una visione che è soloEmployees, ordinati per stipendio / tasso decrescente, fare clic su SAVE THIS VIEW opzione.

Chiameremo questa visualizzazione la visualizzazione dei dipendenti. Seleziona dalle opzioni fornite se questa visualizzazione deve essere disponibile per tutti gli utenti o solo per me. Fare clic su Salva.

Quindi ora abbiamo le due diverse viste, la vista Tutti gli elementi e la vista Dipendenti, possiamo passare da una vista all'altra utilizzando i collegamenti nella parte superiore della vista Elenco come mostrato nello screenshot riportato di seguito.

Validazione

Aggiungeremo semplici regole di convalida ai campi e agli elementi in un elenco di SharePoint. Ora, quando abbiamo creato l'elenco degli autori, abbiamo aggiunto alcune regole di convalida utilizzando le proprietà dei diversi tipi di campo.

Clic New Itemdall'elenco dell'autore. Ora fai clic suSave.

Quando fai clic su Salva, otterrai due errori. Questo perché abbiamo indicato che Nome e Stipendio / Tasso sono campi obbligatori.

Immettere il nome e lo stipendio / tariffa rispettivamente come Aamir Jameel e 1500. ClicSave.

Come puoi vedere, abbiamo ancora un problema con Stipendio / Tasso, perché quando abbiamo creato il campo abbiamo indicato che il suo valore dovrebbe essere compreso tra 0 e 1000 e 1500 non soddisfa tale requisito. Fare clic su Annulla.

Vai alla scheda Elenco sulla barra multifunzione e quindi fai clic su List Settings. ClicName. Come puoi vedere nello screenshot riportato di seguito, è un campo obbligatorio,

Ora torna indietro, fai clic su Stipendio / Tasso e scorri verso il basso. Vedrai che è anche un campo obbligatorio.

Qui abbiamo anche impostato l'intervallo di valori valido. Quindi, va tutto bene se il tipo di campo ha queste proprietà, ma cosa fai in caso contrario? Bene, possiamo aggiungere una semplice convalida personalizzata. Quindi, se scorriamo fino in fondo, puoi vedere che c'è un'area per la convalida della colonna. Cerchiamo di ampliarlo. Qui possiamo specificare una formula e poi dare un messaggio se il valore inserito dall'utente non soddisfa quella formula.

Se non si ha familiarità con la creazione di formule in SharePoint, è disponibile un collegamento che fornisce assistenza su come farlo.

Ora la convalida che vogliamo aggiungere è che se non sei un dipendente, il tuo stipendio / tariffa indica la tua tariffa oraria e vogliamo dire che il valore massimo per la tariffa è $ 50,00. Quindi qui, la convalida dipende sia dal valore del campo Dipendente che dal campo Stipendio / Tasso. Pertanto, invece di aggiungere la convalida a uno di questi campi, lo aggiungeremo all'elemento e quindi il modo in cui indichiamo la convalida dell'elemento è andando alle Impostazioni elenco.

Clic Validation Settings e impostare la formula come mostrato di seguito.

Quindi la condizione sarà piuttosto semplice, in primo luogo, sei un dipendente? Quindi, se sei un dipendente, abbiamo già impostato l'intervallo valido di valori salariali tra 0 e 1000. Pertanto, viene restituito solo il valore True. Se non sei un dipendente, controlleremo se lo stipendio / tariffa è inferiore o uguale a 50.

Se questa formula restituisce True, l'elemento è considerato valido. Se restituisce false, non è valido. Infine, aggiungiamo il messaggio di errore "La tariffa massima per un contributore è di $ 50".

Questo completa le impostazioni di convalida. Fare clic su Salva.

Ora torna all'elenco degli autori e aggiungi un nuovo elemento. Lo chiameremo Test, selezioneremo la casella di controllo Dipendente (poiché stiamo testando per un dipendente), immettiamo Salario / Tasso come 800 e quindi fare clic su Salva.

I dati sono stati salvati. Non ci sono stati errori. Ora inseriamo condizioni diverse. Vai all'elenco degli autori. Lo chiameremo Test 2.

Ora non selezionare la casella di controllo Dipendente poiché ora stiamo assumendo che la persona sia un collaboratore. Immettere lo stipendio / tasso è 800 e quindi fare clic su Salva.

Vedrai un messaggio di errore. Pertanto, cambiamo lo stipendio / tasso su un valore valido.

Immettere 40 nel campo Stipendio / Tasso.

Fare clic su Salva.

Vedrai che i dati vengono salvati correttamente e vengono aggiornati nell'elenco come mostrato nello screenshot seguente.

Campi di ricerca

Daremo uno sguardo alle relazioni delle liste e ai campi di ricerca. Creeremo un nuovo elenco per contenere le informazioni sui corsi.

Step 1 - Vai a Site Contents → ‘add an app' → Custom List.

Step 2- Specificare l'elenco Corsi e quindi fare clic su Crea. Apri l'elenco dei corsi. C'è solo una colonna chiamata Titolo, che rappresenterà il titolo del corso.

Step 3- Crea una seconda colonna, che conterrà il nome dell'autore. Vai a LISTA sulla barra multifunzione. Fare clic su Crea colonna.

Step 4 - Assegna a questa colonna il nome Author. Possiamo avere solo una singola riga di testo in cui l'utente inserisce il nome dell'autore. Tuttavia, abbiamo già i nomi degli autori nell'elenco degli autori, quindi presenteremo all'utente un elenco a discesa, dove potrà selezionare l'autore. Quindi, invece di creare un campo a riga singola di testo, creeremo un campo di ricerca.

Step 5- Successivamente, dobbiamo specificare quale campo da quale elenco dovremmo mostrare all'utente. SharePoint ha impostato i valori appropriati per impostazione predefinita, ma se vogliamo modificare l'elenco, possiamo selezionare se dall'elenco a discesa. Al termine, fare clic su OK.

Step 6 - Questo corso è tutorial di SharePoint e puoi vedere che abbiamo un elenco a discesa per l'autore.

Elenca archiviazione dati

I dati per gli elenchi vengono archiviati in righe e colonne. Per ogni database del contenuto, esiste una tabella che memorizza i dati per gli elenchi. È possibile mettere in relazione gli elenchi, applicare l'integrità relazionale e convalidare.

Le persone molto spesso presumono che molte funzionalità di un database relazionale esistano con elenchi e un insieme di elenchi diventa quasi come un database relazionale, ma non è così.

È necessario pensare agli elenchi più come una serie di fogli di lavoro Excel in cui è possibile collegare un foglio di lavoro a un altro foglio di lavoro e applicare la convalida su colonne o celle tramite un semplice modulo. Pertanto, un insieme di elenchi in SharePoint non è come un database relazionale.

Diamo un'occhiata a come creare un elenco personalizzato, in cui definiamo lo schema dell'elenco, invece di utilizzare uno schema predefinito come quello che abbiamo fatto quando abbiamo creato l'elenco dei contatti.

Step 1- Per creare un elenco personalizzato, vai su Contenuto del sito e quindi aggiungi un'app. Fare clic su Elenco personalizzato.

Step 2 - Immettere Autori nel campo Nome e quindi fare clic su Crea.

Step 3- Ora puoi vedere che gli autori sono stati aggiunti. Facci clic sull'app Autori.

Step 4 - Fare clic su nuovo elemento.

Step 5- Puoi vedere, il nostro elenco ha solo una colonna. Il nome del campo è Titolo ed è un campo obbligatorio, quindi qui imposteremo il valore del campo su Test e quindi fare clic su Salva.

Note - In SharePoint, le colonne sono anche chiamate campi, quindi questi termini sono sinonimi.

Step 6 - Aggiungiamo un altro elemento facendo clic sul collegamento Nuovo elemento.

Step 7 - Imposta il valore del campo Titolo su Demo e fai clic su Salva.

Puoi vedere che abbiamo due elementi o due righe e vediamo i valori del campo Titolo. Notare che accanto a questo valore, c'è una piccola ellisse, che è un collegamento per aprire un menu.

Note - Questo menu era tradizionalmente chiamato Edit Control Block o ECB menu, ma lo sentirai anche chiamato List Item Contacts menù.

Abbiamo creato l'elenco personalizzato perché volevamo definire lo schema. Ci sono un paio di modi per farlo.

Step 8- Un modo è mettere l'elenco in modalità Modifica. Si noti che c'è una colonna in più alla fine con un segno + sopra e qui possiamo aggiungere colonne all'elenco.

Step 9 - Fare clic sul segno + e possiamo creare una colonna di testo.

Step 10- Vedrai la pagina seguente. Chiama questo campoName.

Step 11- Inserisci i nomi. Questi saranno testo.

Step 12- Ora aggiungi un'altra colonna e rendiamola come una colonna numerica in modo che solo i numeri possano essere inseriti come dati. Impostalo su Valuta e aggiungi alcuni valori.

Questa tecnica è utile quando si crea un prototipo di un elenco, ma non si ha molto controllo.

Quindi diamo un'occhiata all'altro modo per definire lo schema per l'elenco. Lo faremo attraverso le impostazioni dell'elenco.

Step 13 - Fare clic sul collegamento Interrompi modifica esci dal file Editmodalità. Seleziona Elenco sulla barra multifunzione e quindi vai a Impostazioni elenco.

Qui possiamo definire lo schema per l'elenco. Quando abbiamo creato la colonna, avevamo già la colonna Titolo. Puoi vedere altre due colonne, che abbiamo creato e poche altre colonne, che sono nascoste e utilizzate internamente da SharePoint.

Step 14- Per definire lo schema dell'elenco degli autori, fare clic sulla colonna Nome e quindi su Elimina. Quindi, elimina la colonna Tasso.

Step 15- Ora se torniamo all'elenco degli autori, possiamo vedere che quelle colonne sono andate insieme ai valori che abbiamo impostato per loro. Torna a Impostazioni elenco e imposta lo schema effettivo che desideri.

Step 16- La pagina mostra una colonna con il titolo. Tuttavia, non vogliamo questa colonna ma una colonna che rappresenta il nome dell'autore. Quindi, fai clic su Titolo.

Step 17 - Quando fai clic Title, si aprirà una nuova pagina. Scorri fino in fondo alla pagina. Non è possibile eliminare la pagina.

Note- Non è possibile eliminare questa pagina perché questa colonna è associata al collegamento con l'ellisse. tuttavia, possiamo rinominarlo.

Step 18- Rinomina la colonna. Useremo questa colonna per rappresentare il nome dell'autore e fare clic su OK.

Step 19- Successivamente, aggiungi un'altra colonna per rappresentare se l'autore è un dipendente o un collaboratore. Fare clic su Crea colonna.

Step 20- Imposta il nome della colonna su Dipendente e seleziona i tipi di campo Sì / No. Dopo aver selezionato il tipo di campo che volevamo, scorri verso il basso fino alla fine della pagina e puoi vedere Impostazioni colonne aggiuntive.

Note- Sono disponibili diversi tipi di campo. I tipi di campo disponibili sono diversi in SharePoint Foundation, SharePoint Server SharePoint Online.

Inoltre, il tipo di sito che si sta creando, ad esempio un sito di collaborazione o un sito di pubblicazione, influirà anche sui tipi di campo disponibili.

Step 21 - Imposta il file Default value su No invece di Sì e fare clic su OK.

Step 22- Ora creiamo un'altra colonna, facendo clic su Crea colonna. Questa colonna rappresenterà lo stipendio per i nostri dipendenti o la tariffa per i contributori.

Step 23 - Lo chiameremo Stipendio / Tasso e lo imposteremo nel campo Valuta.

Step 24 - Scorri verso il basso e rendilo un campo obbligatorio e imposta il Minimo su 0 e il Massimo su 1000. Immettere 2 per visualizzare la valuta fino a due cifre decimali.

Step 25- Aggiungiamo un'altra colonna, che sarà la biografia. Lo chiameremo semplicementeBio e imposta il tipo su più righe di testo.

Step 26- Immettere 6 perché sei righe per la modifica vanno bene. Vogliamo solo testo normale in questo caso e fare clic su OK.

Step 27- Abbiamo lo schema per il nostro elenco di autori. Ora che il nostro schema è completo, aggiungiamo alcuni dati. ClicAuthors in Recenti.

Cancelliamo le due righe che avevamo precedentemente creato facendo clic sul piccolo segno di spunta accanto a ciascuna di esse. Successivamente, vai su Elementi sulla barra multifunzione e fai clic suDelete Item.

Step 28 - Aggiungi il primo elemento facendo clic su Nuovo elemento.

Step 29 - Inserisci altri dati come mostrato nello screenshot qui sotto.

Vedrai tutti i dati elencati.

In questo capitolo tratteremo le biblioteche. Le biblioteche sono solo un caso speciale di un elenco. Ereditano tutte le caratteristiche di una lista. Pertanto, tutte le caratteristiche che abbiamo visto finora, si applicano alle biblioteche proprio come agli elenchi.

Differenza tra List e Library

Sebbene elenchi e biblioteche presentino caratteristiche simili, di seguito sono riportate le differenze:

  • La differenza principale è che in una raccolta ogni riga è associata a un documento. Questo documento può essere di qualsiasi tipo. Ad esempio, documenti di Office, immagini, pagine Web, documenti di Word Perfect, ecc. Il vantaggio di utilizzare i documenti di Office è che esiste un'integrazione con gli strumenti di Office stessi.

  • L'altra differenza è più una differenza nella terminologia che nella funzionalità. Ad esempio, le colonne in una libreria indicano i metadati associati al documento.

Creazione di una raccolta documenti

In questa sezione vedremo le basi per lavorare con le raccolte documenti. È possibile creare una raccolta documenti nello stesso modo in cui si è creato un elenco. Segui i passaggi indicati di seguito.

Step 1 - Vai a Contenuto del sito e quindi fai clic su "aggiungi un'app".

Step 2 - Fare clic su Document Library. Assegna un nome alla libreria e fai clic su Crea.

Note - Qui impareremo le opzioni avanzate.

Step 3 - Fare clic su Opzioni avanzate e assegnare un nome alla raccolta documenti, Course Documents.

Abbiamo anche la possibilità di impostare una versione qui, ma suggerisco di non impostare una versione perché le stesse opzioni non sono disponibili nelle impostazioni della libreria. Tuttavia, se desideri attivare il controllo della versione, fallo nelle impostazioni della libreria, non qui. Infine, abbiamo la possibilità di dire quale tipo di documento vogliamo essere il modello predefinito. Selezionare Word e fare clic su Crea.

Step 4- Ora prima di aggiungere documenti, dobbiamo aggiungere un paio di colonne o campi. Vai all'opzione Libreria sulla barra multifunzione e fai clic su Impostazioni libreria.

Step 5- Aggiungi una nuova colonna e questa colonna sarà il corso che apparirà nel campo di ricerca nell'elenco dei Corsi. Fare clic su OK.

Step 6- Aggiungiamo un'altra colonna. Chiameremo questa colonna comeNumbere imposta il tipo su numero. Impostare i valori minimo e massimo, ad esempio 0 e 100 rispettivamente, e fare clic su OK.

Puoi vedere che lo schema è pronto.

Aggiungi un documento alla libreria

Ora che abbiamo lo schema pronto, possiamo aggiungere alcuni documenti. Un modo per aggiungere un documento è crearlo proprio qui in SharePoint.

Step 1- Ora andiamo alla scheda File nella barra multifunzione. Fare clic su Nuovo documento.

Step 2 - Vedrai che Word è aperto e qui possiamo modificare il contenuto del documento.

Step 3 - Scrivi del testo nella pagina delle parole aperte.

Il documento viene salvato automaticamente, ora torniamo al sito e vedrai che viene creato il documento word.

Step 4- Per modificare i valori dei campi dei metadati, fare clic sui piccoli puntini di sospensione. Selezionare nuovamente i puntini di sospensione nella finestra di dialogo Document.docx e selezionareRename dalle opzioni.

Step 5 - Immettere le informazioni richieste e fare clic su Salva.

Un altro modo in cui possiamo aggiungere un documento a una raccolta documenti è caricarlo.

Step 6 - Puoi caricarlo usando New Document Qui.

Step 7 - Puoi anche andare alla scheda File sulla barra multifunzione e fare clic su Carica documento.

Step 8- Vedrai la seguente finestra di dialogo. Fare clic su Scegli file.

Step 9- Seleziona un file di esempio. Fare clic su Apri.

Vedrai che il documento di esempio viene aggiunto all'elenco delle librerie.

Step 10- Se desideri caricare più documenti, puoi trascinarli e rilasciarli. Verranno caricati più documenti.

Una volta terminato il caricamento, vedrai questi documenti nell'elenco.

Step 11 - Un altro modo per impostare i metadati è in Library fare clic sulla scheda Quick Edit opzione sulla barra multifunzione.

Step 12 - i metadati sono impostati, fare clic su Visualizza sulla barra multifunzione per tornare alla visualizzazione elenco standard.

Vedrai che i file del documento sono l'elenco come mostrato nello screenshot seguente.

In questo capitolo tratteremo le web part. Limiteremo la nostra visione aList View Web Parts perché è la parte più strettamente associata alla collaborazione informatica.

Le web part sono piccoli blocchi di interfaccia utente, che è possibile comporre insieme per creare una pagina o un sito. Ad esempio, una web part Notizie, una web part Posta elettronica, una web part Archivio, risultati sportivi, video di YouTube. Questi sono tutti esempi di piccoli pezzi di interfaccia utente, che puoi comporre insieme per ottenere una vista aggregata in un'applicazione in stile portale.

In termini di collaborazione sulle informazioni, le web part sono chiamate web part Visualizzazione elenco. Mostrano le informazioni da un elenco o da una raccolta e consentono di aggiungere nuovi elementi o documenti. In questo modo è possibile creare una singola pagina, che mostra le informazioni su elenchi e raccolte in un sito, eliminando la necessità per l'utente di navigare nei singoli elenchi e raccolte stesse.

In questo capitolo ci concentreremo su List View Web Parts. Si tratta di web part che ci consentono di interagire con i dati di elenchi o raccolte, ma lungo il percorso si avrà un'idea generale del funzionamento delle web part in SharePoint.

Diamo uno sguardo a un semplice esempio creando una pagina web part, cioè una pagina che supporta l'uso delle web part.

Step 1- Arrivato al contenuto del sito. Scorri verso il basso e fai clic sull'icona-Site Pages.

Step 2- Vai alla scheda FILE. Sulla barra multifunzione fare clic sulla freccia del menu a discesa inNew Documentpulsante. Seleziona Pagina web part dalle opzioni.

Step 3 - Assegna un nome a questa pagina Coursese poi dobbiamo decidere il layout della pagina. Quindi le web part vengono aggiunte nelle zone delle web part.

  • La disposizione qui determina il numero e la disposizione di queste zone. Abbiamo anche un'idea di come sono le zone.

  • Possiamo avere solo una zona della web part che occupa l'intera pagina, un'intestazione e una colonna e un corpo, o un'intestazione e un piè di pagina e colonne, ecc.

In questo caso, è sufficiente una Web Part Zone. Quindi, selezioneremo il verticale della pagina intera e faremo clic su Crea.

Step 4- In questo modo puoi vedere l'area web part e la sua parte interna. È possibile visualizzare un collegamento che ci consente di aggiungere una web part. Clicca sul link.

Step 5 - La Raccolta web part si aprirà.

  • Questa pagina mostra le web part disponibili per essere aggiunte alla pagina e queste sono suddivise in categorie.

  • Le web part a cui siamo interessati, per questo esempio, si trovano nella categoria App.

Noterai che esiste una web part per ciascuno degli elenchi e delle raccolte nel nostro sito.

Step 6- È possibile visualizzare i documenti del corso nella web part. Ora aggiungiamo una web part ancora una volta e quindi facciamo clic suCourses List e fare clic Add.

Step 7 - Al termine dell'aggiunta delle web part, fare clic su Stop Editing nel nastro.

Step 8 - Hai un'unica pagina in cui puoi interagire sia con l'elenco dei corsi che con la libreria dei documenti del corso.

Step 9 - Se vuoi aggiungere un nuovo documento, puoi caricarlo o puoi trascinarlo qui, hai accesso ai menu Modifica blocco di controllo sia per la libreria che per l'elenco.

È possibile eseguire tutte le attività principali navigando nell'elenco o nella libreria stessa. Per mantenere le web part una volta che si trovano nella pagina, è possibile mettere la pagina in modalità di modifica dalla barra multifunzione facendo clic su Modifica pagina.

Step 10- È possibile notare che per ciascuna web part è presente un piccolo menu a discesa, che è possibile utilizzare per eliminare la web part. Se si desidera eliminare una web part, fare sempre clic suDelete, no Close. Chiudi nasconde solo la web part, ma rimane ancora nella pagina.Delete rimuove la web part dalla pagina.

Step 11 - È possibile modificare le proprietà della web part facendo clic su Edit Web Partdal menu. Puoi vedere nelle proprietà che ci sono diverse opzioni, puoi dire quale visualizzazione vuoi mostrare nella web part, quale barra degli strumenti vuoi avere. Puoi anche modificare l'aspetto, il layout, ecc.

In questo capitolo tratteremo le colonne del sito. Finora abbiamo definito l'elenco e gli schemi delle librerie sugli elenchi e sulle librerie stesse, ma questi non sono riutilizzabili. Quindi, se vuoi avere due liste con lo stesso schema, dovremmo definire lo stesso schema due volte. SharePoint ha una soluzione per questo, ovvero colonne del sito e tipi di contenuto.

  • Le colonne del sito definiscono le definizioni delle colonne riutilizzabili ei tipi di contenuto, costituiti da colonne del sito, definiscono gli schemi riutilizzabili sia per gli elenchi che per le raccolte.

  • Oltre a definire lo schema, puoi anche allegare flussi di lavoro e gestori di eventi a un tipo di contenuto. Le colonne del sito e i tipi di contenuto sono archiviati in gallerie a livello di sito e sono disponibili per essere utilizzati all'interno di quel sito e di qualsiasi suo figlio.

  • Se dichiari una colonna del sito o un tipo di contenuto in un sito figlio, è disponibile solo nel ramo sottostante.

  • A meno che non vi sia un motivo specifico per non farlo, la pratica comune consiste nel dichiarare le colonne del sito ei tipi di contenuto nella radice della raccolta siti e in questo modo sono disponibili nell'intera raccolta siti.

Ora diamo un'occhiata a un semplice esempio in cui creeremo e utilizzeremo colonne del sito e tipi di contenuto. Abbiamo già visto i tipi di contenuto, anche se potrebbe non essere ovvio

Step 1 - Vai alla nostra lista dei contatti attraverso il contenuto del sito.

Step 2 - Se scorri verso il basso, vedrai una sezione chiamata Colonne.

Step 3 - Vai a Advanced Settings. Seleziona Sì perAllow Management of Content Typese fare clic su OK.

Vedrai che abbiamo una nuova sezione qui chiamata Tipi di contenuto. Ciò indica che questo elenco è basato sul tipo di contenuto del contatto.

Step 4 - Vai a Impostazioni sito.

Step 5 - In Gallerie di Web Designer, fare clic su Site Content Types.

Step 6 - Scorri la pagina verso il basso e troverai il Tipo di contenuto del contatto, che è proprio lì sotto Elenca tipi di contenuto, quindi fai clic sul collegamento Contatto.

Step 7- Se dai un'occhiata alle colonne, vedrai che corrisponde alle colonne del nostro elenco. Fondamentalmente, quando crei un elenco del modello di elenco dei contatti, associa questo tipo di contenuto all'elenco ed è per questo che ottieni tutti questi campi.

Ora i campi qui che compongono la definizione di un tipo di contenuto sono noti come colonne del sito.

Per vedere le colonne del sito, andiamo su Impostazioni sito e seleziona Colonne del sito in Gallerie di Web Designer,

Step 8- Puoi vedere le colonne associate ai contatti. Quindi esploriamolo un po 'più in là creando la nostra colonna del sito personalizzato e il nostro tipo di contenuto personalizzato e quindi utilizzandoli negli elenchi. Nella nostra libreria dei documenti del corso, abbiamo una colonna per il corso e abbiamo definito questa colonna nella libreria stessa.

Step 9- Forse mentre costruisci il tuo sito, ti rendi conto che vuoi avere una colonna del corso in alcuni elenchi e raccolte e vuoi riutilizzare quella definizione. Quindi, ciò che possiamo fare è creare la colonna del corso come colonna del sito e quindi utilizzarla in diversi elenchi e raccolte.

Andiamo alla colonna del sito dalle impostazioni del sito.

Step 10 - Fare clic sul collegamento Crea.

Step 11 - Assegna un nome alla colonna Corso e sarà un campo di ricerca.

Step 12 - Mettilo in un gruppo chiamato "SharePoint Basics"In modo che possiamo trovarlo facilmente in seguito. Cercherà nell'elenco dei corsi e il campo che vogliamo cercare è il titolo. Fare clic su OK.

Step 13 - Vedrai che un nuovo gruppo SharePoint Basics è creato.

Step 14 - La nostra nuova colonna del sito viene creata nel gruppo "Informazioni di base su SharePoint".

Step 15- Torniamo ai documenti del corso e poi alle Impostazioni della libreria. Vai a Colonne.

Rimuovi la colonna Corso, che abbiamo creato nella libreria stessa.

Step 16- Aggiungiamo la nuova colonna corso dalle colonne del sito. Pertanto, invece di fare clic su Crea colonna, fare clic suAdd from existing site columns.

Step 17- Modificare il gruppo in "Fondamenti di SharePoint" e selezionare il corso sul lato sinistro. Fare clic su Aggiungi per aggiungere quella colonna all'elenco, quindi fare clic su OK.

Step 18 - Torniamo ai documenti del corso.

Step 19- Puoi vedere la nostra nuova colonna Corso, ma è vuota perché le informazioni che erano qui in precedenza sono state eliminate quando abbiamo eliminato la colonna corso originale. Quindi, aggiungiamolo di nuovo come mostrato di seguito.

Se questo elenco avesse centinaia di elementi, trasformerebbe un'attività che potrebbe richiedere ore in un'attività che potrebbe richiedere minuti.

Tipi di contenuto

In questa sezione, daremo uno sguardo alla creazione di un tipo di contenuto personalizzato.

Step 1- Andiamo alle Impostazioni del sito e poi ai Tipi di contenuto del sito. Fare clic sul collegamento Crea.

Ci sono due cose fondamentali da considerare qui quando creiamo un tipo di contenuto.

  • Il primo è che tutti i tipi di contenuto sono basati su un altro tipo di contenuto o si potrebbe pensare ad esso come tutti i tipi di contenuto ereditano da un altro tipo di contenuto.

  • Il secondo è che un tipo di contenuto funzionerà con gli elenchi o con le raccolte. Se funziona con elenchi o raccolte dipende dal tipo da cui si eredita.

Ad esempio, se vogliamo creare un elenco di contatti personalizzato, andremo al List Content Typese quindi trova Contatto. Creeremmo il tipo di contenuto, aggiungeremmo cose di cui abbiamo bisogno che non facevano già parte di Contact o rimuoveremmo cose che facevano parte di Contact che non desideriamo.

  • Una strategia che puoi utilizzare durante la creazione dei tipi di contenuto è trovare un tipo di contenuto che ha già la maggior parte delle cose di cui hai bisogno, ereditarlo da esso e quindi personalizzarlo.

  • L'altra strategia consiste nell'iniziare con un tipo di contenuto di base e costruire solo su di esso.

In caso di elenchi, questo è il tipo di contenuto dell'articolo. Per le librerie, vuoi ereditare da Document, quindi andremo aDocument Content Types.

Step 2- Il nostro tipo di contenuto sarà per le raccolte di documenti relative ai Corsi. Questo è ciò che vogliamo qui in termini di eredità.

Step 3 - Chiamiamolo questo Course DocumentsGenere. Proprio come abbiamo fatto con le colonne del sito, lo metteremo in un gruppo in modo da poterlo identificare facilmente e il nome del gruppo sarà "SharePoint Basics". Fare clic su OK.

Step 4 - Nella schermata seguente puoi vedere che esistono già un paio di campi dal tipo di contenuto del documento, File Name and Title. Aggiungeremo il campo Corso. Ora, qui non possiamo semplicemente aggiungere una colonna a un tipo di contenuto, la colonna deve essere una colonna del sito. Quindi, sceglieremoAdd from existing site columns e quindi applicare il filtro al gruppo "Informazioni di base su SharePoint".

Step 5 - Seleziona la colonna Corso, fai clic su Aggiungi, quindi su OK.

In questo caso, questa è tutta la personalizzazione che vogliamo fare per il nostro tipo di contenuto, quindi ora siamo pronti per usarlo.

Step 6 - Creiamo una nuova libreria di documenti facendo clic su Site Contents → add an app e creare una raccolta documenti.

Step 7 - Chiameremo questa biblioteca Teste fai clic su Crea. Apri la libreria di test e imposta il tipo di documento del corso sucontenttipo per questa libreria. Vai a Libreria sulla barra multifunzione e quindi vai a Impostazioni libreria.

Step 8 - Per gestire i tipi di contenuto, vai su Impostazioni avanzate.

Step 9 - Imposta Allow Management of Content Types per Yes e quindi fare clic su OK.

Step 10- Puoi vedere che questa libreria è attualmente associata al tipo di contenuto del documento. Dobbiamo aggiungere il nostro tipo di contenuto del corso, facendo clic suAdd from existing site content types.

Step 11- Filtralo di nuovo in "SharePoint Basics". Selezionare il tipo di documenti del corso, fare clic su Aggiungi e quindi fare clic su OK.

Quindi ora, la nostra libreria è associata a due tipi di contenuto, il tipo di contenuto del documento e il tipo di documento del corso.

Step 12 - Successivamente, vai alla libreria Test e quindi fai clic su New Document.

Quando fai clic su Nuovo documento o sulla freccia del menu a discesa, puoi vedere che possiamo creare un documento di entrambi i tipi. Ora, se vuoi solo che le persone siano in grado di creare documenti del corso, torna alle Impostazioni della libreria. Rimuovere l'associazione del tipo di contenuto del documento facendo clic sulla sezione Documento nella sezione Tipi di contenuto.

Step 13 - Fare clic su Delete This Content Type. Torna alla Libreria e fai clic su File, quindi su Nuovo documento.

Ora puoi vedere che è disponibile solo l'opzione Tipo di documento del corso. Queste sono le basi per lavorare con i tipi di contenuto in SharePoint.

In questo capitolo tratteremo una delle attività più comuni di SharePoint, ovvero l'interazione con le varie origini dati come elenchi o raccolte documenti. Un aspetto eccezionale di SharePoint è la disponibilità di numerose opzioni per l'interazione con i dati. Alcuni esempi sono il modello a oggetti server, il modello a oggetti lato client, i servizi REST ecc.

Prima di poter eseguire qualsiasi operazione con SharePoint a livello di codice, è necessario stabilire una connessione e un contesto con il sito di SharePoint. Tuttavia, per questo abbiamo bisogno di SharePoint on Premises, che può essere installato su Window Server.

Devi aggiungere un riferimento nel tuo progetto a Microsoft.SharePoint.dll o Microsoft.SharePoint.Client.dll. Con i riferimenti appropriati aggiunti al progetto, è quindi possibile iniziare a impostare il contesto e il codice all'interno di quel contesto.

Diamo un'occhiata a un semplice esempio.

Step 1 - Apri Visual Studio e crea un nuovo progetto da File → New → Project menu opzione.

Step 2 - Seleziona Windows da Templates → Visual C#nel riquadro di sinistra e scegli Applicazione console nel riquadro centrale. Immettere il nome del progetto e fare clic su OK.

Step 3 - Una volta creato il progetto, fare clic con il pulsante destro del mouse sul progetto in Esplora soluzioni e selezionare Add → References.

Step 4 - Seleziona Assemblies → Extensions nel riquadro di sinistra e seleziona Microsoft.SharePoint nel riquadro centrale e fare clic su OK.

Ora fai di nuovo clic con il pulsante destro del mouse sul progetto in Esplora soluzioni e seleziona Proprietà.

Step 5 - Fare clic su Build Tab nel riquadro sinistro e deseleziona il Prefer 32-bit opzione.

Step 6 - Ora torna al Program.cs file e sostituirlo con il codice seguente.

using Microsoft.SharePoint;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SharePointData {
   class Program {
      static void Main(string[] args) {
         using (var site = new SPSite("http://waqasserver/sites/demo")) {
            var web = site.RootWeb;
            Console.WriteLine(web.Title);
            var lists = web.Lists;
            
            foreach (SPList list in lists) {
               Console.WriteLine("\t" + list.Title);
            }
            Console.ReadLine();
         }
      }
   }
}

Note- Nel codice precedente è stato prima creato un nuovo oggetto SPSite. Questo è un oggetto usa e getta, quindi viene creato all'interno di un'istruzione using. Il costruttore di SPSite accetta l'URL della raccolta siti, che sarà diverso nel tuo caso.

La var web = site.RootWeb otterrà la radice della raccolta siti.

Possiamo ottenere gli elenchi utilizzando web.Lists e stampare il titolo degli elementi dell'elenco.

Quando il codice precedente viene compilato ed eseguito, vedrai il seguente output:

SharePoint Tutorials
   appdata
   Composed Looks
   Documents
   List Template Gallery
   Master Page Gallery
   Site Assets
   Site Pages
   Solution Gallery
   Style Library
   Theme Gallery
   User Information List
   Web Part Gallery

In questo capitolo daremo uno sguardo al modello a oggetti di SharePoint Server. Si utilizza il modello a oggetti di SharePoint Server quando si scrive codice che verrà eseguito nel contesto di SharePoint. Alcuni esempi comuni potrebbero essere il code-behind in una pagina o una web part, gestori di eventi dietro una funzionalità o un elenco, processi timer ecc.

Caratteristiche del modello a oggetti del server

Di seguito sono riportate le caratteristiche principali di Server Object Model

  • È possibile utilizzare il modello a oggetti server se si sta programmando un'applicazione ASP.NET all'interno dello stesso pool di applicazioni utilizzato da SharePoint.

  • Il modello a oggetti server può essere utilizzato se si sviluppa un'applicazione client come console o Windows Form o un'app WPF che verrà eseguita su un server SharePoint.

  • Non è possibile utilizzare il modello di oggetti server per connettersi in remoto a un server SharePoint.

  • Quando si desidera utilizzare il modello a oggetti server, fare riferimento al file Microsoft.SharePointassemblaggio. Ci sono altri assembly, che costituiscono il Server Object Model, ma Microsoft.SharePoint è quello principale.

  • I tipi principali che utilizzerai più comunemente mappano ai componenti che utilizzi come utente finale, quindi elementi come raccolte siti, siti, elenchi, raccolte ed elementi di elenco sono rappresentati dai tipi SPSite, SPWeb, SPList, SPDocumentLibrary e SPListItem.

  • Il tipo e il modello a oggetti server che rappresenta una raccolta siti è SPSite e il tipo che rappresenta un sito di SharePoint nel modello a oggetti server è SPWeb. Pertanto, quando passi dai termini per l'utente finale ai termini per sviluppatori, dovrai solo eseguire quella mappatura mentale.

Ora, quando inizi a utilizzare SharePoint per la prima volta, può creare confusione perché il sito è così sovraccarico e significa cose opposte nei vocabolari dell'utente finale e degli sviluppatori, per non parlare del vocabolario web.

Diamo uno sguardo a un semplice esempio di Server Object Model.

Step 1 - Apri Visual Studio e crea un nuovo progetto da File → New → Project opzione di menu.

Step 2 - Seleziona Windows da Templates → Visual C#nel riquadro di sinistra e scegli Applicazione console nel riquadro centrale. Immettere il nome del progetto e fare clic su OK.

Step 3 - Una volta creato il progetto, fare clic con il pulsante destro del mouse sul progetto in Esplora soluzioni e selezionare Add → References.

Step 4 - Seleziona Assemblies → Extensions nel riquadro di sinistra e controlla Microsoft.SharePoint nel riquadro centrale e fai clic sul pulsante Ok.

Ora fai nuovamente clic con il pulsante destro del mouse sul progetto in Esplora soluzioni e seleziona Proprietà.

Step 5 - Fare clic su Build Tab nel riquadro sinistro e deseleziona il Prefer 32-bit opzione.

Step 6 - Ora torna al Program.cs file e sostituirlo con il codice seguente.

using Microsoft.SharePoint;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SharePointData {
   class Program {
      static void Main(string[] args) {
         using (var site = new SPSite("http://waqasserver/sites/demo")) {
            var web = site.RootWeb;
            Console.WriteLine(web.Title);
            var lists = web.Lists;
            
            foreach (SPList list in lists) {
               Console.WriteLine("\t" + list.Title);
            }
            Console.ReadLine();
         }
      }
   }
}

Note- Nel codice precedente è stato prima creato un nuovo oggetto SPSite. Questo è un oggetto usa e getta, quindi viene creato all'interno di un'istruzione using. Il costruttore di SPSite accetta l'URL della raccolta siti, che sarà diverso nel tuo caso.

La var web = site.RootWeb otterrà la radice della raccolta siti.

Possiamo ottenere gli elenchi utilizzando web.Lists e stampare il titolo degli elementi dell'elenco.

Quando il codice precedente viene compilato ed eseguito, vedrai il seguente output:

SharePoint Tutorials
   appdata
   Authors
   Composed Looks
   Contacts
   Course Documents
   Courses
   Documents
   List Template Gallery
   Master Page Gallery
   Site Assets
   Site Pages
   Solution Gallery
   Style Library
   Theme Gallery
   User Information List
   Web Part Gallery

Puoi vedere che questi titoli sono Raccolta soluzioni, Libreria di stili, Modelli di modulo. Si tratta di elenchi utilizzati internamente da SharePoint. Pertanto, invece di visualizzare tutti gli elenchi, forse vuoi mostrare solo gli elenchi che gli utenti vedrebbero normalmente.

Quindi, invece di ottenere l'intera raccolta di elenchi, vogliamo ottenere tutti gli elenchi che non sono nascosti. Possiamo farlo utilizzando una query di collegamento come indicato di seguito.

using Microsoft.SharePoint;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ServerObjectModel {
   class Program {
      static void Main(string[] args) {
         using (var site = new SPSite("http://waqasserver/sites/demo")) {
            var web = site.RootWeb;
            Console.WriteLine(web.Title);
            var lists = from SPList list in web.Lists
            where list.Hidden == false
            select list;
            
            foreach (SPList list in lists) {
               Console.WriteLine("\t" + list.Title);
            }
            Console.ReadLine();
         }
      }
   }
}

Quando il codice precedente viene compilato ed eseguito, vedrai il seguente output:

SharePoint Tutorials
   Authors
   Contacts
   Course Documents
   Courses
   Documents
   Site Assets
   Site Pages
   Style Library

Puoi vedere che questo ci restituirà tutti gli elenchi che non sono nascosti.

Diamo uno sguardo ad un altro semplice esempio in cui mostreremo anche alcune informazioni sugli elementi dell'elenco.

using Microsoft.SharePoint;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ServerObjectModel {
   class Program {
      static void Main(string[] args) {
         using (var site = new SPSite("http://waqasserver/sites/demo")) {
            var web = site.RootWeb;
            Console.WriteLine(web.Title);
            var lists = from SPList list in web.Lists
            where list.Hidden == false
            select list;
            
            foreach (SPList list in lists) {
               Console.WriteLine("\t" + list.Title);
               var items = list.Items.OfType<SPListItem>().Take(5);
               var isDocLib = list is SPDocumentLibrary;
               
               foreach (SPListItem item in items) {
                  var value = isDocLib ? item.Name : item.Title;
                  Console.WriteLine("\t\t" + value);
               }
            }
            Console.ReadLine();
         }
      }
   }
}

Quando il codice precedente viene compilato ed eseguito, vedrai il seguente output:

SharePoint Tutorials
   Authors
      Muhammad Waqas
      Mark Upston
      Allan Bommer
      Andy Onian
   Contacts
      Waqas
      Upston
      Bommer
   Course Documents
      Sample1.docx
      Sample2.docx
      Sample3.docx
   Courses
      SharePoint Tutorials
      C# Tutorials
      ASP.Net Tutorials
      NHibernate Tutorials
   Documents
   Site Assets
   Site Pages
      Home.aspx
      How To Use This Library.aspx
   Style Library

Dati elenco

Quando crei per la prima volta un elenco, ha sempre una colonna del titolo. Questa colonna del titolo dà accesso, per impostazione predefinita, al contesto della voce di elenco o al menu del blocco di controllo di modifica.

Poiché ogni elenco inizia con una colonna: il titolo, il file SPListItemtype lo espone come proprietà. Per le colonne che non sono comuni ad ogni singola lista, è possibile accedervi tramite l'indicizzatore suSpListItem genere.

Puoi passare un paio di informazioni all'indicizzatore, ma la più comune è il file Column. Gli utenti finali nelle impostazioni dell'elenco possono modificare questo nome. Non vuoi usare questo nome perché ancora una volta può cambiare.

Il secondo è il file InternalName, che è impostato nel punto in cui viene creato questo elenco e non cambia mai. Questo è il nome che desideri utilizzare quando accedi al valore della colonna.

Diamo uno sguardo al semplice esempio in cui recupereremo l'elenco degli autori come mostrato di seguito -

In questo esempio, otterremo l'elenco degli autori e quindi aumenteremo lo stipendio / tasso di un certo valore. Pertanto, per la colonna Stipendio / Tasso utilizzeremo ilInternalName.

Step 1- Vai a Esplora server; fare clic con il tasto destroSharePoint Connections e selezionare Aggiungi connessione ... Specificare l'URL e fare clic su OK.

Step 2 - Espandi SharePoint Tutorials → List Libraries → Lists → Authors → Fields → Salary/Ratecampo. Fare clic con il tasto destroSalary/Ratee seleziona Proprietà. Vedrai il fileInternalName nella finestra Proprietà.

Step 3 - Di seguito è riportato un semplice esempio di recupero degli autori in base a stipendio / tasso e aumentare il loro stipendio / tasso.

using Microsoft.SharePoint;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ServerObjectModel {
   class Program {
      static void Main(string[] args) {
         using (var site = new SPSite("http://waqasserver/sites/demo")) {
            var web = site.RootWeb;
            var list = web.Lists.TryGetList("Authors");
            if (list == null)
            return;
            var items = list.Items;
            ShowItems(items);
            RaiseRates(items);
            Console.WriteLine("\nAfter Raise\n");
            ShowItems(items);
            Console.ReadKey();
         }
      }
      static void RaiseRates(SPListItemCollection items) {
         foreach (SPListItem item in items) {
            var employee = Convert.ToBoolean(item["Employee"]);
            var rate = Convert.ToDouble(item["Salary_x002f_Rate"]);
            var newRate = employee ? rate + 1 : rate + 0.1;
            item["Salary_x002f_Rate"] = newRate;
            item.Update();
         }
      }
      static void ShowItems(SPListItemCollection items) {
         foreach (SPListItem item in items) {
            Console.WriteLine("Salary or rate for {0} is {1:c}", item.Title,
            item["Salary_x002f_Rate"]);
         }
      }
   }
}

Nel codice sopra puoi vedere che abbiamo due metodi:

  • Uno sta recuperando l'elenco che è stato chiamato ShowItems e

  • L'altro metodo è aumentare le tariffe che viene chiamato RaiseRates().

Quando il codice precedente viene compilato ed eseguito, vedrai il seguente output:

Salary or rate for Muhammad Waqas is $950.00
Salary or rate for Mark Upston is $15.00
Salary or rate for Allan Bommer is $20.00
Salary or rate for Andy Onian is $870.00

After Raise

Salary or rate for Muhammad Waqas is $951.00
Salary or rate for Mark Upston is $15.10
Salary or rate for Allan Bommer is $20.10
Salary or rate for Andy Onian is $871.00

Query CAML

Negli esempi precedenti, abbiamo sempre iterato attraverso gli elementi utilizzando un ciclo foreach molte volte ripetendo tutti gli elementi e abbiamo sempre riportato tutte le colonne o almeno tutte le colonne erano accessibili.

È davvero analogo all'esecuzione di una selezione * dal nome della tabella in una query SQL.

Possiamo risolvere questo problema utilizzando quelli che vengono chiamati CAML queries. Quando esegui una query CAML hai due opzioni:

  • Se desideri eseguire una query su un solo elenco, puoi utilizzare l'oggetto SPQuery.

  • Se si desidera eseguire query su più elenchi in una raccolta siti, è possibile utilizzare SPSiteDataQuery.

In genere, quando esegui il file SPSiteDataQuery, stai interrogando tutti gli elenchi di un tipo specifico.

Ad esempio, desidero eseguire una query su tutti gli elenchi di contatti e così via. SPSiteDataQuery consente di determinare l'ambito, in modo da poter indicare che si desidera eseguire una query sull'intera raccolta siti, su un singolo sito o sul sito e tutti i suoi figli.

La sintassi per le query CAML è sostanzialmente descritta in formato XML e ci vuole un po 'di tempo per abituarsi a costruire questo tipo di query.

Diamo un'occhiata a un semplice esempio di query CAML. Qui, creeremo una query CAML per interrogare i dati nel nostro elenco di autori.

using Microsoft.SharePoint;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ServerObjectModel {
   class Program {
      static void Main(string[] args) {
         using (var site = new SPSite("http://waqasserver/sites/demo")) {
            var web = site.RootWeb;
            var list = web.Lists.TryGetList("Authors");
            if (list == null)
            return;
            var items = QueryItems(list);
            ShowItems(items);
            
            //RaiseRates(items);
            //Console.WriteLine("\nAfter Raise\n");
            //ShowItems(items);
            Console.ReadKey();
         }
      }
      static SPListItemCollection QueryItems(SPList list) {
         var query = new SPQuery();
         
         query.ViewFields =
            "<FieldRef Name='Title' />" +
            "<FieldRef Name='Employee' />" +
            "<FieldRef Name='Salary_x002f_Rate' />";
         
         query.Query =
            "<OrderBy>" +
            " <FieldRef Name='Salary_x002f_Rate' />" +
            "</OrderBy>" +
            "<Where>" +
            " <Eq>" +
            " <FieldRef Name='Employee' />" +
            " <Value Type='Boolean'>False</Value>" +
            " </Eq>" +
            "</Where>";
         return list.GetItems(query);
      }
      static void RaiseRates(SPListItemCollection items) {
         foreach (SPListItem item in items) {
            var employee = Convert.ToBoolean(item["Employee"]);
            var rate = Convert.ToDouble(item["Salary_x002f_Rate"]);
            var newRate = employee ? rate + 1 : rate + 0.1;
            item["Salary_x002f_Rate"] = newRate;
            item.Update();
         }
      }
      static void ShowItems(SPListItemCollection items) {
         foreach (SPListItem item in items) {
            Console.WriteLine("Salary or rate for {0} is {1:c}",
            item.Title,
            item["Salary_x002f_Rate"]);
         }
      }
   }
}

Abbiamo utilizzato una query CAML per ottenere alcuni degli elementi. NelQueryItems metodo, puoi vedere che abbiamo recuperato solo quegli elementi che non sono Dipendente.

Salary or rate for Mark Upston is $15.10
Salary or rate for Allan Bommer is $20.10

In questo capitolo daremo uno sguardo al Client Object Model o CSOM. Questa era una delle due API per la creazione di applicazioni remote aggiunte a SharePoint 2010.

Uno degli obiettivi di progettazione del modello a oggetti client era imitare il più possibile il modello a oggetti server, quindi ci sarebbe stata una curva di apprendimento più breve per gli sviluppatori già esperti nello sviluppo dal lato server.

Il cuore del Client Object Model è un servizio web chiamato Client.svc, che risiede in _vti_bindirectory virtuale. Non dovremmo comunicare direttamente con Client.svc, ma ci vengono forniti tre proxy o punti di ingresso, che possiamo utilizzare. Sono -

  • Codice gestito .NET.
  • JavaScript.
  • JavaScript.

Il codice comunica con questi proxy e quindi questi proxy comunicano eventualmente con il servizio web.

Poiché si tratta di un'API remota e la comunicazione avviene con SharePoint tramite chiamate al servizio Web, il modello a oggetti client è progettato per consentirci di eseguire il batch di comandi e richieste di informazioni.

Codice gestito .NET

I due assembly principali per l'implementazione di .NET Manage sono:

Microsoft.SharePoint.Client.dll e Microsoft.SharePoint.Client.Runtime.dll.

Codice Silverlight

Gli assembly per l'implementazione di Silverlight risiedono in TEMPLATE\LAYOUTS\ClientBin. Anche i nomi degli assembly iniziano conMicrosoft.SharePoint.Client. Per tutti gli assembly tranne uno, il nome dell'assembly termina con Silverlight.

I due assembly principali per l'implementazione di Silverlight sono:

  • Microsoft.SharePoint.Client.Silverlight.dll
  • Microsoft.SharePoint.Client.Silverlight.Runtime.dll

JavaScript

L'implementazione JavaScript sul modello a oggetti client risiede nella cartella TEMPLATE \ LAYOUTS sotto la radice del sistema SharePoint. I nomi della libreria JavaScript iniziano tutti con SP. Le tre librerie principali sonoSP.js, Sp.Runtime.js, e SP.Core.js.

Il modello a oggetti client viene espanso in SharePoint 2013.

Recupera risorse con carico utilizzando .NET

Vediamo un semplice esempio in cui useremo l'implementazione gestita del Client Object Model utilizzando l'applicazione Windows Form. Pertanto, prima dobbiamo creare un nuovo progetto.

Step 1 - Seleziona Windows Forms Applicationnel riquadro centrale e immettere il nome nel campo Nome. Fare clic su OK.

Step 2- Una volta creato il progetto, aggiungiamo una casella di riepilogo e un pulsante come mostrato di seguito. Per utilizzare il modello a oggetti client, è necessario aggiungere un paio di riferimenti all'assembly. Fare clic con il tasto destro sui riferimenti e scegliere Aggiungi riferimento.

Step 3 - Seleziona Extensions nel riquadro di sinistra sotto Assemblies.

I due assembly principali per l'implementazione gestita del modello a oggetti client sono Microsoft.SharePoint.Client e Microsoft.SharePoint.Client.Runtime. Controlla queste due opzioni e fai clic su OK.

Ora fai doppio clic sul pulsante Carica per aggiungere il gestore eventi come indicato di seguito.

using Microsoft.SharePoint.Client;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace ClientObjectModel {
   public partial class Form1 : Microsoft.SharePoint.Client.Form {
      public Form1() {
         InitializeComponent();
      }
      private void loadBtn_Click(object sender, EventArgs e) {
         using (var context = new ClientContext("http://waqasserver/sites/demo")) {
            var web = context.Web;
            context.Load(web);
            context.Load(web.Lists);
            context.ExecuteQuery();
            ResultListBox.Items.Add(web.Title);
            ResultListBox.Items.Add(web.Lists.Count);
         }
      }
   }
}

Il punto di ingresso nel Client Object Model è il contesto client. È la versione remota della versione client diSPContextoggetto. Questo è un tipo usa e getta, quindi è avvolto in un fileusingdichiarazione. Passiamo l'URL del sito di SharePoint inClientContext.

Quindi ora abbiamo il nostro contesto. Abbiamo bisogno di un oggetto per rappresentare il sito corrente, quindi èvar web = context.web.

Note- Ricorda, questo oggetto è solo una shell vuota, quindi dobbiamo caricare gli oggetti web usando context.load e passare l'oggetto web. Ciò indica che vogliamo che le proprietà degli oggetti Web vengano popolate nel successivo recupero batch.

Successivamente, dobbiamo chiamare context.ExecuteQuerye questo in realtà dà il via al recupero batch. Recuperiamo i valori delle proprietà dal server e li aggiungiamo alla casella di riepilogo.

Quando il codice precedente viene compilato ed eseguito, vedrai il seguente output:

Fai clic sul pulsante Carica e vedrai che otteniamo entrambi, il titolo e il conteggio degli elenchi.

Consente alla configurazione del nostro progetto di utilizzare il modello a oggetti client per controllare le risorse di caricamento utilizzando il metodo di caricamento.

In questo capitolo, tratteremo le API REST. Questa non è un'API tradizionale, in cui abbiamo un set di librerie che contengono tipi e quei tipi contengono proprietà e metodi.

L'API REST viene implementata come servizio Web incentrato sui dati basato su Open Data Protocol o OData. Il modo in cui questi servizi web funzionano, utilizzano ogni risorsa nel sistema è indirizzabile da un URL specifico che si passa al server.

Esaminiamo questo aspetto in Internet Explorer in cui è aperto il sito di SharePoint.

Step 1 - Se stai usando Internet Explorer, vai alle impostazioni di Internet Explorer e sulla scheda Contenuto, seleziona le impostazioni per Feed e Web Slice come mostrato nella schermata qui sotto.

Vedrai la seguente finestra di dialogo. Assicurarsifeed reading view è off e fare clic su OK.

Step 2 - Ora cambiamo l'URL nell'URL del sito + / _ api / web e premiamo Invio.

Ora dovresti ottenere una visualizzazione simile allo screenshot seguente.

Vogliamo informazioni sul web corrente o sul sito attuale. Pertanto, l'URL del sito + / _ api è l'URL di base per l'API REST di SharePoint 2013 e il web è la nostra query. Vogliamo informazioni sul web attuale.

Otteniamo indietro un documento XML e se scorriamo verso il basso, otterremo informazioni sul nostro web attuale.

Successivamente, se desideri conoscere gli elenchi nel Web, puoi aggiungere gli elenchi al tuo URL. Invece di informazioni su un singolo oggetto, otterremo una raccolta di informazioni su tutti gli elenchi nel sito corrente.

Quando stavamo utilizzando il browser, stavamo inviando richieste get al server, il che significa che vogliamo recuperare le informazioni. Tuttavia, possiamo anche fare il resto delle operazioni CRUD standard.

Recupera le risorse utilizzando l'API REST

L'API REST di SharePoint 2013 non espone i metadati. Pertanto, quando lavoriamo con esso in Managed Code, non possiamo usare Visual Studio per generare un proxy di servizio utilizzando la finestra di dialogo di riferimento del servizio. Invece, possiamo usare un tipo come il client web dell'oggetto richiesta web http per inviare una richiesta al server e ottenere semplicemente i risultati grezzi.

Se questi risultati vengono restituiti come XML o JSON è determinato dall'intestazione di accettazione che inviamo insieme alla richiesta.

  • Se recuperiamo XML, possiamo utilizzare LINQ to XML per recuperare le informazioni dalla risposta di cui abbiamo bisogno per la nostra applicazione.

  • Se recuperiamo JSON, possiamo utilizzare uno dei vari serializzatori JSON per analizzare il JSON in oggetti .NET e quindi utilizzarlo per recuperare le informazioni di cui abbiamo bisogno.

Quando si lavora con l'API REST in JavaScript, è possibile utilizzare jQuery o l'oggetto SP.RequestExecutor per effettuare la chiamata al servizio. Proprio come nell'esempio del codice gestito, possiamo controllare se recuperare XML o JSON utilizzando l'intestazione di accettazione. Poiché, la maggior parte delle volte, lavoriamo in JavaScript, vorremo recuperare JSON.

L'altra cosa da notare è che quando crei l'URL del servizio, possiamo usare il file _spPageContextInfooggetto per ottenere l'URL assoluto dal sito e quindi aggiungere semplicemente l'URL del servizio più la query ad esso. Questo perché il servizio API REST non espone i metadati e non è possibile creare un riferimento al servizio in Visual Studio, l'utilizzo dell'API REST in Managed Code è davvero un non-starter.

Diamo un'occhiata alla chiamata dell'API REST da JavaScript creando un nuovo progetto.

Step 1 - Seleziona App for SharePointnel riquadro centrale e inserisci il nome per il tuo progetto. ClicOK.

Step 2 - Inserisci l'URL del tuo sito e seleziona il file SharePoint – hostedopzione e fare clic su Avanti. Fare clic su Fine.

Step 3 - Una volta creato il progetto, apriamo la pagina Default.aspx, che si trova in Pages in Esplora soluzioni, e aggiungiamo un pulsante.

Ecco l'implementazione completa del file 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 ContentPlaceHolderID = ”PlaceHolderAdditionalPageHead”
   runat = ”server”>
   <script type = ”text/javascript” src = ”../Scripts/jquery-1.9.1.min.js”></script>
   <SharePoint:ScriptLink name = ”sp.js” runat = ”server” OnDemand = ”true”
      LoadAfterUI = ”true” Localizable = ”false” />
   <meta name = ”WebPartPageExpansion” content = ”full” />
   <!–Add your CSS styles to the following file ->
   <link rel = ”Stylesheet” type = ”text/css” href = ”../Content/App.css” />
   <!–Add your JavaScript to the following file ->
   <script type = ”text/javascript” src = ”../Scripts/App.js”></script>
</asp:Content>

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

<asp:Content ContentPlaceHolderID = ”PlaceHolderPageTitleInTitleArea”
   runat = ”server”>
   Page Title
</asp:Content>

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

<asp:Content ContentPlaceHolderID = ”PlaceHolderMain” runat = ”server”>
   <div>
      <p id = ”message”>
         <!–The following content will be replaced with the user name when
            you run the app – see App.js -> initializing…
      </p>
      <input id = ”loadButton” type  = ”button” value = ”Load” />
   </div>
</asp:Content>

Step 4 - Apri il file App.js, che si trova sotto Script in Esplora soluzioni e sostituiscilo con il codice seguente.

JQuery(document).ready(function () {
   JQuery("#loadButton").click(usingLoad)
});

function usingLoad() {
   var context = SP.ClientContext.get_current();
   var web = context.get_web();
   context.load(web);
   context.executeQueryAsync(success, fail);
   
   function success() {
      var message = jQuery("#message");
      message.text(web.get_title());
      message.append("<br/>");
      message.append(lists.get_count());
   }
   function fail(sender, args) {
      alert("Call failed. Error: " + args.get_message());
   }
}

Stiamo usando jQuery per creare il file document.readyfunzione. Qui, vogliamo solo collegare il gestore dell'evento clic al pulsante. Quindi, abbiamo usato il selettore per ottenere il fileloadButton e poi abbiamo aggiunto il gestore di eventi click usando Load.

Quindi, quando facciamo clic sul pulsante, vogliamo fare la stessa cosa che abbiamo fatto nella versione gestita della demo, vogliamo mostrare il titolo del web.

Step 5 - Pubblica la tua applicazione e vedrai il seguente file -

Step 6 - Trascina questo file nella pagina delle app del tuo sito di SharePoint.

Vedrai il file JavaScriptDemo nella lista.

Step 7- Fare clic su Contenuto del sito nel riquadro di sinistra e quindi selezionare aggiungi un'app. Clicca ilJavaScriptDemo icona.

Step 8 - Fare clic su Trust it.

Step 9- Ora vedrai la tua app. Fare clic sull'icona dell'app.

Step 10 - Quando fai clic sul pulsante Carica, il testo verrà aggiornato.

Puoi vedere il testo aggiornato.

In questo capitolo daremo uno sguardo alle caratteristiche e agli elementi. Le funzionalità sono in qualche modo il modello di componenti in SharePoint. Consentono di definire unità logiche di funzionalità.

Ad esempio, potresti voler avere la capacità all'interno di un sito:

  • Per creare un elenco con uno schema specifico,

  • Avere una pagina che mostrerà i dati da quell'elenco, e poi

  • Avere un collegamento o un'opzione di menu da qualche parte all'interno del sito per accedere a quella pagina.

È possibile creare una caratteristica, che definisce quel raggruppamento logico di funzionalità. I singoli pezzi di funzionalità sono definiti da elementi.

Quindi ci sarebbe un elemento che -

  • Crea l'elenco e imposta lo schema.

  • Esegue il provisioning della pagina nel sito di SharePoint e

  • Crea l'opzione di menu o il collegamento.

La caratteristica definisce l'unità e quindi gli elementi definiscono i singoli pezzi di funzionalità all'interno di quella unità. Abbiamo discusso dei tre tipi di elementi:

  • Un'istanza di elenco per creare un elenco.

  • Un modulo per eseguire il provisioning di una pagina.

  • Un'azione personalizzata per creare un'opzione di menu o un collegamento.

Tuttavia, esistono molti altri tipi di elementi che possono essere creati in SharePoint. Un altro concetto importante da comprendere sulle funzionalità è quello di attivazione e disattivazione.

Ad esempio, se un utente finale desidera che la suddetta funzionalità venga aggiunta al suo sito, attiverebbe la funzione corrispondente che creerebbe l'elenco, aggiungerebbe l'opzione di menu o il collegamento e fornirà la pagina al proprio sito. Successivamente potrebbe disattivare la funzione per rimuovere la funzionalità.

È importante notare che alla disattivazione di una funzione, alcuni elementi vengono automaticamente rimossi. Ad esempio, SharePoint rimuoverebbe automaticamente l'opzione di menu o il collegamento, che è definito da un'azione personalizzata.

Altri non vengono rimossi automaticamente. Pertanto, nel nostro caso, l'istanza dell'elenco e la pagina non verrebbero rimosse automaticamente.

Quindi, come sviluppatore, devi capire quali elementi vengono rimossi automaticamente e quali no. Se vuoi rimuovere quelli che non vengono rimossi automaticamente, puoi scrivere il codice in un filefeature receiver.

Vediamo come lavorare con le caratteristiche e gli elementi. Inizieremo con la visualizzazione delle funzionalità da parte degli utenti finali.

Step 1 - Apri il tuo sito di SharePoint.

Step 2 - Per accedere alle impostazioni del sito, sono disponibili due collegamenti che consentono di gestire le funzionalità.

  • Il primo collegamento Manage Site features si trova in Azioni sito, che consente di gestire le funzionalità dell'ambito del sito.

  • L'altro collegamento Site collection features in Amministrazione raccolta siti, che consente di gestire le funzionalità dell'ambito della raccolta siti.

Step 3- Se fai clic su uno di questi collegamenti, verrai indirizzato a una pagina che mostra le funzionalità attualmente attive e inattive. Per ciascuna delle funzionalità, hai un'opzione per attivare o disattivare la funzionalità.

Diamo un'occhiata a un semplice esempio creando un nuovo progetto vuoto di soluzioni SharePoint.

Step 1 - Chiamiamolo questo FeaturesAndElements e fare clic su OK.

Step 2 - Specifica il sito che desideri utilizzare e seleziona il file Deploy as a farm solution opzione e quindi fare clic su Fine.

La prima cosa che vogliamo creare è la funzionalità. In Esplora soluzioni è possibile visualizzare una cartella Funzionalità, attualmente vuota.

Step 3 - Fare clic con il pulsante destro del mouse sul file Features cartella e scegli Add Feature. Crea una caratteristica denominataFeature1e apre il Feature designer. Il titolo predefinito è il titolo del progetto, più il titolo della funzionalità.

Step 4 - Rinomina la funzione da Feature1 a Sample.

Titolo e Descrizione sono ciò che l'utente vede nella pagina in cui attiva e disattiva le funzionalità.

Imposta il titolo su Sample Feature e la descrizione a Adds the Contacts list and the page is used to view the list. L'altra cosa che dobbiamo impostare è l'ambito della funzione, che è l'ambito di attivazione.

Può essere Farm, un'applicazione Web, una raccolta siti o un sito. In questo caso, forniremo un elenco e una pagina. Poiché entrambi vivono in un sito di SharePoint, sceglieremo Web qui.

Step 5- Cominciamo ad aggiungere funzionalità nei nostri elementi. Il primo elemento sarà l'elenco e creeremo un elenco di contatti. Fai clic con il pulsante destro del mouse sul tuo progetto e scegliAdd → New Item...

Step 6- Seleziona Elenco nel riquadro centrale e inserisci Contatti nel campo del nome. Fare clic su Aggiungi.

Step 7- Verrà visualizzata la procedura guidata per la creazione dell'elenco. Crea un elenco chiamato Contatti basato sull'elenco Contatti. Fare clic su Fine per creare l'elenco o almeno creare l'elemento, che alla fine creerà l'elenco.

Di seguito è riportato lo screenshot del designer della lista.

Step 8- Questo designer è solo un editor XML. Apri il file Elements.xml in Contatti e aggiungi i seguenti dati.

<?xml version = "1.0" encoding = "utf-8"?>

<Elements xmlns = "http://schemas.microsoft.com/sharepoint/">
   <ListInstance Title = "Contacts" OnQuickLaunch = "TRUE" TemplateType = "105" 
      FeatureId = "00bfea71-7e6d-4186-9ba8-c047ac750105"
      Url = "Lists/Contacts" Description = "">
      <Data>
         <Rows>

            <Row>
               <Field Name = "ID">1</Field>
               <Field Name = "Last Name">Anders</Field>
               <Field Name = "First Name">Maria</Field>
               <Field Name = "Company">Alfreds Futerkiste</Field>
               <Field Name = "Business Phone">030-0074321</Field>
            </Row>

            <Row>
               <Field Name = "ID">2</Field>
               <Field Name = "Last Name">Hardy</Field>
               <Field Name = "First Name">Thomas</Field>
               <Field Name = "Company">Around the Horn</Field>
               <Field Name = "Business Phone">(171) 555-7788</Field>
            </Row>

            <Row>
               <Field Name = "ID">3</Field>
               <Field Name = "Last Name">Lebihan</Field>
               <Field Name = "First Name">Laurence</Field>
               <Field Name = "Company">Bon app'</Field>
               <Field Name = "Business Phone">91.24.45.40</Field>
            </Row>

            <Row>
               <Field Name = "ID">4</Field>
               <Field Name = "Last Name">Ashworth</Field>
               <Field Name = "First Name">Victoria</Field>
               <Field Name = "Company">B's Beverages</Field>
               <Field Name = "Business Phone">(171) 555-1212</Field>
            </Row>

            <Row>
               <Field Name = "ID">5</Field>
               <Field Name = "Last Name">Mendel</Field>
               <Field Name = "First Name">Roland</Field>
               <Field Name = "Company">Ernst Handel</Field>
               <Field Name = "Business Phone">7675-3425</Field>
            </Row>

         </Rows>
      </Data>
   </ListInstance>
</Elements>

Notare quanto segue:

  • Dentro il ListInstance elemento, abbiamo un elemento chiamato Data e ha alcune righe al suo interno.

  • ListInstance avrà attributi Contacts, indipendentemente dal fatto che mostriamo o meno nel lancio rapido.

  • Vogliamo un elenco basato sul modello di contatto. Qui,TemplateType è impostato per 105. Questo non è un numero casuale ma un numero con un significato.

  • Ciascuno dei tipi di elenco predefiniti che è possibile avere in SharePoint, ad esempio un elenco di annunci, un elenco di attività, un elenco di contatti e così via, ha un numero associato. Pertanto, se modifichi 105 in 107, otterrai un diverso tipo di elenco.

  • FeatureId è la guida associata alla definizione della lista dei contatti.

Step 9- Ora vogliamo avere una pagina che mostri i dati di questo elenco. Fai clic con il pulsante destro del mouse sul tuo progetto e scegliAdd → New Item... Scegli Modulo nel riquadro centrale, inserisci SitePage nel campo del nome e fai clic Add.

Vedrai un nodo chiamato SitePage, che ha due file, Elements.xml e Sample.txtfile. Non vogliamo eseguire il provisioning di questo file sample.txt, ma vogliamo fornire una SitePage.

Step 10 - Rinomina il file di testo in Contacts.aspx e sostituire il seguente codice -

<%@ Assembly Name = "Microsoft.SharePoint, Version = 14.0.0.0, Culture = neutral,
   PublicKeyToken = 71e9bce111e9429c" %>

<%@ Page MasterPageFile = "~masterurl/default.master"
   meta:progid = "SharePoint.WebPartPage.Document" %>

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

<asp:Content ID = "Content2" runat = "server" ContentPlaceHolderID = "PlaceHolderMain">
   <SharePoint:SPDataSource runat = "server"
      ID = "ContactsDataSource" DataSourceMode = "List"
      UseInternalName = "false">
      <SelectParameters>
         <asp:Parameter Name = "ListName" DefaultValue = "Contacts" />
      </SelectParameters>
   </SharePoint:SPDataSource>
   
   <SharePoint:SPGridView runat = "server"
      ID = "ContactsGridView" DataSourceID = "ContactsDataSource"
      AutoGenerateColumns = "false" RowStyle-BackColor = "#DDDDDD"
      AlternatingRowStyle-BackColor = "#EEEEEE">
      <Columns>
         <asp:BoundField HeaderText = "Company"
            HeaderStyle-HorizontalAlign = "Left" DataField = "Company" />
         <asp:BoundField HeaderText = "First Name"
            HeaderStyle-HorizontalAlign = "Left" DataField = "First Name" />
         <asp:BoundField HeaderText = "Last Name"
            HeaderStyle-HorizontalAlign = "Left" DataField = "Last Name" />
         <asp:BoundField HeaderText = "Phone"
            HeaderStyle-HorizontalAlign = "Left" DataField = "Business Phone" />
      </Columns>
   </SharePoint:SPGridView>
</asp:Content>

<asp:Content ID = "PageTitle" ContentPlaceHolderID = "PlaceHolderPageTitle"
   runat = "server">
   Contacts
</asp:Content>

<asp:Content ID = "PageTitleInTitleArea"
   ContentPlaceHolderID = "PlaceHolderPageTitleInTitleArea" runat = "server" >
   Contacts
</asp:Content>

La SitePage ha un'estensione SP.DataSourcefile, che useremo per creare i dati dell'elenco dei contatti, qualcosa a cui possiamo legarci nella nostra pagina. IlSP.GridView mostrerà le informazioni sui contatti.

Questa è la nostra pagina del sito e ora esaminiamo la funzionalità.

Avviso, in Items in the Feature, L'istanza dell'elenco dei contatti e la fornitura del modulo sulla nostra pagina del sito sono stati aggiunti come elementi.

Visual Studio comprende che gli elementi da soli non possono fare nulla. Gli elementi devono essere parte di una caratteristica. Quindi, quando aggiungi un elemento, devi aggiungerlo alla funzione.

Step 11 - Vai al tuo progetto, fai clic con il tasto destro e scegli Add → New Item...

Qui vogliamo aggiungere un'Azione personalizzata, quindi seleziona Elemento vuoto nel riquadro centrale, chiama questa azione e quindi fai clic su Aggiungi.

Se torni alla tua caratteristica, puoi vedere che l'elemento è stato ora aggiunto alla caratteristica come mostrato nello screenshot riportato di seguito.

Step 12 - Torna a Elements.xml in Azione e sostituire il codice seguente:

<?xml version = "1.0" encoding = "utf-8"?>

<Elements xmlns = "http://schemas.microsoft.com/sharepoint/">
   <CustomAction
      Id = "SiteActionsToolbar"
      GroupId = "SiteActions"
      Location = "Microsoft.SharePoint.StandardMenu"
      Sequence = "100"
      Title = "Contacts"
      Description = "A page showing some sample data">
      <UrlAction Url = "~site/SitePages/Contacts.aspx"/>
   </CustomAction>
</Elements>

Ora, se vuoi aggiungere un collegamento o un'opzione di menu, devi definire dove lo vuoi aggiungere ed è una combinazione di Location e GroupId, che li definisce. Questa combinazione di valori indica che l'opzione di menu deve essere aggiunta al menu SiteActions.

Esistono molte altre combinazioni di valori, che aggiungono il collegamento o il menu in altre posizioni all'interno del nostro sito di SharePoint. Questo è qualcosa che dovresti cercare per scoprire qual è la combinazione corretta di valori di cui hai bisogno quando vuoi aggiungere un'opzione di menu da qualche parte in SharePoint.

Step 13 - Fare doppio clic sul file Feature, vedrai il Feature designer. Feature designer è un editor di fantasia del Feature Manifest, che è un documento XML.

Punti importanti -

  • La funzionalità definisce il raggruppamento logico degli elementi. Qui, la nostra caratteristica si riferisce ai nostri tre manifesti degli elementi che abbiamo appena creato.

  • Quando si attiva la funzionalità, SharePoint esaminerà il singolo manifesto dell'elemento e aggiungerà l'elenco, la pagina e il collegamento al nostro sito di SharePoint.

  • Quando si distribuisce utilizzando Visual Studio, vengono attivate automaticamente tutte le funzionalità nel progetto. Dal momento che vogliamo eseguire il processo di attivazione della caratteristica, diremo a Visual Studio di non farlo.

Step 14- Vai alle proprietà del progetto andando alla scheda SharePoint. Modificare la configurazione della distribuzione inNo Activation.

Proviamo questo.

Step 15 - Fare clic con il pulsante destro del mouse sul progetto in Esplora soluzioni e scegliere Deploy. Confezionerà tutto il materiale del progetto e lo distribuirà alla tua SharePoint Development Farm.

Una volta distribuito correttamente, lo vedrai nella finestra Output.

Step 16- Vai al sito di SharePoint e aggiornalo. Vai alSite Settings → Site Actions.

Step 17 - Seleziona Gestisci le caratteristiche del sito perché la tua caratteristica personalizzata era di ambito Web e vedrai il tuo Sample Feature. Puoi vedere che questa funzione non è stata attivata, quindi andiamo avanti e attiviamola.

Vedrai l'elenco dei contatti nel riquadro di sinistra.

Step 18 - Fare clic su Contatto e verranno visualizzati i dati che avevamo nell'elenco.

Step 19- Vai al menu Azioni sito. È disponibile un'opzione per accedere alla pagina Contatti. Questa è la nostra CustomAction.

Step 20 - Se fai clic su Contatti, vedrai la tua pagina del sito, che mostra i dati dall'elenco dei contatti.

In questo capitolo impareremo ad aggiungere code handle. Gli handle del codice sono eventi che vengono generati quando una caratteristica viene attivata o disattivata. In altre parole, esamineremoFeature Receivers.

Il progetto Visual Studio che abbiamo creato nell'ultimo capitolo aveva una caratteristica e quando è stato attivato, ha fornito il nostro elenco di contatti, la nostra pagina del sito e il collegamento alla pagina del sito.

Tuttavia, quando la caratteristica è disattivata, SharePoint rimuove solo il collegamento, la pagina del sito e l'elenco dei contatti rimangono ancora.

Possiamo scrivere il codice quando la Funzionalità è disattivata per rimuovere l'elenco e la pagina, se lo vogliamo. In questo capitolo impareremo come rimuovere contenuto ed elementi quando una caratteristica è disattivata.

Per gestire gli eventi per una caratteristica, abbiamo bisogno di un file Feature Receiver.

Step 1 - Per ottenere il ricevitore della funzionalità, fare clic con il pulsante destro del mouse sulla funzionalità in Esplora soluzioni e quindi scegliere Add Event Receiver.

using System;
using System.Runtime.InteropServices;
using System.Security.Permissions;
using Microsoft.SharePoint;

namespace FeaturesAndElements.Features.Sample {
   /// <summary>
      /// This class handles events raised during feature activation, deactivation,
         installation, uninstallation, and upgrade.
   /// </summary>
   /// <remarks>
      /// The GUID attached to this class may be used during packaging and should not be modified.
   /// </remarks>
   [Guid("e873932c-d514-46f9-9d17-320bd3fbcb86")]
  
   public class SampleEventReceiver : SPFeatureReceiver {
      // Uncomment the method below to handle the event raised after a feature has been activated.
      //public override void FeatureActivated(SPFeatureReceiverProperties properties)//{
         //
      }
      // Uncomment the method below to handle the event raised before a feature is deactivated.
      //public override void FeatureDeactivating(SPFeatureReceiverProperties properties)// {
         //
      }
      // Uncomment the method below to handle the event raised after a feature has been installed.
      //public override void FeatureInstalled(SPFeatureReceiverProperties properties)// {
         //
      }
      // Uncomment the method below to handle the event raised before a feature is uninstalled.
      //public override void FeatureUninstalling(SPFeatureReceiverProperties properties)// {
         //
      }
      // Uncomment the method below to handle the event raised when a feature is upgrading.
      //public override void FeatureUpgrading(SPFeatureReceiverProperties
         properties, string upgradeActionName,
         System.Collections.Generic.IDictionary<string, string> parameters) // {
         //
      }
   }
}

Puoi vedere che cosa otteniamo è una classe che eredita da SPFeatureReceiver.

In SharePoint esistono classi differenti per diversi tipi di eventi che puoi gestire. Ad esempio, eventi su elenchi, eventi su voci di elenco, eventi su siti. È possibile creare una classe derivata da uno specifico ricevitore di eventi e quindi è possibile sovrascrivere i metodi all'interno di quella classe per gestire gli eventi.

Gli eventi di una caratteristica vengono utilizzati quando viene:

  • Activated
  • Deactivated
  • Installed
  • Uninstalled
  • Upgrading

Successivamente, è necessario collegare quella classe come gestore di eventi per l'elemento specifico. Ad esempio, se è presente un gestore eventi che gestisce gli eventi dell'elenco, è necessario allegare quella classe all'elenco.

Pertanto, gestiremo due funzionalità:

  • Quando la funzione è attivata e

  • Quando viene disattivato.

Step 2 - Implementeremo il FeatureActivated e i metodi FeatureDeactivated come mostrato di seguito -

using System;
using System.Runtime.InteropServices;
using System.Security.Permissions;
using Microsoft.SharePoint;

namespace FeaturesAndElements.Features.Sample {
   /// <summary>
      /// This class handles events raised during feature activation, deactivation,
         installation, uninstallation, and upgrade.
   /// </summary>
   /// <remarks>
      /// The GUID attached to this class may be used during packaging and should
         not be modified.
   /// </remarks>

   [Guid("e873932c-d514-46f9-9d17-320bd3fbcb86")]
   public class SampleEventReceiver : SPFeatureReceiver {
      private const string listName = "Announcements";
      
      public override void FeatureActivated(SPFeatureReceiverProperties properties) {
         var web = properties.Feature.Parent as SPWeb;
         
         if (web == null) return;
         var list = web.Lists.TryGetList(listName);
         
         if (list != null) return;
         var listId = web.Lists.Add(listName, string.Empty,
         SPListTemplateType.Announcements);
         list = web.Lists[listId];
         list.OnQuickLaunch = true;
         list.Update();
      }
      public override void FeatureDeactivating(SPFeatureReceiverProperties properties) {
         var web = properties.Feature.Parent as SPWeb;
         
         if (web == null) return;
         var list = web.Lists.TryGetList(listName);
         
         if (list == null) return;
         if (list.ItemCount == 0) {
            list.Delete();
         }
      }
   }
}

Note -

  • Quando la funzione è attivata, creeremo un elenco di annunci.

  • Quando la funzione è disattivata, controlleremo per vedere se l'elenco degli annunci è vuoto e, in tal caso, lo elimineremo.

Step 3- Ora fai clic con il pulsante destro del mouse sul progetto e scegli Distribuisci. Verrà visualizzato il seguente avviso di conflitto di distribuzione.

Visual Studio ci sta dicendo che stiamo cercando di creare un elenco chiamato contatti, ma esiste già un elenco nel sito chiamato Contatti. Ci sta chiedendo se vogliamo sovrascrivere l'elenco esistente e in questo caso fare clicResolve.

Step 4 - Torna a SharePoint, quindi aggiorna il tuo sito e vai a Site Actions → Site settings → Manage site features → Sample feature.

Puoi vedere che non ci sono elenchi di annunci nel riquadro di sinistra.

Step 5 - Attiva la funzione di esempio e vedrai l'elenco degli annunci, ma al momento è vuoto.

Note - Se disattivi la tua funzione di esempio, noterai che l'elenco degli annunci scompare.

Step 6- Riattiviamo la funzione. Vai ad Annunci e poi Aggiungi un nuovo annuncio. Chiameremo questo test e quindi fare clic su Salva.

Vedrai il file di prova sotto Annunci.

Ora, quando disattivi gli annunci, vedrai che l'elenco degli annunci rimane perché non era vuoto.

In questo capitolo tratteremo la piattaforma Microsoft Azure. Microsoft Azure è la tecnologia della piattaforma cloud di Microsoft, che è di per sé una tecnologia molto potente. Non è solo un luogo in cui distribuire il codice, ma esiste un intero set di servizi che puoi utilizzare come sviluppatore nello sviluppo della tua soluzione SharePoint.

Cloud computing

Per capire Microsoft Azure, devi prima conoscere un po 'il cloud. Il cloud computing consiste nello sfruttare il Web come insieme di risorse per lo sviluppo e la distribuzione delle soluzioni. Tradizionalmente, il cloud computing è stato definito come categorie di servizi. Sono -

  • Infrastructure as a Service (IAAS)
  • Platform as a Service (PAAS)
  • Software as a Service (SAAS)

Ciascuna di queste categorie è diversa nel contesto dello sviluppo. Ad esempio, potresti pensare:

  • IAAS come macchine virtuali ospitate (VM) gestite da remoto.

  • PAAS come dove distribuisci codice, dati, oggetti binari di grandi dimensioni (BLOB), app Web e altri artefatti dell'applicazione in un ambiente basato su cloud (come Windows Server 2012 R2 e IIS).

  • SAAS come servizi basati su abbonamento che puoi registrarti per utilizzare, ad esempio, Office 365.

Sebbene queste tre categorie di servizi dominino il modo in cui è caratterizzato il cloud, il cloud ha quattro pilastri generalmente accettati:

  • Risorse in pool con altri utenti cloud.

  • Gestisci i tuoi servizi e app tramite il portale di gestione.

  • App e servizi possono crescere e contrarsi con le tue esigenze aziendali.

  • Paga solo per ciò che usi per quanto riguarda il cloud.

Panoramica della piattaforma Azure

La piattaforma Microsoft Azure è composta da molti servizi diversi. Puoi sfruttarli nella progettazione, distribuzione e gestione delle applicazioni come dati, servizi e integrazione, che è il livello client in qualsiasi applicazione che utilizza i servizi all'interno di Microsoft Azure.

Livello dati

Nel livello dati esistono diversi tipi di meccanismi o funzionalità di archiviazione dati che mappano direttamente all'archiviazione dati che contiene sia non relazionali che relazionali.

Non-relational Feature

Le funzionalità di archiviazione non relazionale consentono di:

  • Per archiviare asset come immagini o immagini di macchine virtuali o video in BLOB

  • Crea tabelle non relazionali

  • Gestisci le code di messaggi lungo un bus di servizio e gestisci la memorizzazione nella cache dei dati nelle applicazioni distribuite

Relational Feature

Le caratteristiche dei dati relazionali sono le seguenti:

  • Il database SQL di Azure principale, che è la versione cloud per SQL Server locale

  • Servizi di reporting (SQL Reporting)

  • La capacità di eseguire lo streaming di flussi di dati quasi in tempo reale dalle transazioni di dati (Stream Insight)

Livello dei servizi

Il livello Servizi contiene una serie di servizi predefiniti che puoi utilizzare durante la creazione delle tue soluzioni, che vanno dai servizi multimediali ai servizi cloud principali come

  • Creazione di siti web

  • Classi di ruolo dei lavoratori

  • Sfruttare Hadoop su Microsoft Azure per elaborare le richieste di Big Data

Per molti di questi servizi, puoi utilizzare funzionalità integrate e un set di API all'interno dell'applicazione. Ad esempio, se desideri creare una soluzione di apprendimento multimediale, puoi sfruttare i servizi multimediali:

  • Per caricare WMV

  • Transcodificali in MP4

  • Salvali nell'archivio BLOB

  • Crea un URL pubblico per l'accesso e poi riproduci in streaming da Microsoft Azure

Livello di integrazione

Il livello di integrazione contiene alcuni servizi fondamentali come:

  • Rete di distribuzione dei contenuti con replica geografica (CDN)

  • Gestore del traffico

  • Rete privata virtuale, che consente di connettere una macchina virtuale al sistema locale

  • Flusso di lavoro e processi aziendali e servizi di integrazione

Tutte queste funzionalità consentono di integrare i sistemi o proteggerli.

App di Azure

Microsoft Azure non riguarda solo i servizi. Azure è una piattaforma cloud in continua evoluzione che dispone di un set di strumenti e SDK che ti consentono di iniziare rapidamente con lo sviluppo di applicazioni cloud.

Per iniziare con Microsoft Azure è necessario quanto segue:

  • Visual Studio più recente
  • Abbonamento a Microsoft Azure
  • Abbonamento a Microsoft Azure

Step 1 - Diamo un'occhiata a un semplice esempio in cui distribuiremo la nostra applicazione web su Microsoft Azure creando una nuova applicazione ASP.NET MVC.

Step 2- Fare clic su Ok e verrà visualizzata la seguente finestra di dialogo. Seleziona il modello MVC, controllaHost in the Cloud casella di controllo e quindi fare clic su OK.

Step 3- Quando viene visualizzata la finestra di dialogo Configura impostazioni di Microsoft Azure Web App, assicurati di aver effettuato l'accesso ad Azure. Se non hai effettuato l'accesso, accedi prima.

Puoi vedere il nome predefinito, ma puoi cambiare il file Web App name.

Step 4- Immettere le informazioni desiderate come mostrato di seguito. SelezionareCreate new server dall'elenco a discesa Server database.

Step 5- Vedrai il campo aggiuntivo. Immettere il server database, il nome utente e la password e fare clic su OK.

Una volta creato il progetto, esegui la tua applicazione e vedrai che è in esecuzione su localhost.

Step 6 - Per distribuire queste applicazioni in Azure, fare clic con il pulsante destro del mouse sul progetto in Esplora soluzioni e selezionare Pubblica.

Step 7- Vedrai la seguente finestra di dialogo. Fare clic sulle app Web di Microsoft Azure.

Step 8 - Seleziona il nome dell'applicazione dal file Existing Web Apps e fare clic su OK.

Step 9 - Fare clic su Validate Connection pulsante per verificare la connessione su Azure.

Step 10 - Fare clic su Next continuare.

Ora vedrai che la stringa di connessione è già generata per te, per impostazione predefinita.

Step 11 - Fare clic su Next continuare.

Step 12 - Per controllare tutti i file e le DLL che pubblicheremo in Azure, fare clic su Start Preview.

Step 13 - Fare clic su Publish per pubblicare la tua applicazione.

Una volta che l'applicazione è stata pubblicata correttamente in Azure, verrà visualizzato il messaggio nella finestra di output.

Vedrai anche che la tua applicazione è ora in esecuzione dal cloud.

Ora andiamo di nuovo al portale di Azure e qui vedrai anche l'app.

App di SharePoint e Microsoft Azure

SharePoint e Microsoft Azure sono due piattaforme importanti a sé stanti. SharePoint è una delle principali piattaforme di produttività server di Microsoft o la piattaforma collaborativa per l'azienda e il Web.

Microsoft Azure è il sistema operativo di Microsoft nel cloud. Separatamente, hanno i loro punti di forza, la redditività del mercato e il seguito degli sviluppatori.

Insieme, forniscono molti vantaggi potenti. Sono -

  • Aiutano a espandere come e dove distribuire il codice e i dati.

  • Aumentano le opportunità di sfruttare Microsoft Azure riducendo allo stesso tempo i costi di archiviazione e failover delle applicazioni locali.

  • Ti forniscono nuovi modelli di business e offerte che puoi portare ai tuoi clienti per aumentare le tue offerte di soluzioni.

In SharePoint 2010, Azure e SharePoint erano due piattaforme e tecnologie distinte, che potevano essere integrate abbastanza facilmente, ma non facevano parte dello stesso sistema. Tuttavia, in SharePoint 2013 questo è cambiato.

SharePoint 2013 introduce diversi tipi di applicazioni cloud. In effetti, puoi creare due tipi di applicazioni integrate di Azure.

Il primo tipo di applicazione è Autohosted e il secondo è Provider-hosted (a volte indicato come self-hosted).

La principale differenza tra i due è:

  • Le applicazioni ospitate automaticamente supportano in modo nativo un set di funzionalità di Azure come siti Web e database SQL con l'esperienza di sviluppo e distribuzione di SharePoint.

  • Le applicazioni ospitate dal provider sono pensate per integrarsi con una serie più ampia di tecnologie e standard Web rispetto alle applicazioni ospitate automaticamente, una delle quali è Microsoft Azure.

Pertanto, puoi sfruttare l'intero stack di Microsoft Azure durante la creazione di app ospitate dal provider che usano Azure.

In questo capitolo tratteremo la creazione di pacchetti e la distribuzione della soluzione SharePoint. Il primo passaggio nella distribuzione di una soluzione SharePoint è la creazione di un pacchetto della soluzione.

UN Solution Package è un CAB file con estensione WSP, che contiene tutti i file necessari per implementare le funzionalità nel progetto Visual Studio.

I file necessari per implementare le funzionalità includono:

  • Il manifesto della funzionalità.

  • Qualsiasi elemento si manifesta.

  • La dll, che contiene il codice gestito compilato.

  • File associati come pagine Web, controlli utente e file associati al Web.

  • Un altro file contenuto nel pacchetto della soluzione è il manifesto della soluzione. Il manifesto della soluzione è un catalogo dei file contenuti nel pacchetto. Per le soluzioni Farm, contiene anche le istruzioni di distribuzione.

  • Proprio come con il manifesto delle funzionalità, Visual Studio crea e mantiene automaticamente il manifesto della soluzione mentre modifichi il progetto. È possibile visualizzare il manifesto della soluzione utilizzando la finestra di progettazione della soluzione.

  • Oltre a creare e mantenere il manifesto della soluzione, Visual Studio crea automaticamente anche il pacchetto della soluzione per il nostro progetto. Lo fa dietro le quinte ogni volta che distribuisci il tuo lavoro per il debug.

  • Il pacchetto della soluzione generato viene posizionato nella stessa cartella della dll, quindi sarà la cartella bin debug o bin release. Per visualizzare il contenuto di questo file in Windows Explorer, basta cambiare l'estensione da WSP a CAB e quindi fare doppio clic sul file.

Diamo uno sguardo ad un semplice esempio in cui esamineremo i pacchetti di soluzioni associati ai progetti di soluzioni SharePoint che abbiamo creato nel capitolo precedente. Cominciamo con il progetto di caratteristiche ed elementi che abbiamo creato in precedenza.

Come saprai, nel progetto abbiamo una caratteristica, chiamata Sample. Questa caratteristica fa riferimento a tre manifesti di elementiContacts, SitePage, and Action.

Puoi anche vedere che Action ha il manifest dell'elemento, Contacts ha il suo manifest dell'elemento, SitePage ha il manifest dell'elemento e una pagina web, che fornisce questa pagina web al sito. Quindi, dovremmo aspettarci che il pacchetto della soluzione contenga il Feature manifest, i tre Element Manifests, la pagina web e anche l'assembly che viene creato quando creiamo il progetto.

Step 1 - Fare clic con il pulsante destro del mouse sul progetto in Esplora soluzioni e scegliere Apri cartella in Esplora file.

Step 2- Vai al cestino e apri la cartella Debug. Vedrai il pacchetto della soluzione.

Step 3 - Crea una copia e modifica l'estensione del file Copia da wsp a cab.

Step 4- Ora fai doppio clic sul file cab per aprirlo e vedrai i file. Vedrai il manifest delle funzionalità, tre manifest degli elementi, la pagina aspx, la dll e un file aggiuntivo, che è il manifest della soluzione.

Step 5 - In Esplora soluzioni, vedrai una cartella chiamata Pacchetto e se la espandi, vedrai un file chiamato Package.package. Fai doppio clic su quel file e vedrai il progettista della soluzione.

Questo designer sta dimostrando che attualmente è presente una sola funzionalità nella soluzione e che la funzionalità fa riferimento a tre manifesti di elementi, Contatti, Pagina del sito e Azione.

Questo designer è un editor di un documento XML proprio come il designer di funzionalità.

Il manifesto della soluzione per questo proxy è semplice. Indica solo che qui è un assembly che deve essere distribuito chiamato FeaturesandElemenest.dll e lo distribuiremo alGlobalAssemblyCache.

Indica anche che abbiamo una funzionalità con questo Manifesto delle funzionalità. Se torniamo alla caratteristica e guardiamo il suo manifest, indica che ci sono i tre manifest degli elementi e la nostra pagina aspx.

Distribuzione della soluzione farm

Ora che sappiamo cosa sono i pacchetti di soluzioni e cosa contengono, dobbiamo imparare a distribuirli.

Per distribuire una soluzione Farm, si fornisce il pacchetto della soluzione creato da Visual Studio all'amministratore di SharePoint. Utilizzeranno PowerShell o Amministrazione centrale o una combinazione di entrambi gli strumenti per distribuire il pacchetto.

Diamo un'occhiata alla distribuzione della soluzione Farm.

Step 1 - Vai a Funzionalità ed elementi nel progetto Visual Studio.

Questo progetto ha una caratteristica con tre elementi. Quando si distribuisce una soluzione Farm, il contenuto della soluzione viene copiato nelle cartelle di sistema di SharePoint come mostrato di seguito:

Step 2 - Ora andiamo a List Designer, quindi cambia il titolo in Contacts-Change 1 e quindi fai clic sul pulsante Salva.

Step 3- Ora vai alle proprietà del progetto e quindi seleziona SharePoint nel riquadro di sinistra. NelActive Deployment Configuration opzione, scegli l'opzione Default dall'elenco a discesa.

Step 4- In Esplora soluzioni, fai clic con il pulsante destro del mouse sul progetto e scegli Distribuisci. Una volta terminata la distribuzione, aggiorna il tuo sito e vedrai il cambiamento.

In questo capitolo, tratteremo l'implementazione delle soluzioni Sandbox. La distribuzione di una soluzione Sandbox è molto più semplice della distribuzione di una soluzione Farm.

È simile al caricamento di un documento in una raccolta documenti. Al termine dello sviluppo, prenderai il pacchetto della soluzione e invece di darlo all'amministratore di SharePoint, lo darai a un utente finale, qualcuno con privilegi di proprietario della raccolta siti. Quindi prenderanno il pacchetto e lo caricheranno nella raccolta di soluzioni di raccolta siti.

Proprio come con le soluzioni Farm, gli strumenti in Visual Studio automatizzano questo processo di distribuzione durante lo sviluppo.

Diamo uno sguardo a un semplice esempio di distribuzione della soluzione sandbox. È molto più semplice della distribuzione della soluzione Farm.

Step 1 - Qui dobbiamo creare una nuova raccolta siti e chiamarla Demo 1.

Step 2 - Cambia il nome dell'elenco dei contatti in Contatti nel progetto FeaturesAndElements.

Step 3- Ritira la soluzione facendo clic con il pulsante destro del mouse sul progetto e scegliendo Ritira. Se torniamo alle cartelle di sistema di SharePoint, noterai che la nostra cartella Feature è assente.

Successivamente, se andiamo a Manage site features, non dovremmo vedere la funzione di esempio.

Step 4- Torna al progetto Visual Studio, fai clic sul progetto in Esplora soluzioni e poi vai alla finestra delle proprietà. Cambia la soluzione Sandbox da False a True.

Viene visualizzata una finestra di dialogo di avvertenza.

Questo ci dà un'indicazione che alcuni degli elementi aggiunti al progetto Visual Studio non funzioneranno con le soluzioni Sandbox e alcune delle API di SharePoint. Alcuni dei tipi all'interno del modello a oggetti di SharePoint Server non sono compatibili con le soluzioni Sandbox.

Fare clic su Sì per apportare la modifica. In questo caso, la creazione di una soluzione sandbox equivale alla creazione di una soluzione farm, ma il processo di distribuzione è completamente diverso.

Con la soluzione sandbox, invece di distribuire i file nelle cartelle di sistema di SharePoint, li distribuiamo nel database del contenuto di SharePoint.

Step 5- Vai alle impostazioni del sito. Sotto le gallerie di Web Designer, c'è la galleria delle soluzioni.

Step 6 - Fare clic sul collegamento Soluzioni e verrà visualizzata la pagina seguente in cui distribuiamo le nostre soluzioni sandbox.

Hai finito con lo sviluppo. Invece di dare il pacchetto della soluzione all'amministratore di SharePoint e poi fargli usare PowerShell o Amministrazione centrale per distribuire la soluzione Farm, puoi dare il tuo pacchetto a un utente finale, qualcuno con privilegi di proprietario della raccolta siti e quindi possono caricare la soluzione in la galleria delle soluzioni.

Step 7 - Torna a Visual Studio, fai clic con il pulsante destro del mouse e seleziona Pubblica su file system.

Clicca il Publish pulsante per pubblicare il nuovo pacchetto della soluzione nella cartella del pacchetto.

Vedrai il pacchetto nella cartella Pacchetto.

Step 8- Ora vai al sito di SharePoint. Fare clic sull'opzione del pulsante Carica soluzione sulla barra multifunzione.

Step 9- Sfoglia la tua soluzione FeaturesAndElements. Fare clic su OK.

Vedrai il seguente dialogo.

Step 10 - È sufficiente fare clic sul pulsante Attiva per attivare la soluzione sandbox

Step 11 - Vai alle funzionalità del sito Gestisci.

Ora vedrai la tua caratteristica di esempio e quando fai clic su Attiva, dovresti ottenere lo stesso comportamento che avevamo visto prima.

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 o 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 completata la creazione dell'app, la inserirai 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 code behind 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 l'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 l'accesso con successo al sito di SharePoint, vedrai 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 Ambito.

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.