SharePoint - Caratteristiche ed elementi

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 si modifica da 105 a 107, si otterrà 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.