Distribuire pacchetti delle soluzioni (SharePoint Foundation 2010)

SharePoint 2010
 

Si applica a: SharePoint Foundation 2010

Ultima modifica dell'argomento: 2016-11-30

In questo articolo vengono illustrati i pacchetti delle soluzioni e il ruolo che svolgono nella distribuzione di personalizzazioni create e sviluppate in Microsoft SharePoint Foundation 2010. Sono incluse le procedure di importazione e distribuzione dei pacchetti delle soluzioni e viene descritto un esempio di creazione e distribuzione di un pacchetto della soluzione mediante l'utilizzo di Microsoft Visual Studio 2010.

Contenuto dell'articolo:

Un pacchetto della soluzione è 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 Foundation 2010. Utilizzare le soluzioni per inserire in un pacchetto e distribuire definizioni di sito, modelli, pagine di layout, web part, fogli di stile CSS, assembly ed elementi Feature personalizzati.

In questo articolo non viene illustrata la distribuzione di soluzioni in modalità sandbox. È possibile distribuire una soluzione Microsoft SharePoint Foundation 2010 direttamente nella farm di SharePoint Foundation 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 Foundation 2010).

Un pacchetto della soluzione ha estensione wsp e include un file CAB e un file manifesto. È consigliabile utilizzare Visual Studio 2010 Tools per SharePoint 2010 per sviluppare soluzioni SharePoint e inserirle in un pacchetto. È 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 di .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.

  • Elementi Feature, che consentono di attivare e disattivare codice in un sito Web e offrire funzionalità che includono elementi come raccolte, campi, tipi di contenuto ed elenchi personalizzati.

  • Nuovi modelli e definizioni di sito.

  • Configurazioni che devono essere eseguite a livello di server Web, ad esempio la distribuzione delle personalizzazioni nei file Web.config per la registrazione di web part. È inoltre possibile modificare tali configurazioni con un elemento Feature distribuito con un elemento Feature.

  • Contenuto Web come 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 procedura consigliata per la distribuzione delle personalizzazioni consiste nell'utilizzare pacchetti delle soluzioni come parte di un processo di gestione del ciclo di vita dell'applicazione diretto, sicuro e uniforme. I pacchetti delle soluzioni semplificano la modifica degli elementi Feature e della funzionalità dei siti Web dopo che questi sono stati creati.

È possibile utilizzare pacchetti delle soluzioni per distribuire nuove soluzioni e aggiornare quelle esistenti all'interno della farm. È possibile inserire in un pacchetto tutte le entità di SharePoint Foundation creando così un unico file, aggiungere tale file all'archivio delle soluzioni e quindi distribuirlo ai server Web front-end della farm. Utilizzare i pacchetti delle soluzioni per sincronizzare un server Web front-end in modo che il relativo stato sia coerente con quello degli altri server Web della farm.

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

È possibile creare pacchetti delle soluzioni per distribuire personalizzazioni tra questi ambienti:

  • Da workstation di sviluppo a una farm di integrazione oppure a un sistema di gestione della configurazione software

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

Le soluzioni per la farm vengono distribuite localmente oppure utilizzando un servizio timer. Entrambi questi tipi di distribuzione possono essere avviati da istruzioni della riga di comando o a livello di programmazione mediante l'utilizzo del modello a oggetti.

Distribuzione locale

In una distribuzione locale i file della soluzione vengono distribuiti solo al computer dal quale è stata avviata l'operazione di distribuzione. La soluzione non viene contrassegnata come "distribuita" nel database di configurazione finché i relativi file non vengono distribuiti a tutti i server applicabili della server farm. Le caratteristiche della soluzione vengono quindi installate e nell'archivio di configurazione viene eseguito il commit dei file dello schema e dei file di definizione.

Distribuzioni con il servizio timer

Nelle distribuzioni in cui è in uso il servizio timer viene creato un processo timer che viene prelevato dal servizio timer in ogni server Web della server farm. Il manifesto e i manifesti delle caratteristiche vengono analizzati allo scopo di individuare file assembly e _layouts che vengono copiati nei percorsi appropriati. Tutti gli altri file inclusi nella directory di una caratteristica vengono copiati nella directory corrispondente. Dopo la copia dei file della soluzione nei computer di destinazione, viene pianificato un ripristino della configurazione per tutti i server Web front-end, a seguito del quale i file vengono distribuiti e Microsoft Internet Information Services (IIS) viene riavviato. Le caratteristiche della soluzione vengono quindi registrate e nell'archivio di configurazione viene eseguito il commit dei file dello schema e dei file di definizione.

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

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

ImportanteImportant
È necessario essere membri del gruppo Administrators in qualsiasi computer che esegue Windows PowerShell.
Per importare un pacchetto della soluzione 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:

    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 le soluzioni importate utilizzando il sito Web Amministrazione centrale oppure Windows PowerShell. Dopo essere stata aggiunta all'archivio delle soluzioni mediante il cmdlet Add-SPSolution di Windows PowerShell, una soluzione deve essere distribuita a un sito prima che risulti accessibile.

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 una soluzione importata a un sito della farm mediante il sito Web Amministrazione centrale o Windows PowerShell.

