Distribuire elementi di siti mediante l'utilizzo di elementi Feature (SharePoint Foundation 2010)

 

Si applica a: SharePoint Foundation 2010

Ultima modifica dell'argomento: 2016-11-30

In questo articolo viene illustrato come distribuire personalizzazioni di elementi di siti sviluppati mediante elementi Feature. Utilizzando elementi Feature, è possibile controllare l'ambito all'interno del quale la personalizzazione del sito può essere attivata e disattivata e distribuire agevolmente le personalizzazioni tra più server farm diverse.

Contenuto della sezione:

  • Che cos'è un elemento Feature?

  • Quando utilizzare gli elementi Feature

  • Creare un elemento Feature

  • Installare e attivare un elemento Feature mediante Windows PowerShell

Che cos'è un elemento Feature?

Un elemento Feature è un contenitore di diverse estensioni definite per SharePoint Foundation 2010 ed è costituito da un insieme di file XML che vengono distribuiti ai server Web front-end e ai server applicazioni. È possibile distribuire un elemento Feature come parte di un pacchetto della soluzione e attivare singolarmente un elemento Feature nei siti di SharePoint Foundation.

Gli elementi Feature rendono meno complesse le operazioni di creazione di semplici personalizzazioni dei siti e consentono di ovviare alla necessità di copiare grandi blocchi di codice per modificare semplici funzionalità, con una conseguente riduzione dei problemi di controllo delle versioni e di incoerenza che potrebbero verificarsi tra server Web front-end.

Gli elementi Feature semplificano l'attivazione o la disattivazione di funzionalità durante una distribuzione. Gli amministratori possono modificare con facilità il modello o la definizione di un sito attivando o disattivando un particolare elemento Feature nell'interfaccia utente.

Un elemento è un'unità atomica all'interno di un elemento Feature. L'elemento Feature viene utilizzato in un file Feature.xml per definire una funzionalità e specificare il percorso degli assembly, dei file, delle dipendenze o delle proprietà da cui è supportata. Un elemento Feature include un file Feature.xml e un numero qualsiasi di file che descrivono i singoli elementi. In un file Onet.xml viene utilizzato un altro elemento Feature proveniente da uno schema diverso per attivare un elemento Feature quando un sito viene creato a partire dalla definizione di sito.

Un file Feature.xml in genere punta a uno o più file XML il cui tag <Elements> principale contiene le definizioni degli elementi che supportano la funzionalità. Gli elementi in SharePoint Foundation 2010 spesso corrispondono ai nodi discreti del file Onet.xml o Schema.xml di Microsoft Office SharePoint Portal Server 2003. Esistono diversi tipi di elementi, ad esempio una voce di menu personalizzata o un gestore eventi.

Quando utilizzare gli elementi Feature

Gli elementi Feature rappresentano il metodo consigliato per distribuire parti di funzionalità, personalizzazioni o modifiche relative alla configurazione nei server Web front-end. Garantiscono infatti la flessibilità necessaria per gestire la funzionalità per l'intera durata del ciclo di vita, inclusi l'attivazione, l'aggiornamento e l'eventuale disattivazione.

Gli elementi Feature possono essere utilizzati per distribuire elementi di siti sviluppati in uno o più scenari seguenti:

  • Necessità di attivazione e disattivazione   Quando si distribuiscono personalizzazioni di elementi dei siti in un elemento Feature, è possibile installare, attivare e disattivare la funzionalità utilizzando Windows PowerShell oppure il modello a oggetti. È inoltre possibile attivare e disattivare una funzionalità tramite il sito Web Amministrazione centrale.

  • Flessibilità dell'ambito   È possibile attivare un elemento Feature per un singolo ambito, ad esempio una farm, un'applicazione Web, una raccolta siti o un sito Web.

  • Implementazione distribuita semplificata   È possibile distribuire facilmente un elemento Feature in più server farm come parte di una soluzione.

  • Controllo tramite il modello a oggetti degli elementi Feature   Il modello a oggetti degli elementi Feature consente di specificare l'elenco delle funzionalità installate in un determinato ambito e di controllare se devono essere attivate a livello di farm e di sito.

Utilizzare pacchetti delle soluzioni per inserire in un pacchetto gli elementi Feature da distribuire in ambienti diversi. Ad esempio, utilizzare un pacchetto della soluzione per distribuire le personalizzazioni tra workstation di sviluppo e una farm di integrazione, nonché tra una farm di integrazione o workstation client di creazione e modifica e farm pilota o di produzione.

Creare un elemento Feature

Quando si crea una pagina Web personalizzata in SharePoint Foundation 2010 mediante il browser o SharePoint Designer, la pagina ASPX può appartenere solo alla raccolta siti radice del server in cui è in esecuzione SharePoint Foundation 2010. Per creare una pagina all'interno di una raccolta siti disponibile all'intera farm e in tutte le raccolte siti, utilizzare una soluzione per distribuire la pagina nella cartella \14\Template\Layouts mediante l'elemento TemplateFiles nel file manifesto della soluzione.

