Condividi tramite


Procedura dettagliata: creazione e debug di una soluzione flusso di lavoro SharePoint

Aggiornamento: novembre 2007

Si applica a

Le informazioni contenute in questo argomento riguardano solo i progetti Visual Studio Tools per Office e le versioni di Microsoft Office specificati.

Tipo di progetto

  • Flusso di lavoro SharePoint

Versione Microsoft Office

  • SharePoint Server 2007

Per ulteriori informazioni, vedere la classe Funzionalità disponibili in base ai tipi di progetto e applicazione.

In questa procedura dettagliata viene illustrato come creare un modello di base di flusso di lavoro sequenziale. Il flusso di lavoro controlla una proprietà di una raccolta documenti per determinare se un documento è stato rivisto. In caso positivo, il flusso di lavoro viene terminato.

In questa procedura dettagliata vengono illustrate le attività seguenti:

  • Creazione di un progetto Flusso di lavoro sequenziale SharePoint 2007.

  • Creazione di una pianificazione del flusso di lavoro.

  • Gestione degli eventi di attività.

Nota:

È possibile che le finestre di dialogo e i comandi di menu visualizzati siano diversi da quelli descritti nella Guida, a seconda delle impostazioni o dell'edizione in uso. Per modificare le impostazioni, scegliere Importa/Esporta impostazioni dal menu Strumenti. Per ulteriori informazioni, vedere Impostazioni di Visual Studio.

Per ulteriori informazioni su come creare modelli di flusso di lavoro SharePoint utilizzando Visual Studio Tools per Office, vedere Soluzioni flusso di lavoro SharePoint.

Prerequisiti

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

  • Visual Studio Tools per Office (componente facoltativo di Visual Studio 2008 Professional e Visual Studio Team System).

  • Microsoft SharePoint Server 2007.

  • Sito Web di SharePoint Server con il titolo Centro documenti e l'URL denominato https://localhost/Docs. Se si è installato Microsoft Office SharePoint Server 2007 in un unico computer come installazione autonoma, il sito Web viene creato automaticamente al termine della Configurazione guidata Prodotti e tecnologie SharePoint.

  • Microsoft Office Word 2007 o Microsoft Office Word 2003.

Visual Studio Tools per Office viene installato per impostazione predefinita con le versioni di Visual Studio elencate. Per controllare se è installato, vedere Installazione di Visual Studio Tools per Office.

Aggiunta di proprietà alla raccolta documenti di SharePoint

Per registrare lo stato di revisione dei documenti nella raccolta Documenti, i partecipanti al flusso di lavoro impostano le proprietà Document Status, Assignee e Review Comments del documento. Definire queste proprietà nella raccolta documenti.

Per aggiungere proprietà alla raccolta documenti di SharePoint

  1. Aprire il sito Web predefinito di SharePoint Server 2007 in Internet Explorer.

    Nota:

    Per impostazione predefinita, il sito di SharePoint è situato all'indirizzo https://localhost. Se si esegue il mapping di https://localhost a un sito Web non SharePoint, non sarà possibile testare il modello di flusso di lavoro utilizzando i passaggi di questa procedura dettagliata.

  2. Fare clic sulla scheda Centro documenti.

  3. Nel riquadro di spostamento, fare clic su Documenti.

  4. Nella pagina Documenti fare clic su Impostazioni, quindi su Impostazioni raccolta documenti.

  5. Nella pagina Personalizza documenti fare clic su Crea colonna in Colonne.

  6. Denominare la colonna Document Status, selezionare Scelta (menu) e specificare le tre scelte seguenti, quindi fare clic su OK:

    • Review Needed

    • Review Complete

    • Changes Requested

  7. Creare altre due colonne e denominarle Assignee e Review Comments. Formattare la colonna Assignee come singola riga di testo e la colonna Review Comments come più righe di testo.

Possibilità di modifica dei documenti senza necessità di estrazione

Il test del modello di flusso di lavoro risulta più facile quando è possibile modificare i documenti senza doverli estrarre.

Per consentire la modifica dei documenti senza estrazione

  1. Nella pagina Personalizza documenti fare clic su Impostazioni controllo versioni in Impostazioni generali.

  2. Per Estrazione obbligatoria dei documenti prima della modifica selezionare No, quindi scegliere OK.

  3. Chiudere Internet Explorer.

Creazione di un progetto Flusso di lavoro sequenziale SharePoint

Un flusso di lavoro sequenziale rappresenta una sequenza di passaggi eseguiti in ordine fino al completamento dell'ultima attività.

