Condividi tramite


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 2012, come 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 consente di importare i flussi di lavoro riutilizzabili creati in SharePoint Designer 2010 e di convertire i flussi di lavoro di codice per l'utilizzo 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, nella barra dei menu, scegliere File, Nuovo sito vuoto.

  2. Nella finestra di dialogo Nuovo sito vuoto, passare a un sito di SharePoint in cui si desidera creare il flusso di lavoro, o utilizzare il valore di http://SystemName/quindi selezionare il pulsante OK.

    Verrà visualizzata la home page.

  3. Nella sezione siti secondari, scegliere il pulsante Nuova.

  4. Nella finestra di dialogo Nuova, scegliere Modelli di SharePoint dall'elenco nel riquadro sinistro e scegliere Sito team nell'elenco nel riquadro di destra.

  5. Nella casella Specifica l'indirizzo del sito Web, sostituire la parola sito secondario nell'URL con OK e quindi scegliere il pulsante 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. Nella sezione siti secondari, scegliere il sito SPD1 per modificarlo.

  2. Sulla barra multifunzione, scegliere il pulsante Flusso di lavoro riutilizzabile.

    Viene visualizzata la Creazione guidata flusso di lavoro riutilizzabile.

  3. Nella casella Nome, immettere il flusso di lavoro attività di SPD.

  4. Nell'elenco Tipo di contenuto, scegliere Operazionequindi scegliere il pulsante OK.

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

  5. In Progettazione flussi di lavoro, scegliere il passaggio 1, quindi sulla barra multifunzione, scegliere il pulsante Condizione.

  6. Nell'elenco delle condizioni, scegliere Se il campo della voce corrente è uguale al valore.

    Questo passaggio aggiunge una condizione denominata Se il campo è uguale al valore.

  7. Lo stato Se il campo è uguale al valore, scegliere il collegamento campo.

  8. Nell'elenco di valori, scegliere Posizione.

  9. Lo stato Se il campo è uguale al valore, scegliere il collegamento VALUE.

  10. Nella casella immettere Nuova attività.

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

  11. Selezionare la riga sotto l'istruzione della condizione, quindi sulla barra multifunzione, scegliere il pulsante Azione.

  12. Nell'elenco di azioni, scegliere Imposta campo in elemento corrente.

  13. Nell'azione Imposta campo su valore, scegliere il collegamento campo quindi, nell'elenco, scegliere Assegnato a.

  14. Nell'azione Imposta campo su valore, scegliere il collegamento VALUE quindi, nell'elenco di utenti esistenti e gruppi, scegliere Utente che ha creato l'elemento.

  15. Scegliere il pulsante Aggiungi quindi scegliere il pulsante 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. In SharePoint Designer, scegliere il pulsante Salva per salvare lo stato di avanzamento e quindi scegliere il pulsante Pubblica per distribuire il flusso di lavoro al sito di SharePoint SPD1.

  2. Nel riquadro di navigazione, scegliere l'oggetto Flussi di lavoro.

  3. In Flusso di lavoro riutilizzabile, scegliere Flusso di lavoro attività SPD.

  4. Sulla barra multifunzione, scegliere il pulsante Salva come modello per salvare il flusso di lavoro come un file con estensione wsp.

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

  6. Nella barra avvio veloce, scegliere il collegamento Raccolte.

  7. Nella sezione Raccolte documenti, scegliere il collegamento Risorse del sito.

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

  8. Nell'elenco dei file, scegliere il nome del file

  9. Nella finestra di dialogo Download dei file, scegliere il pulsante Salva per salvare il file con estensione wsp nel sistema locale.

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, sulla barra dei menu, scegliere File, Nuova, Progetto.

  2. Nella finestra di dialogo Nuovo progetto, espandere il nodo SharePoint in Visual C# o Visual Basice quindi scegliere il nodo 2010.

  3. Nel riquadro Modelli, scegliere il modello Importa flusso di lavoro riutilizzabile di SharePoint 2010, lasciare il nome del progetto come WorkflowImportProject1quindi scegliere il pulsante 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., scegliere il pulsante di opzione Distribuisci come soluzione farm e quindi scegliere il pulsante Avanti.

    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 la posizione nel sistema in cui è stato precedentemente salvato il file con estensione wsp, viene aperto il file e quindi selezionare il pulsante Avanti.

    [!NOTA]

    Scegliere il pulsante Fine per includere tutti gli elementi disponibili nel file con estensione wsp.

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

  7. Nella casella Selezionare gli elementi da importare, scegliere il flusso di lavoro Flusso di lavoro attività SPD quindi scegliere il pulsante 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. In Esplora soluzioni, eliminare la cartella Altri file importati.

  9. Nel file Elements.xml, eliminare InstantiationURL="_layouts/IniErkflIP.sspx".

  10. In Esplora soluzioni, scegliere WorkflowImportProject1quindi, nella barra dei menu, scegliere Progetto, Imposta come progetto di avvio per impostare WorkflowImportProject1 come elemento di avvio.

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

  11. Poiché il modello Importa flusso di lavoro riutilizzabile di SharePoint 2010 non include i valori delle proprietà di associazione del flusso di lavoro importato, è necessario immetterli.Per eseguire questa operazione, seguire la procedura seguente:

    1. In Esplora soluzioni, selezionare il nodo SPD_Workflow_TestFT.

    2. Scegliere il pulsante con i puntini di sospensione (Ellisse di ASP.NET Mobile Designer) accanto alla proprietà dell'elenco, ad esempio la proprietà Elenco di destinazione.

    3. Inserire i valori mancanti nella personalizzazione guidata SharePoint quindi scegliere il pulsante Fine.

  12. Scegliere il file con estensione xoml e successivamente, nella barra dei menu, scegliere Visualizza, Finestra di progettazione per visualizzare il flusso di lavoro importato in Progettazione flussi di lavoro.

  13. Nel nodo Windows Workflow v3.0Casella degli strumenti, eseguire una delle operazioni seguenti:

    • Aprire il menu di scelta rapida per l'attività Codice e quindi scegliere Copia (CTRL + C).In Progettazione flussi di lavoro, aprire il menu di scelta rapida per la riga sotto l'attività SequenceActivity1 quindi scegliere Incolla.

    • Trascinare l'attività Codice da Casella degli strumenti a Progettazione flussi di lavoro e connetterla alla riga 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.

  14. Eseguire una delle procedure seguenti:

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

    • Nella finestra Proprietà per CodeActivity1, impostare il valore della proprietà ExecuteCode a codeActivity_ExecuteCode.

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

    Imports Microsoft.SharePoint
    Imports System
    
    using Microsoft.SharePoint;
    using System;
    
  16. 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, scegliere il tasto F5 per eseguire e distribuire il progetto flusso di lavoro convertito.

  2. Nella barra avvio veloce, scegliere il collegamento Attivita per visualizzare l'elenco Attività.

  3. Nella scheda Strumenti elenco, scegliere il pulsante Elementi quindi scegliere il pulsante Nuovo elemento.

    La finestra di dialogo Attività - Nuovo elemento viene aperto.

  4. Nella casella Posizione, immettere nuova attività e quindi scegliere il pulsante Salva.

  5. Nella scheda Strumenti elenco, scegliere il pulsante Elenco quindi scegliere il pulsante Impostazioni elenco.

    La pagina Impostazioni elenco viene visualizzata.

  6. Nella sezione Autorizzazioni e gestione, scegliere il collegamento Impostazioni flusso di lavoro.

    La pagina Impostazioni flusso di lavoro viene visualizzata.

  7. Scegliere il collegamento Aggiungi flusso di lavoro.

  8. Nell'elenco Flusso di lavoro, scegliere WorkflowImportProject1 - Test flusso di lavoro SPD.

  9. Nella casella Nome, immettere il test del flusso di lavoro di SPD quindi scegliere il pulsante OK.

  10. Nella barra avvio Veloce, scegliere l'elenco Attivita.

  11. Scegliere la freccia accanto a Nuova attività, quindi nell'elenco, scegliere Flussi di lavoro.

  12. Nella sezione Avvio di un nuovo flusso di lavoro, scegliere il collegamento per Test flusso di lavoro SPDquindi scegliere il pulsante Avvio 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