Articolo originale pubblicato venerdì 8 luglio 2011

Foto di JohnSalve a tutti. Sono Chong Youn (John) Choe, un manager di progetto del team di SharePoint Designer. Quest'ultimo è un pratico strumento, progettato per essere utilizzato dai non sviluppatori. Preparerò perciò una serie di post relativi alle principali funzionalità utili per acquisire familiarità con il funzionamento di SharePoint Designer. L'aspetto ancora più positivo è che queste funzionalità sono sufficienti per creare flussi di lavoro veramente potenti!

Inizierò dai parametri di avvio. A questo argomento saranno dedicati due post. In questo verranno illustrati il concetto di base e le modalità con cui raccogliere l'input utente. Nel post successivo verrà spiegato come estrarre e modificare i valori.

Allora partiamo subito.

A cosa servono i parametri di avvio?

Quando si progetta un flusso di lavoro, non è possibile determinare alcuni tipi di dati. L'importo in denaro di una nota spese o la data di una richiesta di ferie sono solo un paio di esempi dei dati che non possono essere determinati durante la creazione di un flusso di lavoro. È pertanto consigliabile progettare i parametri di avvio in modo da ricevere tali dati, se necessario.

Quando un flusso di lavoro riceve l'input utente? (Che cosa sono l'avvio e l'associazione?)

Si supponga una situazione di lavoro in cui è previsto l'utilizzo di supporti cartacei. L'importo in denaro o la data può venire specificata quando un dipendente presenta le note spese o le richieste di ferie. Questo è un esempio delle informazioni inserite al momento dell'avvio del flusso di lavoro.

Immaginare un formato di base per un documento utilizzato in un'azienda, con le relative varianti utilizzate nei diversi reparti. Nella nostra azienda di esempio i documenti presentati al CEO devono essere di una sola pagina e il reparto di marketing ha stabilito di esaminare le eventuali richieste di approvazione nel giro di tre giorni. In SharePoint questo equivale a impostare valori diversi quando un flusso di lavoro viene applicato a un elenco. In questo modo, gli elementi possono condividere valori comuni all'interno dell'elenco, ma non al di fuori di esso, anche se il flusso di lavoro può essere associato a qualsiasi elenco di un sito.

Tutti i flussi di lavoro creati mediante SharePoint Designer visualizzano moduli di avvio per consentire agli utenti di impostare i parametri quando inizia il flusso di lavoro. Ecco perché si parla di "parametro di inizializzazione". I flussi di lavoro riutilizzabili forniscono un ulteriore modulo di avvio e un ulteriore parametro di avvio (in caso di associazione a un elenco) noto appunto come "parametro di associazione". I parametri possono essere visualizzati al momento dell'associazione e al momento dell'avvio. In fase di avvio questi parametri mostrano valori preimpostati durante l'associazione, anche se sono modificabili.

 
Diciamo per ora che i flussi di lavoro elenco e i flussi di lavoro sito dispongono soltanto di parametri di inizializzazione e che i flussi di lavoro riutilizzabili dispongono di parametri di inizializzazione, parametri di associazione e parametri inclusi nella fase di avvio e in quella di associazione.

Qualora non fosse chiaro cosa si intende per avvio e associazione, ecco alcuni brevi esempi.

Fare clic su un elemento dell'elenco

Quando si fa clic su un elemento di un elenco,

Visualizzazione Modifica elemento (Edit Item)
si attiva la visualizzazione Modifica elemento (Edit Item), in cui è possibile fare clic sul pulsante "Flussi di lavoro" (Workflows).

Finestra di dialogo Flussi di lavoro (Workflows)

Viene quindi visualizzato un altro livello con le informazioni di flusso di lavoro controllabili per l'elemento selezionato. Quando si sceglie un flusso di lavoro da avviare, il modulo che viene visualizzato successivamente è il modulo di avvio. Questo è un esempio di flusso di lavoro elenco o di flusso di lavoro riutilizzabile associato, tuttavia i moduli dei flussi di lavoro sito o dei flussi di lavoro riutilizzabili globalmente sono anche moduli di avvio.

I moduli di associazione invece vengono visualizzati agli utenti solo quando viene associato un flusso di lavoro riutilizzabile.

Aggiungere un flusso di lavoro - da Strumenti elenco (List Tools)

Selezionando "Aggiungi flusso di lavoro" (Add a Workflow) da un elenco come mostrato sopra,

Pagina di associazione del flusso di lavoro