Per distribuire una soluzione mediante Amministrazione centrale
  1. Nella home page di 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 della 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 a una singola applicazione Web 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-SPSolution -Identity <SolutionName> -WebApplication <URLname>
    

    Dove:

    • <SolutionName> è il nome della soluzione.

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

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

Per distribuire un pacchetto della soluzione a tutte le applicazioni Web 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-SPSolution -Identity <SolutionName> -AllWebApplications -time <TimeToDeploy> -GACDeployment -CASPolicies
    

    Dove:

    • GACDeployment è il parametro che consente a SharePoint Foundation 2010 di distribuire gli assembly nella Global Assembly Cache.

    • Il parametro CASPolicies supporta 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.

    La soluzione viene distribuita immediatamente per impostazione predefinita, ma è anche possibile pianificare la distribuzione utilizzando il parametro time.

In SharePoint Foundation 2010 non è disponibile uno strumento per creare 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 includere più elementi Feature, definizioni di sito, assembly e altri file in un unico pacchetto (file con estensione wsp) da distribuire nei server che eseguono SharePoint Foundation 2010. È possibile utilizzare Visual Studio 2010 per eseguire il debug e il test del file con estensione wsp nel server che esegue SharePoint Foundation 2010. È inoltre possibile personalizzare la procedura di distribuzione nel computer di sviluppo.

Gli sviluppatori possono creare soluzioni SharePoint in Visual Studio 2010 e generare file wsp mediante il processo di creazione automatizzato. Il codice sorgente del progetto di Visual Studio SharePoint utilizzato per generare il file wsp può inoltre essere aggiunto al sistema di controllo del codice sorgente mediante l'integrazione di Visual Studio 2010. Visual Studio 2010 è in grado di importare i file wsp e creare progetti per estenderli ulteriormente e per creare nuovi file wsp. L'origine principale dei file wsp importati in Visual Studio 2010 è costituita da modelli salvati dai siti mediante il comando Salva come modello nei siti di SharePoint Foundation 2010. Tali modelli possono essere utilizzati per salvare tutte le personalizzazioni dei siti in una soluzione SharePoint.

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

Makecab

I pacchetti delle soluzioni possono essere creati manualmente utilizzando strumenti come Makecab.exe. Tale strumento accetta un puntatore a un file con estensione ddf, che descrive la struttura del file CAB. Il formato di un file 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 in base alla posizione nel file CAB.

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

Se è necessario effettuare una qualsiasi delle personalizzazioni seguenti nelle soluzioni SharePoint Foundation 2010, è consigliabile utilizzare Visual Studio 2010 per personalizzare i pacchetti delle soluzioni. È inoltre possibile effettuare tali personalizzazioni creando manualmente pacchetti delle soluzioni di SharePoint.

  • Distribuire assembly .NET Framework nella cartella delle applicazioni privata anziché nella Global Assembly Cache.

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

  • Utilizzare nomi diversi da quelli predefiniti per le cartelle degli elementi Feature.

  • Localizzare la soluzione.

  • Associare gestori eventi degli elementi Feature ad alcuni tipi di soluzioni SharePoint Foundation 2010, ad esempio soluzioni web part.

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

Nella maggior parte degli scenari di sviluppo SharePoint Foundation 2010 è consigliabile utilizzare Visual Studio 2010 Tools per SharePoint 2010 per sviluppare soluzioni SharePoint e inserirle in un pacchetto. In Visual Studio 2010 il processo di distribuzione copia il file wsp nel server che esegue SharePoint Foundation 2010, installa la soluzione e quindi attiva gli elementi Feature.

È inoltre possibile creare manualmente un file della soluzione. I passaggi di base sono i seguenti:

  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 del file della soluzione. Questo file contiene l'elenco di elementi Feature, 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.

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

Se nella soluzione sono inclusi elementi Feature, nel tag <ElementManifests> del file Feature.xml aggiungere <ElementFile Location="..."/> per tutti i file extra della caratteristica, ad esempio le pagine ASP.NET come allitems.aspx, le pagine master e così via.

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

Per uno scenario di esempio in cui viene illustrato come utilizzare Visual Studio 2010 per creare, personalizzare, eseguire il debug e distribuire una definizione di elenco SharePoint per tenere traccia delle attività di 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.

In tale scenario vengono illustrate le attività seguenti:

  • Creazione di un progetto relativo a una definizione di elenco di SharePoint contenente le attività.

  • Aggiunta della definizione di elenco a un elemento Feature di SharePoint.

  • Aggiunta di un ricevitore di eventi all'elenco.

  • Creazione e personalizzazione di un pacchetto di SharePoint per distribuire l'elemento Feature.

  • Creazione 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 Foundation 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.

Nello scenario l'ambito dell'elemento Feature dell'elenco progetti è il Web. Per attivare l'elemento Feature, nel sito Web espandere il menu Azioni sito e quindi scegliere Impostazioni sito. In Azioni sito fare clic su Gestisci caratteristiche sito. Nella pagina Caratteristiche, accanto al nome della caratteristica, fare clic su Attiva.

Mostra: