Procedura dettagliata: importare un flusso di lavoro riutilizzabile di SharePoint Designer in Visual Studio

In questa procedura dettagliata viene illustrato come importare un flusso di lavoro riutilizzabile creato in SharePoint Designer 2010 in un progetto flusso di lavoro di SharePoint per Visual Studio.

I flussi di lavoro creati in SharePoint Designer, o flussi di lavoro dichiarativi, sono costituiti da istruzioni XML anziché codice. SharePoint Designer 2010 introduce i flussi di lavoro riutilizzabili, ovvero flussi di lavoro portabili e dichiarativi che possono essere utilizzati in diversi elenchi dei siti di SharePoint.

I flussi di lavoro creati in Visual Studio 2010, ad esempio i flussi di lavoro sequenziali e macchina a stati, vengono definiti flussi di lavoro di codice. Questi ultimi sono costituiti da file XML e da moduli di codice nei quali gli utenti possono personalizzare il comportamento del flusso di lavoro.

Visual Studio 2010 consente di importare i flussi di lavoro riutilizzabili creati in SharePoint Designer 2010 e di convertirli in flussi di lavoro di codice per utilizzarli nei siti di SharePoint.

In questa procedura dettagliata vengono illustrate le attività seguenti:

  • Creazione di un flusso di lavoro semplice, riutilizzabile in SharePoint Designer.

  • Esportazione del flusso di lavoro riutilizzabile di SharePoint Designer in un file con estensione wsp e in SharePoint.

  • Importazione del file con estensione wsp in Visual Studio tramite il progetto di importazione del flusso di lavoro riutilizzabile.

  • Modifica del flusso di lavoro tramite l'aggiunta di codice.

  • Utilizzo del flusso di lavoro importato in un sito di SharePoint.

Nota

Nel computer in uso è possibile che vengano visualizzati nomi o percorsi diversi per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per ulteriori informazioni vedere Impostazioni di Visual Studio.

Prerequisiti

Per completare la procedura dettagliata, è necessario disporre dei componenti seguenti:

Creare siti secondari di destinazione di SharePoint

Innanzitutto si creano due nuovi siti secondari di SharePoint: uno per ospitare i flussi di lavoro riutilizzabili da SharePoint Designer e un altro per ospitare i flussi di lavoro convertiti.

Per creare i siti secondari di SharePoint

  1. In SharePoint Designer 2010 scegliere Apri sito dal menu File.

  2. Nella finestra di dialogo Apri sito passare a un sito di SharePoint in cui si desidera creare il flusso di lavoro o utilizzare il valore predefinito di http://nome del sistema/, quindi fare clic su Apri.

    Verrà visualizzata la home page.

  3. Dalla sezione Siti secondari scegliere Nuovo.

  4. Nella finestra di dialogo Nuovo selezionare Modelli di SharePoint nel riquadro sinistro e Sito del team in quello destro.

  5. Nella casella Specificare l'indirizzo del sito Web sostituire la parola sito secondario nell'URL con SPD1, quindi fare clic su OK.

    Questa operazione comporta l'apertura del nuovo sito secondario in SharePoint Designer. Chiudere questa istanza di SharePoint Designer e tornare alla prima istanza (sito principale).

  6. Ripetere i passaggi da 3 a 5 per creare il secondo sito secondario, questa volta sostituendo la parola sito secondario nell'URL con SPD2.

Creare un flusso di lavoro riutilizzabile in SharePoint Designer

Poiché in SharePoint non è incluso alcun flusso di lavoro riutilizzabile che è possibile utilizzare per questo esempio, se ne creerà uno. In questo semplice flusso di lavoro, quando un utente immette una nuova attività con un titolo specifico nell'apposito elenco, l'attività viene assegnata a tale utente.