viene visualizzata la pagina di associazione del flusso di lavoro. Selezionare un modello di flusso di lavoro, specificare un valore appropriato per ogni campo e fare clic su OK. Verrà quindi visualizzato il modulo di associazione.

Si noti che non è facile distinguere dall'aspetto i moduli di avvio dai moduli di associazione!

In "Introduzione alla progettazione e alla personalizzazione dei flussi di lavoro" vengono illustrati i tipi di flusso di lavoro e quando utilizzarli.

 
Come impostare i parametri per ricevere l'input utente

Pulsante Parametri modulo avvio (Initiation Form Parameters)

Il primo passaggio per impostare i parametri di input consiste nell'individuare il pulsante "Parametri modulo avvio" (Initiation Form Parameters) nella sezione "Variabili" (Variables) della barra multifunzione. Facendo clic su tale pulsante, viene visualizzata la finestra di dialogo "Parametri modulo associazione e avvio" (Association and Initiation Form Parameters).

Finestra di dialogo Parametri modulo associazione e avvio (Association and Initiation Form Parameters)
Fare clic sul pulsante "Aggiungi" (Add) per inserire un nuovo parametro nella finestra di dialogo "Aggiungi campo" (Add Fied). Gli altri pulsanti verranno descritti più avanti.

Finestra di dialogo Aggiungi campo (Add Field)
Come si nota, è possibile completare quattro campi, ovvero "Nome campo" (Field name), "Descrizione" (Description), "Tipo informazioni" (Information type) e "Raccolta da parametro durante" (Collect from parameter during).

Il nome del campo e la descrizione verranno visualizzati agli utenti come stringhe e non avranno alcun impatto da un punto di vista funzionale, pertanto è possibile inserire qualsiasi testo si desideri. È consigliabile specificare espressioni descrittive nei campi.

Il tipo di informazioni indica un set predefinito di tipi di dati che fanno parte dei dati di avvio e associazione. Il valore può essere uno dei seguenti:

· Riga di testo singola (Single line of text)

· Più righe di testo (Multiple lines of text)

· Numero (Number) (1, 1.0, 100)

· Data e ora (Date and Time)

· Scelta (Choice) (menu in cui eseguire una selezione)

· Sì/No (Yes/No) (casella di controllo)

· Utente o gruppo (Person or Group)

· Collegamento ipertestuale o immagine (Hyperlink or Picture)

· Fasi assegnazione (Assignment Stages)

Nell'ultimo campo è infine necessario specificare quando devono essere impostati i relativi dati. In questo caso, il valore può essere "Avvio (per avviare il flusso di lavoro)" (Initiation (starting the workflow))", "Associazione (per associare a un elenco)" (Association (attaching to a list)) oppure "Sia avvio che associazione" (Both initiation and association). Questo campo non è presente nella finestra di dialogo aperta da un flusso di lavoro elenco, sito o riutilizzabile globalmente, in quanto i relativi dati possono essere impostati solo durante l'avvio.

È possibile impostare il valore iniziale per questo campo o lasciarlo vuoto nella pagina successiva e completare questa sezione.

Che cosa accade se si aggiunge un parametro di inizializzazione come mostrato in precedenza?

Finestra di dialogo con i parametri del modulo di avvio - dopo l'aggiunta di un parametro

È stato appena visualizzato un nuovo campo. Sono tre i valori possibili per "Mostra nel modulo" (Show on Form), ovvero "Avvio" (Initiation), "Associazione" (Association) ed "Entrambi" (Both). Queste opzioni sono correlate alla selezione effettuata per il campo "Raccolta da parametro durante" (Collect from parameter during). È possibile aggiungere un altro parametro facendo clic sul pulsante "Aggiungi" (Add). Selezionando un campo, verranno abilitati i pulsanti "Modifica" (Modify) e "Rimuovi" (Remove). Il primo di questi pulsanti consente di aprire la finestra di dialogo "Modifica campo" (Modify Field), che è uguale alla finestra di dialogo "Aggiungi campo" (Add Field), ma con i valori preimpostati su quanto aggiunto inizialmente. Il secondo pulsante consente di cancellare il campo selezionato. Quando vi sono due o più campi nella finestra di dialogo e se ne seleziona uno, i pulsanti "Sposta" (Move) si abilitano e consentono di modificare l'ordine dei campi. Modificando qui l'ordine, vengono apportate le stesse modifiche direttamente nei moduli di avvio creati automaticamente e modificabili.


