Come attivare un flusso di lavoro di SharePoint 2010 da un flusso di lavoro di SharePoint 2013
Articolo originale pubblicato sabato 18 agosto 2012
Salve a tutti,
mi chiamo Chong Youn (John) Choe e sono un Project Manager del team di SharePoint Designer. La versione beta 2 di SharePoint e SharePoint Designer 2013 sono ora disponibili per il pubblico ed è per questo che io e gli altri membri del gruppo del prodotto siamo lieti di condividere ulteriori con voi.
In questo post vedremo come abilitare e utilizzare il flusso di lavoro della versione precedente.
Contesto
Voglio innanzitutto sottolineare che questa caratteristica dovrebbe contribuire notevolmente al riutilizzo di flussi di lavoro di SharePoint Designer. Gli utenti potranno infatti impostare flussi di lavoro riutilizzabili nei siti di SharePoint e sfruttarli come se fossero script o funzioni.
Non era possibile che le funzionalità dei flussi di lavoro sostituissero completamente tutte le funzionalità delle azioni di SharePoint 2010. SharePoint 2013 è infatti basato su una piattaforma diversa. I team di prodotto dei flussi di lavoro hanno quindi dedicato parte del loro tempo a creare nuove caratteristiche per offrire nuovi e più ricchi scenari per gli utenti finali e hanno di fatto tralasciato le caratteristiche meno usate basandosi sui commenti e suggerimenti degli utenti.
Nonostante tutto, i team erano fortemente motivati a coprire tutti gli scenari esistenti e hanno pertanto progettato le azioni di tipo “Avvia un flusso di lavoro” per consentire agli utenti finali di combinare SharePoint 2013 e SharePoint 2010. L'abilitazione delle chiamate dal flusso di lavoro della versione 2013 a quello della versione 2010 costituiva infatti l'unica soluzione più economica per offrire un percorso di migrazione per gli utenti correnti di SharePoint Designer.
I flussi di lavoro possono essere suddivisi in tre diverse categorie, ovvero elenco, riutilizzabile e sito. Per ulteriori informazioni, fate riferimento a questo post di blog. Il flusso di lavoro riutilizzabile accetta i parametri di input durante la fase di associazione e può essere attivato in un elenco e come voce di un elenco come se si trattasse di un flusso di lavoro elenco. Per avviare un flusso di lavoro, il flusso di lavoro di SharePoint 2010 deve essere pronto per l'esecuzione nel momento in cui viene chiamato, ovvero deve essere già associato se si tratta di un flusso di lavoro riutilizzabile. Questi flussi di lavoro sono quindi supportati da un'unica azione di tipo “Avvia un flusso di lavoro elenco” (Start a List Workflow) per la quale si devono specificare tre parametri: il flusso di lavoro associato di SharePoint 2010 da attivare, i parametri del modulo di avvio e l'elemento di destinazione in cui verrà eseguito il flusso di lavoro associato. Il flusso di lavoro sito non ha invece bisogno di elementi per essere eseguito e si basa su un'altra azione di tipo “Avvia un flusso di lavoro sito” per la quale si devono specificare due parametri, ovvero il flusso di lavoro sito di SharePoint 2010 da attivare e i parametri del modulo di avvio.
Per ulteriori informazioni sul “bridge di interoperabilità del flusso di lavoro”, consultate https://msdn.microsoft.com/en-us/library/sharepoint/jj163181(office.15).
Scenario di esempio
Una volta chiariti i concetti di base, vi illustrerò come e quando utilizzare queste azioni, presentandovi uno scenario di esempio e una descrizione passo-passo.
Presupponiamo che nel sito di SharePoint 2010 sia stato utilizzato un flusso di lavoro “Approvazione del budget” (Budget Approval). Un amministratore IT decide di effettuare l'aggiornamento da SharePoint 2010 a SharePoint 2013, ma di eseguire la migrazione dei flussi di lavoro esistenti di SharePoint 2010 al nuovo sito in un secondo momento (nota: in seguito all'aggiornamento della versione i flussi di lavoro esistenti non vengono aggiornati a SharePoint 2013, ma continuano a essere flussi di lavoro di SharePoint 2010). Il flusso di lavoro “Approvazione del budget” (Budget Approval) viene utilizzato per richiedere il budget al reparto finanze o risorse umane e accetta come input quattro parametri, ovvero “Budget richiesto” (Budget requested) per indicare l'importo richiesto, “Spiegazione” (Explanation) per illustrare i motivi della richiesta, “Scadenza della richiesta di approvazione” (Requested approval due date) per indicare una scadenza per la risposta e “Riferimenti” (Reference) per aggiungere eventuali informazioni correlate.
Immaginate di voler utilizzare il flusso di lavoro “Approvazione del budget” (Budget Approval) in un nuovo processo del flusso di lavoro. In passato sarebbe stato necessario creare un nuovo flusso di lavoro e riscriverlo nel nuovo framework. Volendo poi combinare le nuove caratteristiche del flusso di lavoro della versione 2013 con il flusso di lavoro “Approvazione del budget”, sarebbe stato impossibile scrivere tutto in un unico flusso di lavoro.
In questo caso le azioni di tipo “Avvia un flusso di lavoro” costituiscono la soluzione perfetta. Supponiamo che il flusso di lavoro “Approvazione del budget” (Budget Approval) sia un flusso di lavoro elenco nell'elenco “Finanza Contoso” (Contoso finance) in cui i processi finanziari di Contoso sono automatizzati tramite flussi di lavoro.
Passaggi di progettazione
1. Inserite un'azione di tipo “Avvia un flusso di lavoro elenco” (Start a List Workflow) quando il flusso di lavoro di destinazione da attivare è di tipo elenco o riutilizzabile associato a un elenco.
2. Dopo aver inserito l'azione, è necessario specificare per primo il flusso di lavoro o l'associazione. Fate quindi clic sul collegamento “Flusso di lavoro elenco di SharePoint 2010” (SharePoint 2010 list workflow).
3. Individuate l'elenco in cui si trova il flusso di lavoro di destinazione e selezionate il flusso di lavoro.
4. Fate clic su “OK” per chiudere la finestra di dialogo. A questo punto fare clic sul collegamento “parametri” (parameters) nella frase dell'azione Avvia flusso di lavoro elenco. Il flusso di lavoro verrà analizzato in SharePoint Designer 2013 e verranno visualizzati i parametri di avvio, nonché i relativi valori predefiniti.
Nella finestra di dialogo verranno visualizzate ulteriori informazioni sul tipo per ognuno dei parametri. L'autore del flusso di lavoro di SharePoint 2013 potrebbe infatti essere diverso da quello del flusso di lavoro di SharePoint 2010 ed era quindi importante fornire all'autore del flusso di lavoro di SharePoint 2013 informazioni sufficienti per impostare i valori dei parametri del modulo di avvio senza esaminare il flusso di lavoro chiamato.
5. Potete impostare il valore di ogni parametro durante la fase di progettazione. I valori di ricerca possono invece essere selezionati qui e il valore verrà impostato effettivamente in fase di esecuzione. È quindi possibile progettare in modo flessibile un processo integrato utilizzando un flusso di lavoro di SharePoint 2013 chiamante e un flusso di lavoro di SharePoint 2010 chiamato.
Nella finestra di dialogo sono incluse anche le restrizioni. In questo modo non dovrete conoscere in anticipo le informazioni sul parametro.
6. Potete naturalmente impostare il valore anche digitandolo direttamente nell'editor di testo. Tenete presente che la finestra di dialogo e le relative funzionalità cambiano a seconda dei tipi di parametro.
7. Facendo clic su “…”, verrà visualizzato un tipo di finestra di progettazione corrispondente al tipo di parametro da popolare e che vi aiuterà nell'immissione dei dati. Se si fa clic su “Fx”, viene visualizzata la finestra di dialogo di ricerca standard.
8. Dopo aver impostato tutti i parametri, chiudete la finestra di dialogo “Imposta valori per parametri di avvio” (Set Values for Initiation Parameters). Il numero di parametri impostati verrà visualizzato direttamente nella frase dell'azione.
9. Scegliete quindi l'elemento in cui verrà eseguito il flusso di lavoro di destinazione. In genere il processo viene eseguito sull'elemento corrente, pertanto i flussi di lavoro chiamante e chiamato vengono eseguiti e creano log e risultati per lo stesso elemento. Per supportare lo scenario generico, scegliete “Elemento corrente” (Current Item) per il parametro “questo elemento” (this item).
Finito! Chiamare un flusso di lavoro di SharePoint 2010 è semplice: basta aggiungere una frase di tipo azione e impostare i valori appropriati. Il processo è in realtà molto simile alla sequenza di operazioni eseguite dagli utenti finali che attivano il flusso di lavoro di SharePoint 2010 nel server SharePoint, ovvero selezione di un elenco, di un elemento e di un flusso di lavoro associato e compilazione del modulo di avvio, come illustrato nelle figure seguenti.
Potete anche utilizzare il valore delle variabili del flusso di lavoro chiamato all'interno del flusso di lavoro di SharePoint 2013 chiamante. Queste variabili verranno rese disponibili nel flusso di lavoro di SharePoint 2013 tramite la finestra di dialogo di ricerca.
Vi illustrerò questa caratteristica con uno scenario di esempio.
Immaginate che la società abbia definito nuovi criteri e che il progettista del flusso di lavoro debba inviare un messaggio di posta elettronica agli utenti che partecipano al processo di approvazione del budget per invitarli a esaminare i nuovi criteri.
10. Aggiungete un'azione “Invia un messaggio” (Send an email) per inviare un messaggio agli utenti che partecipano all'approvazione del budget.
11. Per cercare le variabili del flusso di lavoro di SharePoint 2010, scegliete “Ricerca flusso di lavoro per un utente” (Workflow Lookup for a User) per il controllo “A” (To).
12. Dopo l'inserimento dell'azione “Avvia un flusso di lavoro elenco/sito” (Start a List/Site Workflow) e la selezione del flusso di lavoro di SharePoint 2010 verrà creata automaticamente una nuova origine dati, il cui nome è costituito dal testo statico “SharePoint 2010 Output” e dal nome del flusso di lavoro.
13. Tutte le variabili di “Approvazione del budget” (Budget Approval) verranno visualizzate nel secondo elenco a discesa “Campo dall'origine” (Field from source). Scegliete la variabile necessaria e fare clic su “OK” per impostare il valore di “A” (To) nella finestra di dialogo del messaggio di posta elettronica.
14. Utilizzate la stessa procedura per compilare la sezione “CC”. Tenete presente che le variabili vengono create manualmente dall'autore del flusso di lavoro di SharePoint 2010. Completate i campi restanti con i valori che preferite.
Spero di aver chiarito tutti i dubbi su come utilizzare correttamente i valori restituiti dal flusso di lavoro di SharePoint 2010.
Nell'esempio precedente abbiamo visto come utilizzare le azioni di “Avvia un flusso di lavoro” (Start a Workflow) per chiamare un flusso di lavoro legacy. Potete estendere questo concetto e utilizzare la stessa azione per aggiungere ulteriori funzionalità nei flussi di lavoro di SharePoint 2013. Vi sono ad esempio alcune azioni che sono disponibili solo nei flussi di lavoro di SharePoint 2010, come quella per la ricerca di un responsabile. In questi casi è possibile utilizzare le azioni di “Avvia un flusso di lavoro” per attivare un altro flusso di lavoro basato sulle azioni legacy ed espandere le funzionalità.
Dopo che avrete imparato a utilizzare bene le azioni di “Avvia un flusso di lavoro”. i flussi di lavoro di SharePoint 2013 e SharePoint 2010 non vi sembreranno moduli per flussi di lavoro distinti.
Limitazioni
La combinazione dei flussi di lavoro di SharePoint 2013 e 2010 presenta tuttavia alcune limitazioni.
Alcune sono dovute alle modifiche apportate alla progettazione nella nuova piattaforma. Ad esempio, i parametri di tipo “Fasi assegnazione” non sono supportate in “Avvia un flusso di lavoro” poiché il tipo di parametro non è più supportato nei flussi di lavoro di SharePoint 2013. In altre parole, se volete utilizzare “Avvia il processo di approvazione”, potrete scegliere solo il flusso di lavoro di SharePoint 2010.
Tutti i flussi di lavoro da collegare tramite un'azione “Avvia un flusso di lavoro” devono inoltre risiedere in un unico sito, anche se le pagine di stato di tutti i diversi flussi di lavoro verranno visualizzate separatamente.
Infine, non è possibile eseguire sull'elemento corrente del flusso di lavoro di SharePoint 2013 i flussi di lavoro chiamanti associati a un elenco diverso. Questa limitazione è prevista perché i due flussi di lavoro verrebbero eseguiti in base a elenchi diversi. Se si esegue un flusso di lavoro su un elenco diverso, sarà quindi necessario scegliere un elemento specifico dell'elenco del flusso di lavoro di destinazione in base al quale eseguire il flusso di lavoro di origine.
Riepilogo
Un'azione “Avvia un flusso di lavoro” consente di attivare un flusso di lavoro di SharePoint 2010 durante l'esecuzione di un flusso di lavoro di SharePoint 2013 in fase di esecuzione. A seconda del tipo di flusso di lavoro chiamato, sono disponibili due diversi tipi di azione: “Avvia un flusso di lavoro elenco” e “Avvia un flusso di lavoro sito”.
Per definire l'azione, basta scegliere il flusso di lavoro di destinazione e impostare i parametri di avvio del flusso di lavoro di origine con valori fissi o dinamici, nonché scegliere l'elenco cui appartiene il flusso di lavoro e l'elemento sul quale il flusso di lavoro verrà eseguito in caso di azione “Avvia un flusso di lavoro elenco”.
È possibile inserire l'azione in qualsiasi punto del flusso di lavoro di SharePoint 2013. È persino consentito chiamare più flussi di lavoro di SharePoint 2010. I flussi di lavoro esistenti di SharePoint 2010 possono essere riutilizzati senza riscrivere le azioni in essi contenute. Questo è un metodo molto comodo ed efficace per combinare flussi di lavoro di SharePoint 2013 e SharePoint 2010.
I valori restituiti dai flussi di lavoro di SharePoint 2010 chiamati vengono resi disponibili per la logica del flusso di lavoro di SharePoint 2013 tramite la finestra di dialogo di ricerca. I valori restituiti includono tutte le variabili locali e alcune altre variabili condizionali per qualsiasi flusso di lavoro di SharePoint 2010 chiamato nello stesso flusso di lavoro di SharePoint 2013.
Spero che sfrutterete appieno i vantaggi di questa nuova funzionalità.
Chong Youn (John) Choe
Questo è un post di blog localizzato. L'articolo originale è disponibile in How to trigger a SharePoint 2010 workflow from a SharePoint 2013 workflow