Per creare un flusso di lavoro riutilizzabile in SharePoint Designer

  1. Fare clic sul sito SPD1 nella sezione Siti secondari per modificarlo.

  2. Scegliere Flusso di lavoro riutilizzabile dalla barra multifunzione.

    Viene visualizzata la Creazione guidata flusso di lavoro riutilizzabile.

  3. Nella casella Nome digitare SPD Task Workflow.

  4. Nella casella Tipo di contenuto fare clic su Attività, quindi scegliere OK.

    Il flusso di lavoro viene aperto in Progettazione flussi di lavoro di SharePoint Designer.

  5. Assicurarsi che il passaggio 1 venga selezionato e fare clic sul pulsante Condizione sulla barra multifunzione, quindi selezionare Se il campo dell'elemento corrente è uguale al valore dall'elenco di condizioni.

    Viene aggiunta una nuova condizione denominata Se il campo è uguale al valore.

  6. Fare clic sul collegamento campo nella condizione Se il campo è uguale al valore.

  7. Nell'elenco di valori scegliere Title.

  8. Fare clic sul collegamento valore nella condizione Se il campo è uguale al valore.

  9. Nella casella immettere Nuova attività.

    L'istruzione della condizione è ora Se Elemento corrente:Titolo è uguale a Nuova attività.

  10. Fare clic sulla riga sotto l'istruzione della condizione, fare clic su Azione sulla barra multifunzione, quindi selezionare Imposta campo in elemento corrente nell'elenco di azioni.

  11. Fare clic sul collegamento campo nell'azione Imposta campo su valore, quindi selezionare Assegnato a.

  12. Fare clic sul collegamento valore nell'azione Imposta campo su valore, selezionare Utente che ha creato l'elemento dall'elenco di utenti e gruppi esistenti, fare clic sul pulsante Aggiungi, quindi su OK.

    L'istruzione dell'azione è ora Imposta Assegnato a su Elemento corrente:CreatedBy.

Salvataggio e distribuzione del flusso di lavoro riutilizzabile

Dato che Visual Studio può importare solo file con estensione wsp, è necessario salvare il flusso di lavoro riutilizzabile come file con estensione wsp e distribuirlo su SharePoint prima di importarlo in Visual Studio.

Nota importanteImportante

Se durante l'esecuzione della procedura seguente si riceve un errore di runtime è necessario eseguirla su un sistema che dispone dell'accesso al sito di SharePoint.

Per salvare e distribuire il flusso di lavoro riutilizzabile

  1. Fare clic sul pulsante Salva all'inizio di SharePoint Designer per salvare lo stato di avanzamento, quindi sul pulsante Pubblica per distribuire il flusso di lavoro al sito di SharePoint SPD1.

  2. Nel riquadro di spostamento, fare clic su Flussi di lavoro.

  3. Fare clic su SPD Task Workflow sotto Flusso di lavoro riutilizzabile.

  4. Sulla barra multifunzione, fare clic su Salva come modello per salvare il flusso di lavoro come file con estensione wsp.

  5. Aprire il sito di SharePoint SPD1 in un browser per visualizzare il file con estensione wsp in SharePoint.

  6. Fare clic su Librerie sulla barra Avvio veloce.

  7. Fare clic su Risorse del sito nella sezione Raccolte documenti.

    Il file di SPD Task Workflow viene elencato con altre risorse del sito.

  8. Fare clic sul nome nell'elenco, verrà visualizzata la finestra di dialogo Download file.

  9. Fare clic sul pulsante Salva nella finestra di dialogo Download file per salvare il file con estensione wsp nel sistema.

Importare il file con estensione wsp in Visual Studio

Importare il file con estensione wsp in Visual Studio tramite un progetto di importazione del flusso di lavoro riutilizzabile. Questo progetto consente di convertire il flusso di lavoro da riutilizzabile e dichiarativo a flusso di lavoro di codice. Una volta convertito il flusso di lavoro, si utilizzerà il codice per modificarne il comportamento.

