Condividi tramite


Procedura dettagliata: Importare un flusso di lavoro riutilizzabile di SharePoint Designer

Questa procedura dettagliata illustra come importare un flusso di lavoro riutilizzabile creato in SharePoint Designer 2010 in un progetto di flusso di lavoro di SharePoint di Visual Studio.

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

I flussi di lavoro creati in Visual Studio 2012, ad esempio flussi di lavoro sequenziali e macchina a stati, sono detti flussi di lavoro di codice. I flussi di lavoro di codice sono costituiti da file XML e moduli di codice in cui gli utenti possono personalizzare il comportamento del flusso di lavoro.

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

In questa procedura dettagliata sono illustrati i task 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 Importa flusso di lavoro riutilizzabile.

  • Modifica del flusso di lavoro aggiungendo codice.

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

    Nota

    I nomi o i percorsi visualizzati per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti potrebbero essere diversi nel computer in uso. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per altre informazioni, vedere Personalizzare l'IDE.

Prerequisiti

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

  • Edizioni supportate di Microsoft Windows e SharePoint.

  • Visual Studio.

  • Microsoft Office SharePoint Designer 2010.

Creare siti secondari di SharePoint di destinazione

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

Per creare siti secondari di SharePoint

  1. Nella barra dei menu di SharePoint Designer 2010 scegliere File>Nuovo sito Web vuoto.

  2. Nella finestra di dialogo Nuovo sito Web vuoto passare a un sito di SharePoint in cui si desidera creare il flusso di lavoro oppure usare il valore di http:// SystemName/ e quindi scegliere il pulsante OK.

    Verrà visualizzata la home page.

  3. Nella sezione Siti secondari scegliere il pulsante Nuovo.

  4. Nella finestra di dialogo Nuovo scegliere Modelli di SharePoint dall'elenco nel riquadro sinistro e scegliere Sito del team dall'elenco nel riquadro a destra.

  5. Nella casella Specificare il percorso del sito Web sostituire la parola sottosito nell'URL con SPD1 e quindi scegliere il pulsante OK.

    Verrà aperto il nuovo sito secondario in SharePoint Designer. Chiudere questa istanza di SharePoint Designer e tornare alla prima istanza (il sito di primo livello).

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

Creare un flusso di lavoro riutilizzabile di SharePoint Designer

Poiché SharePoint non include flussi di lavoro riutilizzabili che è possibile usare per questo esempio, ne verrà creato uno. In questo semplice flusso di lavoro, quando un utente immette una nuova attività nell'elenco Attività con un titolo specifico, l'attività viene assegnata a tale utente.

Per creare un flusso di lavoro riutilizzabile di SharePoint Designer

  1. Nella sezione Siti secondari scegliere il sito SPD1 per modificarlo.

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

    Verrà visualizzata la procedura guidata Crea flusso di lavoro riutilizzabile.

  3. Nella casella Nome immettere Flusso di lavoro attività SPD.

  4. Nell'elenco Tipo di contenuto scegliere Attività e quindi scegliere il pulsante OK .

    Il flusso di lavoro viene aperto nella finestra di progettazione del flusso di lavoro di SharePoint Designer.

  5. Nella finestra di progettazione del flusso di lavoro scegliere Passaggio 1 e quindi scegliere il pulsante Condizione sulla barra multifunzione.

  6. Nell'elenco delle condizioni scegliere Se il campo dell'elemento corrente è uguale al valore.

    Questo passaggio aggiunge una condizione denominata If field equals value.

  7. Nella condizione Se il campo è uguale al valore scegliere il collegamento al campo .

  8. Nell'elenco dei valori scegliere Titolo.

  9. Nella condizione If field equals value (Se) è uguale a value (Valore) scegliere il collegamento value (Valore).

  10. Nella casella immettere Nuova attività.

    L'istruzione condition ora legge Se Current Item:Title è uguale a Nuova attività.

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

  12. Nell'elenco delle azioni scegliere Imposta campo nell'elemento corrente.

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

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

  15. Scegliere il pulsante Aggiungi e quindi fare clic sul pulsante OK .

    L'istruzione action legge ora Set Assigned To Current Item:CreatedBy.

Salvare e distribuire il flusso di lavoro riutilizzabile

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

Importante

Se viene visualizzato un errore di runtime che esegue la procedura seguente, è necessario eseguire la procedura in un sistema che ha accesso al sito di SharePoint.