Una procedura consigliata per una farm consiste nel distribuire gli elementi Feature utilizzando un pacchetto della soluzione. Se è necessario ricreare un server o viene aggiunto un altro server alla farm, l'elemento Feature non dovrà essere aggiunto manualmente ai singoli server Web front-end. Utilizzando pacchetti delle soluzioni, è possibile distribuire elementi Feature nuovi e aggiornati all'interno della farm e sincronizzare un server Web front-end in modo che il relativo stato sia coerente con quello degli altri server della farm.

Per controllare la disponibilità di una pagina personalizzata in una raccolta siti o in un sito Web, distribuire la pagina Web personalizzata come elemento Feature di SharePoint come parte di una soluzione. Utilizzare l'elemento module nel file Feature.xml per distribuire una pagina Web avendo come ambito la raccolta siti e il sito Web. I moduli vengono spesso utilizzati per implementare una pagina web part nel sito.

Un elemento Feature distribuito come parte di una soluzione viene installato automaticamente. Se si decide di distribuirlo manualmente, sarà necessario installarlo e attivarlo. Vedere Install and activate a Feature by using Windows PowerShell più avanti in questo articolo.

Per creare e distribuire un elemento Feature personalizzato

  1. Creare un file Feature.xml. Di seguito è riportato un file Feature.xml di esempio, necessario per assegnare alla caratteristica un ID univoco e fare riferimento al file Module.xml.

    <?xml version="1.0"?>
    <Feature Id="8C4DD0CB-5A94-44da-9B7F-E9ED49C2B2DC" Title=
    "Custom Web page"
    Description="This simple example feature adds an ASPX page 
    with a hosted XmlFormView control" 
    Version="1.0.0.0" Scope="Web"
    xmlns="https://schemas.microsoft.com/sharepoint/">
    <ElementManifests>
        <ElementManifest Location="Module.xml"/>
    </ElementManifests>
    </Feature>
    
  2. Creare un file Module.xml. Di seguito è riportato un file Module.xml di esempio, contenente informazioni sulla pagina o sulle pagine che fanno parte della soluzione.

    <?xml version="1.0"?>
    <Elements xmlns="https://schemas.microsoft.com/sharepoint/">
        <module name="file" url="" path="">
            <file url="XmlFormViewPage.aspx" type="ghostable"> </file>
        </module>
    </Elements>
    
  3. Impostare il valore url del file sul nome della pagina ASPX.

  4. Aggiungere una sottocartella per la definizione dell'elemento Feature all'interno della cartella di installazione degli elementi Feature nel computer server, che in genere si trova nel percorso %COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\14\TEMPLATE\FEATURES.

    Importante

    Una procedura consigliata consiste nell'utilizzare nomi qualificati dettagliati per le sottocartelle che vengono create per le definizioni di elementi Feature. Tale procedura riduce al minimo la probabilità che vengano aggiunti più elementi Feature con gli stessi nomi e che venga sovrascritto il file Feature.xml di un altro elemento Feature. Ad esempio, utilizzare Contratto_RisorseUmane e Contratto_Contabilità anziché Contratto.

  5. Aggiungere la pagina con estensione aspx personalizzata a tale sottocartella per la definizione dell'elemento Feature.

  6. Aggiungere i file Feature.xml e Module.xml nello stesso percorso.

  7. Aggiungere l'elemento Feature a un pacchetto della soluzione.

    È possibile utilizzare Visual Studio 2010 per aggiungere l'elemento Feature a una soluzione oppure aggiungere manualmente un elemento FeatureManifests al file Manifest.xml della soluzione.

  8. Creare il pacchetto della soluzione.

    È possibile utilizzare Visual Studio 2010 per creare il pacchetto della soluzione. In alternativa, è possibile utilizzare lo strumento Makecab.exe.

  9. Importare e distribuire il pacchetto della soluzione.

    Aggiungere la soluzione all'archivio delle soluzioni utilizzando il cmdlet Add-SPSolution di Windows PowerShell e quindi distribuire la soluzione dall'archivio utilizzando il sito Web Amministrazione centrale o Windows PowerShell.

