Come creare HelpDesk su SharePoint 2013/2016/2019 o Office 365

Aggiornamento: Siamo lieti di informarvi che abbiamo rilasciato HelpDesk pronto per l'uso per SharePoint. Può essere installato e configurato in 15 minuti.

In questo articolo, vorrei dimostrare come creare HelpDesk su SharePoint Online o SharePoint 2013/2016/2019. L'idea è semplice Voglio implementare un sistema che consentirà a ciascuna parte del processo di lavorare con i propri strumenti.

Questo è lo scenario generale:

  1. Un promotore del biglietto invierà i biglietti inviando un'e-mail a una cassetta postale specifica.
  2. Tutte le e-mail da questa cassetta postale verranno replicate nell'elenco delle discussioni di SharePoint.
  3. Uno specialista dell'assistenza lavorerà solo con l'elenco delle bacheche di discussione di SharePoint in cui ogni ticket avrà una discussione separata.
  4. Ogni commento inviato al forum di discussione verrà inviato al promotore del biglietto via e-mail.
  5. È possibile rispondere a queste e-mail e tutti i replay saranno replicati nella discussione corrispondente nel forum di discussione.

Pertanto, un iniziatore di ticket funziona con un client di posta elettronica e uno specialista dell'assistenza lavora con l'interfaccia Web di SharePoint. Finalmente avremo qualcosa del genere:

Ho scelto il modello di elenco delle bacheche di discussione di SharePoint perché offre un'interfaccia intuitiva pronta per l'uso. Lo cambierò un po 'per adattare le esigenze del sistema HelpDesk. Dopo le modifiche sarà simile al seguente:

Ogni discussione è un biglietto. Tutte le risposte fornite dall'iniziatore del biglietto e dallo specialista dell'assistenza sono state visualizzate all'interno della discussione. Un ticket di esempio sulla scadenza della licenza è nella figura seguente:

Ho diviso l'implementazione dell'HelpDesk in tre fasi:

  1. Creazione e configurazione dell'elenco dei biglietti.
  2. Configurazione dei flussi di lavoro di SharePoint Designer.
  3. Modifica delle opinioni del forum di discussione.

Creazione e configurazione dell'elenco dei biglietti

Innanzitutto, creiamo il nuovo elenco dal modello di elenco della bacheca di discussione. L'ho chiamato Biglietti. Quindi dobbiamo aggiungere nuovi campi:

  • A: riga di testo singola
  • Da: riga di testo singola
  • TicketStatus - Scelta (menu tra cui scegliere). Quindi aggiungi due stati "Attivo" e "Risolto". Inoltre, puoi aggiungere i tuoi stati.

Come puoi vedere dai primi due nomi, utilizzeremo questi campi per memorizzare i campi "A" e "Da" dal messaggio di posta elettronica. Useremo TicketStatus nelle viste del forum di discussione, guarda la prima foto in questo articolo.

Questo è tutto ciò che dobbiamo fare prima di configurare i flussi di lavoro di SharePoint, ma per chiarire il comportamento dei flussi di lavoro futuri descriverò il campo di discussione "ID cartella principale". Questo campo viene utilizzato dai commenti del forum di discussione per fare riferimento a una discussione iniziale. Guarda questo esempio per comprendere la struttura tipica di un elenco di discussione.

Le discussioni e i commenti sono memorizzati nello stesso elenco, utilizzeremo "ID cartella principale" per trovare la discussione per un commento specifico.

Configurazione dei flussi di lavoro di SharePoint Designer

Uso i flussi di lavoro di SharePoint Designer per la sincronizzazione della cassetta postale di Exchange con l'elenco di SharePoint e per le notifiche tramite posta elettronica. Creeremo due flussi di lavoro: il flusso di lavoro a livello di sito sincronizzerà le e-mail con l'elenco di SharePoint e il flusso di lavoro a livello di elenco invierà notifiche relative a nuovi ticket e commenti.

Nota: SharePoint 2013 ha due tipi di flussi di lavoro: flussi di lavoro di SharePoint 2010 (Workflow Foundation 3.5) e flussi di lavoro di SharePoint 2013 (Workflow Foundation 4.5). In questo esempio vengono utilizzati i flussi di lavoro di SharePoint 2013.

Flusso di lavoro dei biglietti di sincronizzazione