In "Associazione di flussi di lavoro e moduli di avvio (SharePoint Foundation)" vengono fornite informazioni tecniche relative ai moduli.

Esempio di modulo predefinito 
Questo è il modulo predefinito creato da SharePoint Designer e può essere visualizzato e modificato tramite InfoPath. È inoltre possibile considerarlo come un'anteprima di quanto vedranno gli utenti durante l'avvio dell'istanza di flusso di lavoro.

Corrispondenza dell'esempio di modulo predefinito

Come è possibile notare, il nome del campo e la descrizione vengono visualizzati esplicitamente nel modulo predefinito. I pulsanti "Avvia" (Start) e "Annulla" (Cancel) consentono rispettivamente di confermare e annullare un avvio dell'istanza di flusso di lavoro in questione.


Dettagli su tutti i tipi di campo

Dettagli su tutti i tipi di campo
Di seguito sono elencate tutte le istanze di tipi di parametri di avvio possibili in una pagina. Attualmente sono 10 i tipi supportati come parametro di avvio, anche se vi sono più tipi di variabili in SharePoint Designer.

Ogni tipo può avere un valore predefinito, una descrizione e altre restrizioni, ad esempio un intervallo di input valido. Il modulo iniziale automatizzato può inoltre essere personalizzato con InfoPath modificando il testo, l'immagine e il layout.


1) Riga di testo singola (Single line of text)

Immagine 1

"Riga di testo singola" (Single line of text) è un campo in cui è possibile inserire una stringa di una riga. Il valore predefinito (Default value) può essere impostato dalla finestra di dialogo sopra riportata e verrà visualizzato su una riga. Benché il limite di caratteri per questo campo sia abbastanza elevato, è consigliabile utilizzare il campo "Più righe di testo" (Multiple lines of text) anziché questo se la stringa non può entrare tutta su una riga.

2) Più righe di testo (Multiple lines of text)

Immagine 2

In questo campo è possibile inserire stringhe lunghe. I campi "Riga di testo singola" (Single line of text) e "Più righe di testo" (Multiple lines of text) sono visivamente diversi, ma vengono trattati come lo stesso tipo di variabile stringa di SharePoint Designer.

3) Numero (Number)

Immagine 3

Nel campo "Numero" (Number) è possibile inserire un numero come un tipo 'doppio'. Questo significa che, oltre ai numeri interi e ai numeri positivi, vengono accettati valori frazionari e valori negativi. È possibile impostare un valore predefinito o lasciare vuoto il relativo campo. È inoltre possibile impostare valori minimi o massimi per questo campo per impedire agli utenti di immettere numeri troppo piccoli o troppo grandi.

4) Data e ora (Date and Time)

Immagine 4

Il tipo "Data e ora" (Date and Time) prevede diverse opzioni utili per impostare i valori appropriati. È innanzitutto possibile scegliere il tipo di valore tra "Solo data" (Date only) e "Data e ora" (Date and Time). Se si seleziona "Solo data" (Date only), nel modulo saranno visualizzati e modificabili solo i valori di data, mentre selezionando "Data e ora" (Date and Time) saranno disponibili sia la data che l'ora.

Immagine 4-2

L'opzione associata alla casella di controllo più in basso consente di limitare i valori di input utente, accettando solo quelli successivi al momento dell'apertura del modulo. Questo è utile in molti scenari reali per evitare errori. Quando ad esempio è necessario impostare date di scadenza per l'approvazione o date delle ferie, in genere la data e l'ora devono essere future.

È naturalmente possibile impostare anche valori iniziali per la data e l'ora per guidare gli utenti. Come opzioni vengono fornite anche la data e l'ora correnti di oggi.

5) Scelta (Choice)

Immagine 5

Il tipo "Scelta" (Choice) consente di utilizzare menu a discesa. Ogni scelta deve essere scritta come una riga di testo ed è possibile impostare un valore predefinito oppure lasciare vuoto il relativo campo.

Immagine 5-2
Per la progettazione basata sul testo, viene fornita un'opzione per separare il testo visualizzato nel modulo e il valore stringa utilizzato durante la fase di progettazione nella finestra di progettazione basata sul testo di SharePoint Designer. Se in una riga viene inserita una barra verticale, la stringa a sinistra diventa il valore all'interno della finestra di progettazione basata sul testo, mentre l'altra parte viene visualizzata durante l'avvio e l'associazione.

6) Sì/No (Yes/No)

Per gli utenti viene fornita una casella di controllo all'avvio del flusso di lavoro. L'unica impostazione da effettuare è il valore predefinito.