Per creare un progetto Flusso di lavoro sequenziale SharePoint

  1. Avviare Visual Studio.

  2. Aprire la finestra di dialogo Nuovo progetto, espandere il nodo Office situato sotto il linguaggio che si desidera utilizzare, quindi selezionare il nodo 2007.

  3. Nel riquadro Modelli selezionare Flusso di lavoro sequenziale SharePoint 2007.

  4. Nella casella Nome digitare MySharePointWorkflow. Se l'IDE è impostato per l'utilizzo di Impostazioni di sviluppo di Visual C# o di Impostazioni generali per lo sviluppo, immettere un percorso e un nome di soluzione.

  5. Scegliere OK.

    Viene visualizzata la procedura guidata Nuovo flusso di lavoro Office SharePoint.

  6. Nella pagina Specificare il sito e il nome del flusso di lavoro per il debug fare clic su Avanti per accettare il sito e il nome predefiniti del flusso di lavoro.

  7. Nella pagina Selezionare gli elenchi da utilizzare durante il debug fare clic su Avanti per accettare la raccolta documenti, l'elenco di attività e l'elenco della cronologia predefiniti e per associare automaticamente il modello di flusso di lavoro alla raccolta documenti.

  8. Nella pagina È possibile specificare le condizioni di avvio del flusso di lavoro fare clic su Fine per accettare le selezioni predefinite.

Creazione di una pianificazione del flusso di lavoro

I modelli di flusso di lavoro contengono una o più pianificazioni del flusso di lavoro, che contengono a loro volta attività che rappresentano azioni da eseguire. Utilizzare Progettazione flussi di lavoro per organizzare le attività in una pianificazione. Per controllare lo stato di revisione di un documento nell'elenco Documenti, aggiungere due attività: HandleExternalEventActivity e Microsoft.SharePoint.WorkflowActions.OnWorkflowItemChanged.

Per creare una pianificazione del flusso di lavoro

  1. In Esplora soluzioni fare doppio clic su Workflow1.cs o Workflow1.vb per aprire la pianificazione del flusso di lavoro nella finestra di progettazione.

  2. Nella finestra di progettazione fare clic sull'attività OnWorkflowActivated1 per selezionarla.

  3. Nella finestra Proprietà digitare onWorkflowActivated accanto alla proprietà Invoked, quindi premere INVIO.

    Viene aperto l'editor del codice e un metodo per la gestione eventi denominato onWorkflowActivated viene aggiunto al file di codice Workflow1.

  4. Aprire nuovamente la pianificazione del flusso di lavoro nella finestra di progettazione.

  5. Scegliere Casella degli strumenti dal menu Visualizza.

  6. Dalla scheda Windows Workflow v3.0 della Casella degli strumenti trascinare un'attività While sotto l'attività onWorkflowActivated1.

  7. Fare clic sull'attività WhileActivity1 per selezionarla.

  8. Nella finestra Proprietà impostare Condition su Code Condition.

  9. Espandere la proprietà Condition e digitare isWorkflowPending accanto alla proprietà Condition figlio, quindi premere INVIO.

    Viene aperto l'editor del codice e un metodo denominato isWorkflowPending viene aggiunto al file di codice Workflow1.

  10. Aprire nuovamente la pianificazione del flusso di lavoro nella finestra di progettazione.

  11. Dalla scheda Flusso di lavoro di SharePoint della Casella degli strumenti trascinare un'attività OnWorkflowItemChanged all'interno dell'attività whileActivity1.

  12. Fare clic sull'attività onWorkflowItemChanged1 per selezionarla.

  13. Nella finestra Proprietà impostare le proprietà come mostrato nella tabella riportata di seguito.

    Proprietà

    Valore

    CorrelationToken

    workflowToken

    Invoked

    onWorkflowItemChanged

Gestione degli eventi di attività

L'ultimo passaggio consiste nel controllare lo stato del documento di ogni attività. Se il documento è stato rivisto, il flusso di lavoro viene terminato.

