Distribuire pacchetti delle soluzioni (SharePoint Server 2010)

 

Si applica a: SharePoint Server 2010

Ultima modifica dell'argomento: 2016-11-30

In questo articolo vengono descritti i pacchetti delle soluzioni e ne viene illustrato il ruolo durante la distribuzione di personalizzazioni create e sviluppate in Microsoft SharePoint Server 2010. Oltre alle procedure per importare e distribuire pacchetti delle soluzioni, è incluso un esempio di compilazione e distribuzione di un pacchetto della soluzione mediante Microsoft Visual Studio 2010.

Contenuto dell'articolo:

Per pacchetto della soluzione si intende un pacchetto di distribuzione che consente di inviare ai server Web o ai server applicazioni della server farm il lavoro di sviluppo personalizzato eseguito in SharePoint Server 2010. È possibile utilizzare soluzioni per inserire in un pacchetto e distribuire caratteristiche, definizioni di sito, modelli, pagine di layout, web part, fogli di stile CSS e assembly personalizzati.

In questo articolo non viene illustrata la distribuzione di soluzioni in modalità sandbox. È possibile distribuire una soluzione di Microsoft SharePoint Server 2010 direttamente nella farm di SharePoint Server oppure in una sandbox. Il termine sandbox indica un ambiente di esecuzione limitato che consente ai programmi di accedere solo a specifiche risorse e impedisce che gli eventuali problemi che si verificano nella sandbox influiscano sugli altri componenti dell'ambiente server. Per ulteriori informazioni, vedere Panoramica delle soluzioni in modalità sandbox (SharePoint Server 2010).

Il pacchetto di una soluzione include un file CAB con estensione wsp e un file di manifesto. È consigliabile utilizzare Visual Studio 2010 Tools per SharePoint 2010 per sviluppare soluzioni SharePoint e inserirle in pacchetti. È inoltre possibile creare pacchetti delle soluzioni manualmente utilizzando strumenti quali Makecab.exe e SharePoint Packman.

I componenti che è possibile includere nel pacchetto di una soluzione sono:

  • Assembly .NET Framework, in genere assembly di web part e assembly di ricevitori di eventi.

  • File di distribuzione, ad esempio file di risorse, pagine o altri file di supporto.

  • Caratteristiche, che consentono di attivare e disattivare codice in un sito Web e offrono funzionalità che includono elementi quali elenchi, raccolte, campi e tipi di contenuto personalizzati.

  • Nuovi modelli e definizioni di sito.

  • Configurazioni che devono essere eseguite a livello di server Web, ad esempio la distribuzione di personalizzazioni nei file Web.config per la registrazione di web part. È inoltre possibile modificare queste configurazioni con una caratteristica distribuita con una caratteristica.

  • Contenuto Web, ad esempio pagine Web e immagini chiamate da pagine Web. Se è necessario distribuire contenuto Web in un ambiente disconnesso, è consigliabile utilizzare un pacchetto di distribuzione del contenuto.

Contenuto della sezione:

Una delle procedure consigliate per la distribuzione di personalizzazione prevede l'utilizzo di pacchetti delle soluzioni nell'ambito di un processo di gestione del ciclo di vita delle applicazioni diretto, sicuro e coerente. I pacchetti delle soluzioni consentono infatti di apportare facilmente modifiche alle caratteristiche e alle funzionalità di siti Web già creati.

È possibile utilizzare pacchetti delle soluzioni per distribuire nuove soluzioni e aggiornare soluzioni esistenti nella farm. È possibile inserire in un unico file di pacchetto tutte le entità SharePoint Server, aggiungere il file all'archivio delle soluzioni e distribuirlo nei server Web front-end nella farm. Utilizzare pacchetti delle soluzioni per sincronizzare un server Web front-end in modo che il relativo stato sia coerente con quello di altri server Web della farm.

È possibile utilizzare pacchetti di soluzioni per distribuire personalizzazioni di elementi di siti creati da una farm di integrazione a una farm di creazione e modifica, pilota o di produzione. In SharePoint Server gli utenti possono salvare un sito personalizzato come modello e creare in tal modo un file del pacchetto della soluzione con estensione wsp che può essere distribuito in un'altra farm.