Per ulteriori informazioni sull'utilizzo di Visual Studio 2010 per aggiungere elementi Feature a un pacchetto della soluzione, vedere Creazione di pacchetti delle soluzioni SharePoint (https://go.microsoft.com/fwlink/?linkid=187035&clcid=0x410). Per ulteriori informazioni sulla creazione manuale di un pacchetto della soluzione o sull'utilizzo dello strumento Makecab.exe per creare il pacchetto, vedere Creazione di una soluzione (le informazioni potrebbero essere in lingua inglese) (https://go.microsoft.com/fwlink/?linkid=187036&clcid=0x410). Per ulteriori informazioni sulla distribuzione di soluzioni, vedere Distribuire pacchetti delle soluzioni (SharePoint Foundation 2010).

Installare e attivare un elemento Feature mediante Windows PowerShell

È possibile installare e attivare un elemento Feature utilizzando Windows PowerShell o il modello a oggetti. È inoltre possibile attivare un elemento Feature utilizzando la pagina Gestisci caratteristiche applicazione Web o la pagina Caratteristiche della raccolta siti o del sito in cui si desidera attivare l'elemento Feature. L'installazione di un elemento Feature consente di rendere noti la relativa definizione e i relativi elementi in un'intera server farm, mentre l'attivazione di un elemento Feature consente di renderlo disponibile in un determinato ambito.

Nota

Gli elementi Feature distribuiti come parte di un pacchetto della soluzione vengono installati nel corso della distribuzione, pertanto non è necessaria alcuna installazione manuale.

Gli elementi Feature vengono installati nella cartella 14\Template\Features, inserendo ognuno di tali elementi nella relativa sottocartella. Nella radice di tale cartella si trova un file Feature.xml che definisce il contenuto dell'elemento Feature. È necessario installare i singoli elementi Feature prima di poterli utilizzare e, a meno che l'ambito non sia la farm, è necessario attivarli dopo l'installazione. Se un elemento Feature ha come ambito la farm o l'applicazione Web, verrà attivato automaticamente.

Per disinstallare un elemento Feature in modo che la relativa definizione non sia più disponibile all'interno di una server farm, è necessario innanzitutto disattivare l'elemento utilizzando il cmdlet Disable-SPFeature di Windows PowerShell, a meno che l'ambito dell'elemento non siano applicazioni Web o farm. Dopo avere disattivato l'elemento Feature, sarà possibile utilizzare il cmdlet Uninstall-SPFeature per disinstallarlo. Per ulteriori informazioni, vedere Uninstall-SPFeature. Al termine della disinstallazione di un elemento Feature, reimpostare Internet Information Services (IIS) in modo da rendere effettive le modifiche.

Per disattivare un elemento Feature in modo che diventi inattivo nell'ambito assegnato in origine senza disinstallarlo, è possibile utilizzare il cmdlet Disable-SPFeature. Per ulteriori informazioni, vedere Disable-SPFeature.

Utilizzare la procedura seguente per installare e attivare un elemento Feature.

Per installare un elemento Feature mediante Windows PowerShell

  1. Verificare che vengano soddisfatti i requisiti minimi seguenti: vedere Add-SPShellAdmin.

  2. Fare clic sul pulsante Start e scegliere Tutti i programmi.

  3. Fare clic su Prodotti Microsoft SharePoint 2010.

  4. Fare clic su Shell di gestione SharePoint 2010.

  5. Al prompt dei comandi di Windows PowerShell digitare il comando seguente:

    Install-SPFeature -path <Path> [-force]
    

    Dove:

    • <Path> è un percorso di file valido, ad esempio MioElementoFeature. Il percorso dell'elemento Feature deve essere letterale rispetto al nome della cartella 14\Template\Features. Il nome di file Feature.xml è implicito e non deve essere specificato.

Per ulteriori informazioni, vedere Install-SPFeature.

Nota

Per l'esecuzione di attività amministrative dalla riga di comando è consigliabile utilizzare Windows PowerShell. Lo strumento da riga di comando Stsadm è deprecato, ma è stato incluso per garantire la compatibilità con le versioni precedenti del prodotto.

Per attivare un elemento Feature mediante Windows PowerShell

  1. Verificare che vengano soddisfatti i requisiti minimi seguenti: vedere Add-SPShellAdmin.

  2. Fare clic sul pulsante Start e scegliere Tutti i programmi.

  3. Fare clic su Prodotti Microsoft SharePoint 2010.

  4. Fare clic su Shell di gestione SharePoint 2010.

  5. Al prompt dei comandi di Windows PowerShell digitare il comando seguente:

    Enable-SPFeature -Identity <FeatureID> [-url] <URLname> [-force]
    

    Dove:

    • <FeatureID> è il nome della cartella dell'elemento Feature all'interno della cartella 14\Template\Features. Deve essere un percorso di file valido, ad esempio MioPersonalizzato.

    • <URLname> è l'URL padre dell'elemento Feature dell'applicazione Web, della raccolta siti o del sito Web per cui l'elemento viene attivato, ad esempio http://miosito.

Per ulteriori informazioni, vedere Enable-SPFeature.

Nota

Per l'esecuzione di attività amministrative dalla riga di comando è consigliabile utilizzare Windows PowerShell. Lo strumento da riga di comando Stsadm è deprecato, ma è stato incluso per garantire la compatibilità con le versioni precedenti del prodotto.