Per gestire gli eventi di attività

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse su Workflow1.cs o Workflow1.vb, quindi scegliere Visualizza codice.

  2. Aggiungere il campo riportato di seguito all'inizio della classe Workflow1. Questo campo verrà utilizzato in un'attività per determinare se il flusso di lavoro è stato completato.

    Dim workflowPending As Boolean = True
    
    Boolean workflowPending = true;
    
  3. Aggiungere il seguente metodo alla classe Workflow1. Questo metodo controlla il valore della proprietà Document Status dell'elenco Documenti per determinare se il documento è stato rivisto. Se la proprietà Document Status è impostata su Review Complete, il metodo checkStatus imposta il campo workflowPending su false per indicare che il flusso di lavoro è pronto per essere terminato.

    Private Sub checkStatus()
        If CStr(workflowProperties.Item("Document Status")) = "Review Complete" Then
            workflowPending = False
        End If
    End Sub 
    
    private void checkStatus()
    {
        if ((string)workflowProperties.Item["Document Status"] == "Review Complete")
        workflowPending = false;
    }
    
  4. Aggiungere il codice riportato di seguito ai metodi onWorkflowActivated e onWorkflowItemChanged per chiamare il metodo checkStatus. Quando viene avviato il flusso di lavoro, il metodo onWorkflowActivated chiama il metodo checkStatus per determinare se il documento è già stato rivisto. In caso negativo, il flusso di lavoro continua. Quando il documento viene salvato, il metodo onWorkflowItemChanged chiama nuovamente il metodo checkStatus per determinare se il documento è stato rivisto. Finché il campo workflowPending è impostato su true, l'esecuzione del flusso di lavoro continua.

    Private Sub onWorkflowActivated(ByVal sender As System.Object, ByVal e As System.Workflow.Activities.ExternalDataEventArgs)
        checkStatus()
    End Sub
    
    Private Sub onWorkflowItemChanged(ByVal sender As System.Object, ByVal e As System.Workflow.Activities.ExternalDataEventArgs)
        checkStatus()
    End Sub
    
    private void onWorkflowActivated(object sender, ExternalDataEventArgs e)
    {
        checkStatus();
    }
    
    private void onWorkflowItemChanged(object sender, ExternalDataEventArgs e)
    {
        checkStatus();
    }
    
  5. Aggiungere il codice riportato di seguito al metodo isWorkflowPending per controllare lo stato della proprietà workflowPending. Ogni volta che il documento viene salvato, l'attività whileActivity1 chiama il metodo isWorkflowPending. Questo metodo esamina la proprietà Result dell'oggetto ConditionalEventArgs per determinare se l'attività WhileActivity1 deve continuare o essere terminata. Se la proprietà è impostata su true, l'attività continua. In caso contrario, l'attività e il flusso di lavoro vengono terminati.

    Private Sub isWorkflowPending(ByVal sender As System.Object, ByVal e As System.Workflow.Activities.ConditionalEventArgs)
        e.Result = workflowPending
    End Sub
    
    private void isWorkflowPending(object sender, ConditionalEventArgs e)
    {
        e.Result = workflowPending;
    }
    

Test del modello di flusso di lavoro SharePoint

Quando si avvia il debugger, in Visual Studio Tools per Office il modello di flusso di lavoro viene distribuito in SharePoint Server 2007 e viene associato all'elenco Documenti. Per testare il flusso di lavoro, avviare un'istanza del modello di flusso di lavoro da un documento dell'elenco Documenti.

Per testare il modello di flusso di lavoro SharePoint

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse su Workflow1.cs o Workflow1.vb, quindi scegliere Visualizza codice.

  2. Impostare un punto di interruzione accanto al metodo onWorkflowActivated.

  3. Premere F5.

    Viene aperta la pagina Documenti del sito predefinito di SharePoint.

  4. Nella pagina Documenti fare clic su Nuovo per creare un nuovo documento.

  5. Salvare il documento nel percorso predefinito.

    In tal modo, il documento viene aggiunto all'elenco Documenti e viene avviato il flusso di lavoro.

  6. In Visual Studio verificare che l'esecuzione del debugger venga interrotta in corrispondenza del punto di interruzione accanto al metodo onWorkflowActivated.

  7. Premere F5 per continuare l'esecuzione.

  8. Chiudere il documento.

  9. Tornare alla pagina Documenti del sito Web predefinito di SharePoint.

  10. Nella pagina Documenti verificare che il valore al di sotto della colonna MySharePointWorkflow sia impostato su In corso. Questa impostazione indica che il flusso di lavoro è in corso e che il documento è in attesa di revisione.

  11. Nella pagina Documenti puntare al documento, fare clic sulla freccia in giù, quindi su Modifica proprietà.

  12. Impostare Document Status su Review Complete, quindi scegliere OK.

  13. Tornare alla pagina Documenti del sito Web predefinito di SharePoint.

  14. Nella pagina Documenti verificare che il valore al di sotto della colonna MySharePointWorkflow sia impostato su Completato. Questa impostazione indica che il flusso di lavoro è stato completato e che il documento è stato rivisto.

Passaggi successivi

Per ulteriori informazioni su come creare modelli di flusso di lavoro, vedere i seguenti argomenti:

Vedere anche

Attività

Procedura: includere file di supporto nel debug di una soluzione SharePoint

Esempio di flusso di lavoro sequenziale SharePoint

Concetti

Soluzioni flusso di lavoro SharePoint

Debug di soluzioni flusso di lavoro SharePoint

Riferimenti

Modelli di progetto Flusso di lavoro SharePoint