Per importare un flusso di lavoro da un file con estensione wsp e modificarlo

  1. In Visual Studio visualizzare la finestra di dialogo Nuovo progetto selezionando Nuovo nel menu File e facendo clic su Nuovo progetto.

  2. Espandere il nodo SharePoint sotto Visual C# o Visual Basic, quindi fare clic su 2010.

  3. Fare clic su Importa flusso di lavoro riutilizzabile nel riquadro Modelli, mantenere il nome del progetto WorkflowImportProject1, quindi scegliere OK.

    Viene visualizzata la Personalizzazione guidata SharePoint.

  4. Nella pagina Specificare il sito e il livello di sicurezza per il debug immettere l'URL per il secondo sito secondario di SharePoint creato precedentemente: http://nome del sistema/SPD2.

  5. Nella sezione Selezionare il livello di attendibilità per la soluzione SharePoint lasciare la selezione Distribuisci come soluzione farm.

    Per ulteriori informazioni sulle differenze tra le soluzioni create mediante sandbox e quelle della farm, vedere Considerazioni sulle soluzioni create mediante sandbox.

  6. Nella pagina Specificare l'origine del nuovo progetto individuare il percorso nel sistema in cui è stato precedentemente salvato il file con estensione wsp, quindi fare clic su Avanti.

    Nota

    Scegliendo Fine in questa pagina, tutti gli elementi disponibili nel file con estensione wsp vengono importati.

    Viene visualizzato un elenco di flussi di lavoro riutilizzabili disponibili per l'importazione.

  7. Nella casella Selezionare gli elementi da importare selezionare il flusso di lavoro SPD Workflow Test, quindi fare clic su Fine.

    Una volta terminata l'operazione di importazione, viene creato un progetto denominato WorkflowImportProject1 in cui è contenuto un flusso di lavoro denominato SPD_Workflow_TestFT. In questa cartella sono presenti il file di definizione del flusso di lavoro Elements.xml e il file di Progettazione flusso di lavoro (con estensione xoml). Nella finestra di progettazione sono contenuti due file: il file di regole (con estensione rules) e il file code-behind (con estensione cs o vb a seconda del linguaggio di programmazione del progetto).

  8. Impostare l'elemento del progetto di flusso di lavoro WorkflowImportProject1 come elemento di avvio.

    In questo modo l'elenco verrà immediatamente visualizzato quando si esegue il debug del progetto.

  9. Poiché mediante l'opzione Importa flusso di lavoro riutilizzabile non vengono importati i valori delle proprietà di associazione per il flusso di lavoro importato, è necessario immetterli. Per eseguire questa operazione, seguire la procedura seguente:

    1. Fare clic sull'elemento del progetto di flusso di lavoro SPD_Workflow_TestFT in Esplora soluzioni.

    2. Fare clic sul pulsante con i puntini di sospensione (Ellisse di ASP.NET Mobile Designer) accanto alla proprietà Elenco di destinazione o a qualsiasi altra proprietà che dispone di tale pulsante.

    3. Compilare i valori mancanti in Personalizzazione guidata SharePoint. Al termine, fare clic su Fine.

  10. Fare clic con il pulsante destro del mouse sul file con estensione xoml e selezionare Visualizza finestra di progettazione per visualizzare il flusso di lavoro importato in Progettazione flussi di lavoro.

  11. Nella sezione Windows Workflow v3.0 della casella degli strumenti trascinare un'attività Codice nella finestra di progettazione e rilasciarla sotto l'attività SequenceActivity1.

    In questo modo viene aggiunta un'attività denominata CodeActivity1 a Progettazione flussi di lavoro. In questa attività si aggiungerà un'azione codice che consente di creare un annuncio nel relativo elenco quando l'utente avvia il flusso di lavoro.

  12. Fare doppio clic su CodeActivity1 per generare un gestore eventi e visualizzare il codice.

  13. Aggiungere quanto segue per le istruzioni using o Imports esistenti:

    Imports Microsoft.SharePoint
    Imports System
    
    using Microsoft.SharePoint;
    using System;
    
  14. Sostituire codeActivity1_ExecuteCode con l'istruzione seguente:

    Private Sub codeActivity1_ExecuteCode(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Try
            ' Get reference to SharePoint site.
            Dim site As SPSite = New SPSite("http://MyServer")
            Dim web As SPWeb = site.OpenWeb("SPD2/")
            ' Get reference to Announcements list.
            Dim announcementsList As SPList = web.Lists("Announcements")
            ' Add announcement to Announcements list for the Task.
            Dim oListItem As SPListItem = announcementsList.Items.Add
            oListItem("Title") = ("Assigned task on " + DateTime.Now.ToString)
            oListItem.Update()
        Catch err As Exception
            Console.WriteLine(("Error: " + err.ToString))
        End Try
    End Sub
    
    private void codeActivity1_ExecuteCode(object sender, System.EventArgs e)
    {
    
        try
        {
            // Get reference to SharePoint site.
            SPSite site = new SPSite("http://MyServer");
            SPWeb web = site.OpenWeb("SPD2/");
            // Get reference to Announcements list.
            SPList announcementsList = web.Lists["Announcements"];
    
            // Add announcement to Announcements list for the Task.
            SPListItem oListItem = announcementsList.Items.Add();
            oListItem["Title"] = "Assigned task on " + DateTime.Now.ToString();
            oListItem.Update();
        }
    
        catch (Exception err)
        {
            Console.WriteLine("Error: " + err.ToString());
        }        
    }
    

Distribuire il progetto e associare il flusso di lavoro

Eseguire il progetto WorkflowImportProject1 per distribuirlo in un sito di SharePoint, quindi associare il flusso di lavoro all'elenco Attività per visualizzare e testare il flusso di lavoro modificato e convertito.

Per distribuire il progetto e associare il flusso di lavoro

  1. In Visual Studio premere F5 per eseguire e distribuire il progetto flusso di lavoro convertito.

  2. Fare clic su Attività nella barra Avvio veloce per visualizzare l'elenco Attività.

  3. Fare clic su Elementi sulla barra multifunzione Strumenti elenco, quindi selezionare il pulsante Nuovo elemento.

  4. Nella finestra di dialogo Attività - Nuovo elemento immettere Nuova attività nella casella Titolo, quindi fare clic su Salva.

  5. Visualizzare la pagina Impostazioni elenco facendo clic su Elenco sul pulsante della barra multifunzione Strumenti elenco, quindi su Impostazioni elenco.

  6. Fare clic sul collegamento Impostazioni flusso di lavoro nella sezione Autorizzazioni e gestione.

    Viene visualizzata la pagina Aggiungi flusso di lavoro.

  7. Nell'elenco Flusso di lavoro selezionare WorkflowImportProject1 - SPD Workflow Test.

  8. Nella casella Nome immettere SPD Workflow Test, quindi scegliere OK.

  9. Fare clic su Attività sulla barra Avvio veloce.

  10. Fare clic sulla freccia a discesa accanto a Nuova attività e selezionare Flussi di lavoro.

  11. Fare clic sul collegamento per SPD Workflow Test nella sezione Avvio di un nuovo flusso di lavoro, quindi selezionare Avvia per avviare il flusso di lavoro.

    Nota

    In alternativa, è possibile associare automaticamente un flusso di lavoro a un elenco eseguendo l'impostazione guidata del flusso di lavoro e impostando per quest'ultimo l'associazione automatica.

    Notare che vengono eseguite due azioni dal flusso di lavoro: il nome viene visualizzato nella colonna Assegnato a dell'attività e nell'elenco Annunci viene visualizzato un annuncio.

Vedere anche

Concetti

Importazione di elementi da un sito di SharePoint esistente

Altre risorse

Sviluppo di soluzioni SharePoint

Creazione di controlli utente riutilizzabili per web part o pagine applicazione