Non è possibile utilizzare pacchetti delle soluzioni per distribuire personalizzazioni tra questi ambienti:

  • Dalle workstation degli sviluppatori a una farm di integrazione o a un sistema di gestione della configurazione software

  • Da una farm di integrazione e da workstation client di creazione e modifica a farm pilota o di produzione

Le soluzioni farm vengono distribuite localmente oppure mediante un servizio timer. Sia la distribuzione locale che quella basata su timer possono essere attivate mediante istruzioni della riga di comando o a livello di programmazione mediante il modello a oggetti.

Distribuzione locale

In una distribuzione locale i file della soluzione vengono distribuiti solo nel computer da cui è stata avviata l'operazione di distribuzione. La soluzione non viene contrassegnata come "distribuita" nel database di configurazione fino a quando i file della soluzione non vengono distribuiti in tutti i server applicabili della server farm. In seguito vengono installate le caratteristiche della soluzione e viene eseguito il commit dei file dello schema e di definizione nell'archivio di configurazione.

Distribuzioni basate sul servizio timer

Nelle distribuzioni basate sul servizio timer è la distribuzione stessa a creare un processo timer che viene quindi prelevato dal servizio timer in ogni server Web della server farm. Inizialmente vengono analizzati il manifesto e i manifesti delle caratteristiche al fine di individuare i file assembly e _layouts, che vengono copiati nei percorsi appropriati. Tutti gli altri file contenuti in una directory di caratteristica vengono copiati nella directory relativa. Dopo che i file della soluzione sono stati copiati nei computer di destinazione, viene pianificato un ripristino della configurazione per tutti i server Web front-end. In seguito al ripristino viene eseguita la distribuzione dei file e viene riavviato Microsoft Internet Information Services (IIS). Le caratteristiche della soluzione vengono quindi registrate e viene eseguito il commit dei file dello schema e di definizione nell'archivio di configurazione.

