Articolo originale pubblicato giovedì 22 novembre 2012

jonghwal's picSalve. Il mio nome è JongHwa Lim e sono un Program Manager del team di SharePoint Designer.
Oggi vedremo insieme un flusso di lavoro di esempio già presentato alla SharePoint Conference 2012 (SPC 2012). Non solo: in questo post modificheremo il flusso di lavoro per renderlo più realistico. Nell'articolo sono inclusi consigli preziosi per la creazione di un flusso di lavoro con SharePoint Designer 2013 (conosciuto anche come SPD 2013). Nella spiegazione dei dettagli presuppongo che abbiate già dimestichezza con SharePoint Designer 2013 e con il tipo di flusso di lavoro di SharePoint 2013. In caso contrario, leggete gli articoli precedenti per ottenere tutte le informazioni sui flussi di lavoro di SharePoint 2013. 

Un flusso di lavoro per un'azienda che offre eventi per il tempo libero

Immaginiamo un'azienda chiamata Contoso Leisure che offre lezioni per il tempo libero, ad esempio equitazione, pesca, tiro a piattello, parapendio e paracadutismo.

immagine

Immaginiamo di avere bisogno di un flusso di lavoro di approvazione che esegua le operazioni seguenti.

  • Richiesta di approvazione dal gruppo di SharePoint del Coordinatore eventi
  • Se l'approvazione è negata, invio di un messaggio di posta di rifiuto al cliente
  • Se la richiesta è approvata, inviare un messaggio di posta di promemoria 5 giorni prima dell'evento o lezione
    • Nel messaggio di promemoria devono essere contenute informazioni sull'evento, quali informazioni metereologiche e una mappa con le indicazioni per raggiungere l'evento 

In questo esempio di flusso di lavoro useremo due servizi Web, ma solo uno di questi sarà gestito dall'azione ‘Chiama servizio Web HTTP’ disponibile in SPD. L'altro servizio Web farà riferimento a una variabile stringa e sarà incorporato nel corpo del messaggio con un tag <IMG>. Per ulteriori informazioni potete consultare la pagina API di Bing Map. (http://www.microsoft.com/maps/developers/web.aspx)

Se create un flusso di lavoro, apparirà come di seguito.

immagine

immagine

immagine

La fase ‘Get Weather Info’ (Ottieni informazioni meteo) comprende un'azione ‘Chiama servizio Web HTTP’. Facendo clic sul primo parametro si nota che è usato l'URL seguente, in cui la chiave del servizio Web è memorizzata in un elenco separato chiamato ‘Web Service Keys’. Per una spiegazione e un esempio di utilizzo delle azioni servizio Web, Recupera un elemento da un dizionario e Loop vi rimando al post scritto da HyongGuk Kim.(http://blogs.technet.com/b/office_it/archive/2012/10/11/come-utilizzare-il-servizio-web-con-l-azione-quot-chiama-servizio-web-http-quot.aspx) 

immagine

Facendo clic sull'azione ‘Set Workflow Variable’ (Imposta variabile flusso di lavoro) nella fase ‘Send Reminder Email’ (Invio messaggio di posta di promemoria) vedrete che anche qui è utilizzato l'elenco ‘Web Service Keys’ per la memorizzazione della chiave o del token del servizio Web.

immagine 

Rendiamo tutto un po' più realistico

In una situazione reale, le chiavi del servizio Web devono essere gestite in maniera sicura. Per questo motivo, è importante proteggerle memorizzandole in un elenco accessibile solo da persone che dispongono di autorizzazioni Controllo completo. In questo caso, però, la normale logica del flusso di lavoro non riuscirebbe ad accedere alle chiavi del servizio Web poiché questo è eseguito sotto l'autorizzazione dell'iniziatore e (AND logico) e dell'App del flusso di lavoro. Quindi, se l'iniziatore del flusso di lavoro non dispone dell'autorizzazione ad accedere all'elenco contenente le chiavi del servizio Web, il flusso di lavoro ha esito negativo. Per far funzionare la logica del flusso di lavoro eseguito solo sotto autorizzazione dell'App che è di lettura/scrittura per tutti gli elenchi del sito, dobbiamo usare un passaggio app. 

Passaggio 1. Rendere l'elenco sicuro mediante autorizzazioni indipendenti

Come spiegato, dobbiamo rendere l'elenco che contiene le chiavi del servizio Web accessibile solo da utenti che dispongono di autorizzazioni Controllo completo. Per farlo è necessario interrompere l'ereditarietà e rimuovere dall'elenco gli utenti che non sono necessari.

Supponiamo che l'elenco sia ‘Web Service Keys’. Accedendo alla pagina Impostazioni elenco e Autorizzazioni per l'elenco si trova un menu che blocca l'ereditarietà.

immagine

Dopo avere interrotto l'ereditarietà potete scegliere a quali utenti non concedere le autorizzazioni Controllo completo, e quindi fare clic sul pulsante Rimuovi autorizzazioni utente.

immagine

Nell'elenco saranno quindi visibili soltanto gli utenti che dispongono di autorizzazioni Controllo completo.

immagine

Passaggio 2. Attivazione della caratteristica Passaggio app

Per usare il passaggio app in questo flusso di lavoro, attivare la caratteristica I flussi di lavoro possono usare le autorizzazioni app in Impostazioni sito->Gestisci caratteristiche sito, come illustrato in basso.

immagine

Sarà così attivato il pulsante Passaggio app in SPD.

immagine

Passaggio 3. Aggiunta del passaggio app e spostamento della logica al suo interno

Dovete trovare le logiche che fanno riferimento all'elenco ‘Web Service Keys’ e incorporarle nel contenitore del passaggio app. Qui abbiamo due logiche da inserire nel passaggio app, l'azione Chiama servizio Web HTTP e l'azione Imposta variabile RouteMap, illustrate nella figura in basso:  

immagine

immagine 

Passaggio 4. Pubblicazione del flusso di lavoro

Quando si pubblica il flusso di lavoro, sarà visualizzata la finestra di dialogo seguente che ne illustra il comportamento.

immagine

Spero che questo articolo vi sia piaciuto e vi sia risultato utile per l'utilizzo di App Step. Alla prossima!

Questo è un post di blog localizzato. L'articolo originale è disponibile in How to Create a SharePoint Designer 2013 Workflow with App Step (extension from the example workflow used for SPC 2012)