Ora creiamo un nuovo flusso di lavoro a livello di sito utilizzando SharePoint Designer. L'ho chiamato "Sync Tickets".

Immediatamente, le attività di progettazione di SharePoint non supportano la sincronizzazione della cassetta postale di Exchange con gli elenchi di SharePoint. Per impostare la sincronizzazione ho usato l'attività del flusso di lavoro personalizzata Sincronizza le e-mail di Exchange con l'elenco. Questa attività è inclusa nel pacchetto attività Flumsail Workflow a pagamento. È un insieme di attività di flusso di lavoro aggiuntive per SharePoint Online e SharePoint 2013/2016/2019.

Questo flusso di lavoro è simile al seguente:

Come puoi vedere dall'immagine, il flusso di lavoro è piuttosto piccolo. Contiene tre fasi.

Nella fase "Credenziali di init", memorizzo le credenziali all'interno delle variabili del flusso di lavoro. Userò queste credenziali per controllare la cassetta postale di Exchange e per sincronizzare le e-mail con l'elenco di SharePoint.

Nella fase "Sincronizza con server di Exchange" utilizzo solo un'attività del flusso di lavoro Sincronizza le e-mail di Exchange con l'elenco. Questa attività caricherà i dati dalla cassetta postale all'elenco di SharePoint. Ho specificato i seguenti parametri:

  • L'elenco dei biglietti.
  • L'indirizzo e-mail e la password della cassetta postale di origine.
  • L'indirizzo e-mail e la password dell'account con autorizzazioni per l'elenco dei biglietti.

In generale, è sufficiente, ma per scenari avanzati, è possibile modificare la mappatura dei campi di posta elettronica nei campi dell'elenco di SharePoint, specificare un'espressione regolare per l'analisi dell'oggetto della posta elettronica e scegliere SiteUrl diversi. SiteUrl è un URL del sito di SharePoint. Per impostazione predefinita, è il sito corrente, ma è possibile specificare un altro sito di SharePoint. Per gestire queste proprietà aprire le proprietà dell'attività:

Nota: non è necessario utilizzare il modello della bacheca di discussione per la sincronizzazione, è possibile creare un elenco personalizzato e specificare la mappatura dei campi nelle proprietà dell'attività.

Nella fase "Attendi 5 minuti", il flusso di lavoro attende solo 5 minuti e riavvia la sincronizzazione passando alla fase "Sincronizza con il server di scambio". Per attendere 5 minuti, utilizzo immediatamente l'attività del flusso di lavoro "Pausa per durata".

Questo è tutto ciò che dobbiamo fare per impostare la sincronizzazione periodica della cassetta postale di Exchange con l'elenco di SharePoint.

Elaborazione di nuovi ticket e commenti flusso di lavoro

Ora creiamo un flusso di lavoro a livello di elenco per l'elenco dei biglietti. L'ho chiamato "Elabora nuovi biglietti e commenti". Questo flusso di lavoro è responsabile delle notifiche e-mail relative ai nuovi biglietti e commenti.

Nella sezione "Opzioni di avvio" delle impostazioni del flusso di lavoro ho selezionato "Avvia flusso di lavoro automaticamente quando viene creato un elemento":

Come sapete dalla descrizione sopra, tutte le discussioni e i commenti sono memorizzati in un unico elenco. Pertanto, questo flusso di lavoro verrà avviato automaticamente ogni volta che viene creato il nuovo ticket o commento.

Il flusso di lavoro è simile al seguente:

Il flusso di lavoro contiene due fasi.

Nella fase "Credenziali di init", memorizzo le credenziali all'interno delle variabili del flusso di lavoro. Userò queste credenziali per inviare notifiche e-mail.

Nella fase "Elaborazione di nuovi biglietti e commenti", controllo se l'elemento corrente è un nuovo biglietto o un nuovo commento. Se "ID cartella principale" è uguale a 0, si tratta di un nuovo ticket perché non ha alcun riferimento all'elemento principale. Se "ID cartella principale" è maggiore di 0, si tratta di un nuovo commento, poiché è collegato a una discussione. Se l'articolo corrente è un nuovo biglietto, invio una notifica all'iniziatore del biglietto con ID del nuovo biglietto nell'oggetto e grazie per aver inviato il biglietto. Tutte le conversazioni future conterranno questo ID ticket nell'oggetto. Ecco perché l'attività nel flusso di lavoro a livello di sito saprà come elaborare la nuova e-mail, quando creare una nuova discussione e quando creare un nuovo commento.