Per salvare e distribuire il flusso di lavoro riutilizzabile

  1. Nella parte superiore di SharePoint Designer scegliere il pulsante Salva per salvare lo stato di avanzamento e quindi scegliere il pulsante Pubblica per distribuire il flusso di lavoro nel sito di SharePoint SPD1 .

  2. Nel riquadro di spostamento scegliere l'oggetto Workflow .

  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 file con estensione wsp .

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

  6. Sulla barra Avvio rapido scegliere il collegamento Librerie .

  7. Nella sezione Raccolte documenti scegliere il collegamento Asset sito.

    Il file del flusso di lavoro attività SPD è elencato con altri asset del sito.

  8. Nell'elenco di file scegliere il nome del file.

  9. Nella finestra di dialogo Download 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 usando un progetto Importa flusso di lavoro riutilizzabile. Questo progetto converte il flusso di lavoro da un flusso di lavoro dichiarativo riutilizzabile in un flusso di lavoro di codice. Dopo la conversione del flusso di lavoro, si userà il codice per modificarne il comportamento.

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

  1. Nella barra dei menu di Visual Studio scegliere File>nuovo>progetto.

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

  3. Nel riquadro Modelli scegliere il modello Importa flusso di lavoro di SharePoint 2010 riutilizzabile, lasciare il nome del progetto come WorkflowImportProject1 e quindi scegliere il pulsante OK.

    Verrà 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 in precedenza: http:// nome del sistema/SPD2.

  5. Nella sezione Qual è il livello di attendibilità per questa soluzione SharePoint? scegliere il pulsante di opzione Distribuisci come soluzione farm e quindi scegliere il pulsante Avanti.

    Per altre informazioni sulle soluzioni sandbox e farm, vedere Considerazioni sulle soluzioni in modalità sandbox.

  6. Nella pagina Specificare la nuova origine del progetto passare al percorso del sistema in cui è stato salvato in precedenza il file con estensione wsp , aprire il file e quindi scegliere il pulsante Avanti .

    Nota

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

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

  7. Nella casella Seleziona elementi da importare scegliere il flusso di lavoro del flusso di lavoro attività SPD e quindi scegliere il pulsante Fine.

    Al termine dell'operazione di importazione, viene creato un progetto denominato WorkflowImportProject1 contenente un flusso di lavoro denominato SPD_Workflow_TestFT. In questa cartella è presente il file di definizione del flusso di lavoro Elements.xml e il file di progettazione del flusso di lavoro (con estensione xoml). La finestra di progettazione contiene due file: il file delle 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 WorkflowImportProject1 e quindi sulla barra dei menu scegliere Progetto>impostato come progetto di avvio per impostare WorkflowImportProject1 come elemento di avvio.

    Verrà visualizzato l'elenco immediatamente quando si esegue il debug del progetto.

  11. Poiché il modello Import Reusable SharePoint 2010 Workflow non importa i valori delle proprietà di associazione per il flusso di lavoro importato, è necessario immetterli. A questo scopo:

    1. In Esplora soluzioni scegliere il nodo SPD_Workflow_TestFT.

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

    3. Immettere i valori mancanti nella Personalizzazione guidata SharePoint e quindi scegliere il pulsante Fine .

  12. Scegliere il file con estensione xoml e quindi nella barra dei menu scegliere Progettazione> viste per visualizzare il flusso di lavoro importato nella finestra di progettazione del flusso di lavoro.

  13. Nel nodo Flusso di lavoro Di Windows v3.0 della casella degli strumenti seguire questa procedura:

    • Aprire il menu di scelta rapida per l'attività Codice e quindi scegliere Copia. Nella finestra di progettazione del flusso di lavoro aprire il menu di scelta rapida per la riga sotto l'attività SequenceActivity1 e quindi scegliere Incolla.

    • Trascinare l'attività Code dalla casella degli strumenti alla finestra di progettazione del flusso di lavoro e connetterla alla riga sotto l'attività SequenceActivity1 .

      In questo modo viene aggiunta un'attività alla finestra di progettazione del flusso di lavoro denominata CodeActivity1. In questa attività si aggiungerà un'azione di codice che crea un annuncio nell'elenco Annunci 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 su codeActivity_ExecuteCode.

  15. Aggiungere quanto segue nelle direttive using o Imports esistenti:

    using Microsoft.SharePoint;
    using System;
    
  16. Sostituire codeActivity1_ExecuteCode con quanto segue:

    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 quindi WorkflowImportProject1 per distribuirlo in un sito di SharePoint e 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 la chiave F5 da eseguire e distribuire il progetto del flusso di lavoro convertito.

  2. Nella barra Avvio rapido scegliere il collegamento Attività per visualizzare l'elenco Attività.

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

    Verrà visualizzata la finestra di dialogo Attività - Nuovo elemento .

  4. Nella casella Titolo immettere Nuova attività e quindi scegliere il pulsante Salva.

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

    Verrà visualizzata la pagina Elenco Impostazioni.

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

    Viene visualizzata la pagina Flusso di lavoro Impostazioni.

  7. Scegliere il collegamento Aggiungi flusso di lavoro .

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

  9. Nella casella Nome immettere Test flusso di lavoro SPD e quindi scegliere il pulsante OK.

  10. Nella barra Avvio rapido scegliere l'elenco Attività .

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

  12. Nella sezione Avvia un nuovo flusso di lavoro scegliere il collegamento per Test flusso di lavoro SPD e quindi scegliere il pulsante Start per avviare il flusso di lavoro.

    Nota

    In alternativa, è possibile associare automaticamente un flusso di lavoro a un elenco eseguendo la procedura guidata delle impostazioni del flusso di lavoro e impostando il flusso di lavoro per l'associazione automatica.

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