Immagine 6

7) Utente o gruppo (Person or Group)

Immagine 7 
L'opzione "Mostra campo" (Show Field) per ora può essere ignorata, dal momento che ogni volta che viene selezionato un utente o un gruppo, l'utente o il gruppo compare sempre con il relativo nome visualizzato. Deselezionando Consenti nessun valore (Allow Blank Values), è possibile obbligare gli utenti a selezionare almeno un utente o un gruppo per completare il modulo e proseguire.

È possibile decidere se consentire o meno la selezione dei gruppi. È inoltre possibile specificare quali gruppi di SharePoint possono essere utilizzati per selezionare un utente o un gruppo. Selezionando "Tutti gli utenti" (All Users), si consente agli utenti di effettuare una selezione da tutte le origini accessibili.

Immagine 7-2

Per ricevere l'input utente sopra riportato, è necessario selezionare "Utenti e gruppi" (People and Groups) e "Consenti più valori" (Allow multiple values).

8) Collegamento ipertestuale (Hyperlink)

Immagine 8

È possibile decidere se visualizzare l'URL come un collegamento ipertestuale ("Hyperlink") o un'immagine ("Picture") statica.

Immagine 8-2

Mediante questa opzione, nel modulo di destinazione vengono inseriti un pulsante e un collegamento ipertestuale in formato testo. Dopo avere selezionato questa opzione, gli utenti dovranno specificare l'URL e la relativa descrizione. Se ad esempio si inserisce rispettivamente "http://microsoft.com" e "Microsoft", questa parte del modulo verrà visualizzata come mostrato di seguito.

Immagine 8-3

Il collegamento è già impostato per consentire l'accesso a http://www.microsoft.com/en-us/default.aspx. L'utente può comunque modificarlo facendo clic sul pulsante a sinistra.

9) Immagine (Picture)

Immagine 9

È possibile decidere se visualizzare l'URL come un collegamento ipertestuale ("Hyperlink") o un'immagine ("Picture") statica.

Immagine 9-2

Un'immagine può essere impostata con un URL e una descrizione esattamente come un collegamento ipertestuale. In questo modo, l'immagine di destinazione verrà inserita immediatamente nel modulo e potrà essere sostituita facendo clic su di essa e scrivendo un altro URL. La descrizione viene visualizzata passando il cursore sull'immagine. L'immagine sopra riportata è un esempio di questo, in quanto ha come descrizione il testo "SPD blog".

10) Fasi assegnazione (Assignment Stages)

"Fasi assegnazione" (Assignment Stages) è utile soltanto in Attività di Office. Non utilizzare questo parametro senza Attività di Office.

Immagine 10

Immagine 10-2

"Fasi assegnazione" (Assignment Stages) è poco comune per due aspetti. Non è possibile farvi riferimento dalla finestra di progettazione basata sul testo, a meno che non riguardi un flusso di lavoro di approvazione, e può espandere le fasi dinamicamente. Ogni fase è una combinazione di selezione utenti e di un tipo di ordine di assegnazione, seriale o parallelo.

Il concetto di "fasi di assegnazione" corrisponde a un componente molto complesso ma potente che non mi è possibile illustrare in dettaglio in quest'unico post. Prevedo comunque di preparare presto un altro post proprio su Attività di Office, in cui avrò modo di affrontare ancora questo concetto.


Riepilogo

I parametri di avvio consentono di ricevere l'input utente per i flussi di lavoro. Vi sono due tipi di parametri di avvio, ovvero quelli di inizializzazione e quelli di associazione. È possibile impostare dieci tipi di parametri di avvio in base allo scenario per cui vengono utilizzati i propri flussi di lavoro. Per ogni tipo di parametri sono disponibili opzioni utili per guidare gli utenti finali.

Per ulteriori informazioni sulla creazione e sull'utilizzo dei parametri di inizializzazione, è possibile trovare una spiegazione esauriente nel documento di supporto su Office intitolato "Creare un modulo di avvio di un flusso di lavoro".

Nella Parte 2 spiegherò come utilizzare i parametri ricevuti in fase di progettazione dei flussi di lavoro.

Grazie a tutti per avere dedicato il vostro tempo alla lettura di questo post di blog. Spero che vi sia stato di aiuto.

Non esitate a inserire di seguito i vostri commenti.

Saluti,

Chong Youn (John) Choe

Questo è un post di blog localizzato. L'articolo originale è disponibile in Understanding workflow starting parameters - Part 1.