Non utilizzo l'azione del flusso di lavoro "Invia un'e-mail" per inviare notifiche perché non è in grado di inviare e-mail a indirizzi esterni. I nostri promotori di biglietti possono essere sia utenti esterni che interni. L'attività immediata non supporta inoltre l'invio di allegati. Voglio inviare allegati e immagini dai commenti della bacheca di discussione di SharePoint. Invece, utilizzo Invia e-mail con attività di flusso di lavoro allegato dal Plumsail Workflow Activity Pack. Permette di inviare e-mail a utenti esterni. Consente inoltre di allegare manualmente documenti o analizzare automaticamente il contenuto HTML del messaggio e allegare immagini e file dai tag e .

Nota: immagini e file verranno allegati all'e-mail solo se memorizzati nella libreria di SharePoint, altrimenti verranno ignorati. Questo non è un problema per il caso attuale perché tutti i file e le immagini inviati dallo specialista del supporto verranno archiviati nella libreria di SharePoint.

Ora lasciami descrivere come configurare correttamente questa attività del flusso di lavoro. Inizierò con l'attività per l'invio di notifiche sul nuovo biglietto:

Come puoi vedere, ho utilizzato il valore del campo "Da" dell'articolo corrente come indirizzo, quindi ho riempito l'oggetto con "N. biglietto accettato" e l'ID dell'articolo corrente. Infine, ho specificato un corpo amichevole e un'e-mail con una password per la cassetta postale di Exchange.

Quindi l'attività successiva invia notifiche sul nuovo commento:

Per inviare una notifica relativa al nuovo commento, dobbiamo trovare l'indirizzo dell'iniziatore del ticket. Potrebbe essere difficile perché il commento inviato dallo specialista dell'assistenza non contiene questo indirizzo. Buono per noi, contiene "ID cartella principale", quindi possiamo ottenere l'elemento principale (discussione del ticket iniziale) e utilizzarlo come valore nel campo "Da". Utilizza il pulsante "Aggiungi o modifica ricerca" per aprire la finestra di ricerca, quindi configuralo come segue:

Quindi dobbiamo specificare un argomento. Deve contenere l'ID del biglietto iniziale. È "ID cartella principale" per un commento:

Il corpo dell'e-mail sarà lo stesso del corpo del commento, basta scegliere il campo "Corpo" dell'elemento corrente.

Un altro momento importante è allegare immagini e file dal forum di discussione. Apri le proprietà dell'attività e imposta "ParseLinks" e "ParseImages" su "Sì". Ora l'attività del flusso di lavoro analizzerà il corpo del commento e allegarà automaticamente immagini e file alla posta elettronica.

Questo è tutto ciò che dobbiamo fare con il flusso di lavoro a livello di elenco. Ovviamente, puoi aggiungere le tue notifiche a questo flusso di lavoro o, ad esempio, assegnare dipendenti responsabili al ticket.

Modifica delle opinioni del forum di discussione

Come accennato in precedenza, personalizzeremo le viste predefinite del nostro forum di discussione. Queste visualizzazioni possono essere personalizzate solo con JavaScript (JS Link) e mostrerò come farlo.

L'elenco dei forum di discussione ha due punti di vista importanti per noi:

  • AllItems.aspx (Oggetto): questa vista mostra l'elenco delle discussioni (ticket).
  • Flat.aspx (Flat) - questa vista mostra una discussione singola (ticket).

Aggiunta di ViewFields

Entrambe le visualizzazioni non possono essere personalizzate utilizzando l'interfaccia utente di SharePoint. Abbiamo aggiunto tre colonne all'elenco dei biglietti (TicketStatus, From, To). Per renderli visibili è necessario aggiungerli a ViewFields utilizzando SharePoint Designer. Aprilo e vai a Tutti i file -> Elenchi -> Biglietti e apri AllItems.aspx per la modifica. Quindi trova il tag e aggiungi all'interno i seguenti tag:

Fare lo stesso per Flat.aspx.

Dopo aver aggiunto i campi "Da", "A" e "TicketStatus" ai ViewField è possibile utilizzarli all'interno di JavaScript.

Disabilita la strategia di download minima

Le visualizzazioni dell'elenco della bacheca di discussione sono basate su JavaScript, esiste una tonnellata di JavaScript e sostituiremo solo una parte delle funzioni JavaScript. Altrimenti, dovremmo riscrivere l'intero JavaScript. Puoi scaricare il codice sorgente del file JavaScript con personalizzazioni qui.

C'è solo un problema, la funzionalità Strategia di download minima è abilitata per impostazione predefinita in SharePoint Online e SharePoint 2013. È necessario disabilitarla per il sito di SharePoint corrente per evitare conflitti JavaScript tra il file sp.ui.discussions.js pronto all'uso e le nostre personalizzazioni. Questa azione è necessaria perché se si hanno più bacheche di discussione all'interno di un sito di SharePoint con una strategia di download minima, il JavaScript per la prima bacheca di discussione visitata verrà caricato nel browser, quindi se si è visitata per prima cosa una bacheca di discussione non personalizzata, le personalizzazioni non influiranno sul caricamento precedente file. Questo non è l'approccio migliore, ma ci consente di cambiare rapidamente parte delle funzionalità predefinite.

Per disabilitare la strategia di download minima, vai alle impostazioni del sito -> Funzionalità del sito e disabilita la funzione "Strategia di download minima":

Creazione del JavaScript (JSLink)

Ora apri il Web principale della tua raccolta siti utilizzando SharePoint Designer e vai alla libreria di stili. Quindi crea il file JavaScript lì, l'ho chiamato plumTickets.js.

In questo articolo mostrerò solo l'inizio dello script, puoi scaricare lo script completo qui. All'inizio dello script puoi vedere:

Se usi altri nomi interni per lo stato del biglietto, nei campi "Da" o "A" puoi cambiarlo qui. È inoltre possibile specificare il testo per il nuovo collegamento del biglietto. Se hai gli stessi campi, non modificare nulla.

Un'altra parte dello script sono le impostazioni di filtraggio. Questa parte è responsabile dei filtri nella parte superiore della vista:

Lo script delle impostazioni è simile al seguente:

Se non è necessario modificare i filtri, non leggere questa parte.

Come puoi vedere, ha la matrice denominata filtri. La matrice contiene oggetti QueryOverrideItem. Ogni oggetto definisce un filtro separato. Se aggiungi il nuovo oggetto QueryOverrideItem, il nuovo filtro apparirà nella vista.

Per creare un nuovo oggetto è necessario impostare tre valori:

  1. Il contesto - è sempre lo stesso: this.context
  2. Il nome del filtro, che verrà visualizzato nell'interfaccia utente, ad esempio "Attivo"
  3. La query CAML

Guarda questo esempio:

Abbiamo terminato con lo script delle personalizzazioni, ora dobbiamo applicarlo alle visualizzazioni del forum di discussione.

Impostazione di JSLink per le viste Subject e Flat

Quasi ogni web part in SharePoint 2013 e SharePoint Online ha la proprietà JSLink. Questa proprietà consente di specificare JavaScript personalizzato per il rendering sul lato client della web part.

Ora è necessario modificare la proprietà JSLink delle web part all'interno delle viste. Passare alla vista Oggetto nel browser e aprire la pagina per la modifica. Quindi aprire la web part per la modifica:

Nella sezione Varie delle proprietà della web part, trova la proprietà JS Link e specifica il seguente link:

sp.ui.discussions.js | ~ SiteCollection / Style Library / plumTickets.js

Quindi salvare la web part.

Come puoi vedere questo link in realtà contiene due link, il primo è sp.ui.discussions.js, il secondo è plumTickets.js. Il primo file è uno script di rendering predefinito, il secondo nel nostro script con personalizzazioni.

Fare lo stesso per la vista piatta.

Conclusione

L'HelpDesk è pronto per l'uso. A proposito, non è necessario HelpDesk, è possibile utilizzare questo approccio per qualsiasi sistema, che gestisce la comunicazione con utenti interni o esterni, ad esempio CRM. È possibile complicare ulteriormente la logica dell'elaborazione dei ticket, aggiungere la formattazione della posta, gli stati personalizzati, le priorità dei ticket, alcune logiche di approvazione.

Scarica fonti JavaScript