Per ulteriori informazioni sull'archivio delle soluzioni, sulla distribuzione e sulla sincronizzazione, vedere l'argomento relativo alla distribuzione di una soluzione (le informazioni potrebbero essere in lingua inglese) (http://go.microsoft.com/fwlink/?linkid=186995&clcid=0x410) nell'SDK (Software Development Kit) di Microsoft SharePoint 2010

Prima di poter distribuire un pacchetto della soluzione, è necessario aggiungerlo al database delle soluzioni di una farm SharePoint Server.

ImportanteImportant
È necessario essere membri del gruppo Administrators in tutti i computer in cui viene eseguito Windows PowerShell.
Per importare un pacchetto della soluzione mediante Windows PowerShell
  1. Verificare che siano 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 SharePoint 2010 Management Shell.

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

    Add-SPSolution -LiteralPath <SolutionPath>
    

La soluzione verrà aggiunta all'archivio delle soluzioni della farm. Per utilizzare la soluzione, eseguire la procedura descritta nella sezione successiva di questo articolo. Per ulteriori informazioni, vedere Add-SPSolution.

È possibile distribuire soluzioni importate utilizzando il sito Web Amministrazione centrale o Windows PowerShell. Per poter accedere a una soluzione aggiunta all'archivio delle soluzioni mediante il cmdlet Add-SPSolution di Windows PowerShell, è necessario distribuirla in un sito.

NotaNote
Non è possibile aggiungere una soluzione all'archivio delle soluzioni utilizzando la pagina Gestione soluzioni di Amministrazione centrale.

Nelle procedure seguenti viene descritto come distribuire in un sito della farm una soluzione importata il sito Web Amministrazione centrale o Windows PowerShell.

Per distribuire una soluzione utilizzando Amministrazione centrale
  1. Nella home page Amministrazione centrale fare clic su Impostazioni di sistema.

  2. Nella sezione Gestione farm fare clic su Gestisci soluzioni farm.

  3. Nella pagina Gestione soluzioni fare clic sulla soluzione che si desidera distribuire.

  4. Nella pagina Proprietà soluzione fare clic su Distribuisci soluzione.

  5. Nella sezione Data e ora distribuzione della pagina Distribuisci soluzione selezionare una delle opzioni seguenti:

    • Adesso.

    • Data/ora specificate. Se si seleziona questa opzione, specificare una data e un'ora nelle apposite caselle. È consigliabile selezionare una data e un'ora in cui il carico nei server di destinazione è ridotto.

  6. Nell'elenco Applicazione Web specifica nella sezione Destinazione distribuzione fare clic su Tutte le applicazioni Web oppure selezionare un'applicazione Web specifica.

  7. Fare clic su OK.

Per distribuire un pacchetto della soluzione in una singola applicazione Web utilizzando 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 SharePoint 2010 Management Shell.

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

    Install-SPSolution -Identity <SolutionName> -WebApplication <URLname>
    

    Dove:

    • <SolutionName> rappresenta il nome della soluzione.

    • <URLname> rappresenta l'URL dell'applicazione Web in cui si desidera distribuire la soluzione importata.

    Per impostazione predefinita, la soluzione viene distribuita immediatamente. È inoltre possibile pianificare la distribuzione utilizzando il parametro time. Per ulteriori informazioni, vedere Install-SPSolution.

Per distribuire un pacchetto della soluzione in tutte le applicazioni Web utilizzando 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 SharePoint 2010 Management Shell.

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

    Install-SPSolution -Identity <SolutionName> -AllWebApplications -time <TimeToDeploy> -GACDeployment -CASPolicies
    

    Dove:

    • GACDeployment è il parametro che consente a SharePoint Server 2010 di distribuire gli assembly nella cache di assembly globale.

    • CASPolicies consente la creazione di un file dei criteri di sicurezza dell'accesso di codice personalizzato e la relativa attivazione nel file Web.config della raccolta siti di destinazione.

    Per impostazione predefinita, la soluzione viene distribuita immediatamente. È inoltre possibile pianificare la distribuzione utilizzando il parametro time.

SharePoint Server 2010 non include uno strumento per la creazione di pacchetti delle soluzioni. In questa sezione vengono descritti alcuni metodi che è possibile utilizzare per creare pacchetti delle soluzioni contenenti elementi di siti sviluppati ed elementi della struttura del sito.

Visual Studio 2010

È possibile utilizzare Visual Studio 2010 per raggruppare elementi di SharePoint correlati in un elemento Feature e quindi inserire più elementi Feature, definizioni di sito, assembly e altri file in un unico pacchetto (file con estensione wsp) per effettuare la distribuzione in server che eseguono SharePoint Server 2010. È possibile utilizzare Visual Studio 2010 per eseguire il debug e il testing del file wsp nel server che esegue SharePoint Server 2010 nel computer di sviluppo. È inoltre possibile personalizzare i passaggi di distribuzione in tale computer.

Gli sviluppatori possono creare soluzioni SharePoint in Visual Studio 2010 e ottenere file con estensione wsp utilizzando il processo di compilazione automatizzato. È inoltre possibile utilizzare l'integrazione di Visual Studio 2010 per aggiungere il codice sorgente del progetto SharePoint di Visual Studio utilizzato per generare il file con estensione wsp al sistema di controllo del codice sorgente. Visual Studio 2010 consente di importare file con estensione wsp e di creare progetti per estenderli ulteriormente e per creare nuovi file con estensione wsp. L'origine principale dei file con estensione wsp importati in Visual Studio 2010 è costituita dai modelli salvati da siti mediante il comando Salva come modello nei siti di SharePoint Server 2010. È possibile utilizzare questi modelli per salvare tutte le personalizzazioni dei siti in una soluzione SharePoint.

Per ulteriori informazioni, vedere Sviluppo per SharePoint in Visual Studio (http://go.microsoft.com/fwlink/?linkid=187000&clcid=0x410).

Makecab

È possibile creare manualmente pacchetti delle soluzioni utilizzando strumenti quali Makecab.exe. Lo strumento Makecab.exe accetta un puntatore a un file con estensione ddf, che descrive la struttura del file CAB. Il formato di un file con estensione ddf è simile a quello di un file con estensione inf ed è pertanto necessario dichiarare un'intestazione standard e quindi enumerare, uno per riga, tutti i file in base alla posizione su disco e indicarne la posizione nel file CAB.

Lo strumento Makecab.exe è scaricabile dal sito Web Microsoft Cabinet Software Development Kit (http://go.microsoft.com/fwlink/?linkid=107292&amp;clcid=0x410).

SharePoint PackMan

Lo strumento SharePoint PackMan semplifica il processo di inserimento in pacchetti e di gestione delle soluzioni SharePoint. È infatti sufficiente trascinare e rilasciare i file nello strumento per creare un file con estensione ddf e un file manifest.xml e per eseguire Makecab.exe dal prompt dei comandi. SharePoint PackMan semplifica inoltre l'aggiunta, la distribuzione, il ritiro e l'eliminazione di una o più soluzioni nella farm, nelle applicazioni Web o nelle raccolte siti.

Lo strumento SharePoint PackMan è disponibile per il download da CodeBox all'indirizzo http://codebox/sppackman (http://go.microsoft.com/fwlink/?linkid=107292&clcid=0x410).

Se necessario, è possibile utilizzare Visual Studio 2010 per apportare una delle personalizzazioni seguenti nelle soluzioni SharePoint Server 2010 e personalizzare i pacchetti delle soluzioni. È inoltre possibile apportare tali personalizzazioni creando manualmente pacchetti delle soluzioni SharePoint.

  • Distribuire assembly .NET Framework nella cartella delle applicazioni privata anziché nella cache di assembly globale.

  • Aggiungere alla soluzione autorizzazioni di sicurezza dell'accesso di codice da applicare durante la distribuzione.

  • Utilizzare nomi diversi da quelli predefiniti per le cartelle delle caratteristiche.

  • Localizzare la soluzione.

  • Associare gestori eventi delle caratteristiche ad alcuni tipi di soluzioni di SharePoint Foundation 2010, ad esempio soluzioni web part.

  • Aggiungere risorse (file XML, immagini, file con estensione dll e assembly) al pacchetto della soluzione.

Nella maggior parte degli scenari di sviluppo di SharePoint Server 2010 è consigliabile utilizzare Visual Studio 2010 Tools per SharePoint 2010 per sviluppare soluzioni SharePoint e inserirle in pacchetti. In Visual Studio 2010 il processo di distribuzione copia il file con estensione wsp nel server che esegue SharePoint Server 2010, installa la soluzione e quindi attiva le caratteristiche.

È inoltre possibile creare manualmente un file di soluzione. Di seguito è descritta la procedura di base per creare un file di soluzione:

  1. Raccogliere tutti i singoli file della soluzione in una cartella. Non esistono indicazioni specifiche per l'esecuzione di questa operazione, ma è consigliabile separare i diversi tipi di file della soluzione all'interno di sottocartelle.

  2. Creare un file manifest.xml con l'elenco dei componenti della soluzione.

  3. Creare un file con estensione ddf che definisce la struttura del file della soluzione. Questo file contiene l'elenco dei singoli file della soluzione che determinano il file con estensione wsp di output.

  4. Eseguire Makecab.exe utilizzando il file con estensione ddf come input e il file con estensione wsp come output.

Il manifesto della soluzione, denominato sempre manifest.xml, viene archiviato nella radice di un file di una soluzione. Questo file contiene l'elenco di caratteristiche, definizioni di sito, file di risorse, file di web part e assembly da elaborare. Non definisce la struttura di file, il che significa che i file inclusi in una soluzione ma non elencati nel file manifest.xml non vengono elaborati in alcun modo.

Di seguito è riportato un esempio della struttura di un file manifest.xml in XML.

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

<Solution xmlns="http://schemas.microsoft.com/sharepoint/"

SolutionId="{79d1a62e-3627-11db-963e-00e08161165f}"

ResetWebServer="TRUE">

    <Assemblies>

        <Assembly DeploymentTarget="GlobalAssemblyCache"

Location="Example.Sharepoint.Webparts\

Example.SharePoint.WebParts.dll">

            <SafeControls>

                <SafeControl Assembly="Example.Sharepoint.Webparts,

Version=1.0.0.0, Culture=Neutral, PublicKeyToken=63cce650e8605f5d"

Namespace="Example.Sharepoint.Webparts" TypeName="*"/>

            </SafeControls>

        </Assembly>

        <Assembly DeploymentTarget="GlobalAssemblyCache"

Location="Example.Sharepoint.Timer/Example.Sharepoint.Timer.dll"/>

    </Assemblies>

    <FeatureManifests>

        <FeatureManifest Location="Example.Sharepoint.Timer\Feature.xml"/>

        <FeatureManifest Location="Example.CustomType\Feature.xml"/>

        <FeatureManifest Location="Example.ExampleLibrary\Feature.xml"/>

        <FeatureManifest Location="Example.Columns\Feature.xml"/>

        <FeatureManifest Location="Example.Workflow.ProcessExample\Feature.xml"/>

        <FeatureManifest Location="Example.Workflow.ProvisionExample\Feature.xml"/>

    </FeatureManifests>

    <SiteDefinitionManifests>

        <SiteDefinitionManifest Location="EXAMPLE">

            <WebTempFile Location="1033\XML\WEBTEMPExample.XML"/>

        </SiteDefinitionManifest>

    </SiteDefinitionManifests>

</Solution>

È inoltre possibile aggiungere un elemento DwpFiles per specificare file con estensione webpart o dwp oppure un elemento ResourceFiles per specificare file di risorse, definizioni di sito, risorse di applicazioni e criteri di sicurezza dell'accesso di codice.

È possibile annotare i file Feature.xml utilizzando i tag <ElementFile>.

Se la soluzione contiene caratteristiche nel tag <ElementManifests> del file Feature.xml aggiungere <ElementFile Location="..."/> per tutti i file aggiuntivi della caratteristica, ad esempio pagine ASP.NET come allitems.aspx oppure pagine master e così via.

Per ulteriori informazioni sui file manifesto della soluzione che definiscono le parti costitutive di una soluzione, vedere l'argomento relativo allo schema della soluzione (le informazioni potrebbero essere in lingua inglese) (http://go.microsoft.com/fwlink/?linkid=183466&clcid=0x410).

Per un esempio di procedura dettagliata in cui viene illustrato l'utilizzo di Visual Studio 2010 per creare, personalizzare, eseguire il debug e distribuire una definizione di elenco di SharePoint per tenere traccia delle attività del progetto, vedere Procedura dettagliata: distribuzione di una definizione di elenco attività del progetto (http://go.microsoft.com/fwlink/?linkid=189612&clcid=0x410) in MSDN Library.

Nella procedura dettagliata vengono illustrate le seguenti attività:

  • Creazione di un progetto di definizione di elenco di SharePoint contenente attività.

  • Aggiunta della definizione di elenco a una caratteristica di SharePoint.

  • Aggiunta di un ricevitore di eventi all'elenco.

  • Creazione e personalizzazione di un pacchetto di SharePoint per distribuire la caratteristica.

  • Generazione e distribuzione della soluzione SharePoint.

Quando si compila il progetto di esempio in questa procedura dettagliata, Visual Studio 2010 distribuisce automaticamente la soluzione nel server che esegue SharePoint Server 2010 nel computer di sviluppo per il test e il debug. È inoltre possibile creare un file di pacchetto della soluzione da aggiungere e distribuire in un altro computer. Per ulteriori informazioni, vedere Procedura: distribuire una soluzione SharePoint (http://go.microsoft.com/fwlink/?linkid=187004&clcid=0x410). È possibile utilizzare il cmdlet Add-SPSolution di Windows PowerShell per importare la soluzione in un altro computer.

È possibile utilizzare la pagina Gestione soluzioni di Amministrazione centrale per distribuire il pacchetto della soluzione. In alternativa, è possibile utilizzare il cmdlet Install-SPSolution di Windows PowerShell per distribuire il pacchetto della soluzione.

Nella procedura dettagliata l'ambito della caratteristica dell'elenco di progetti è il Web. Per attivare la caratteristica, nel sito Web espandere il menu Azioni sito e fare clic su Impostazioni sito. In Azioni sito fare clic su Gestisci caratteristiche sito. Nella pagina delle caratteristiche fare clic su Attiva accanto al nome della caratteristica.

Mostra: