...
Gestione dei Tab/Schede dei singoli Widget di AgentDesktop (AGENTDESKTOP.TAB),
Visualizzazione di finestre/pannelli informativi custom (AGENTDESKTOP.ALERT),
Controllo dei Widget, registrazione di proprie callback per la notifica di eventi (AGENTDESKTOP.WIDGET),
Gestione dei Contatti, effettuare chiamate, eseguire trasferimenti (AGENTDESKTOP.CONTACT),
Gestione dello stato e della schedulabilità di un operatore (AGENTDESKTOP.AGENT),
Gestione di un contatto di tipologia chat, invio di un messaggio testuale (AGENTDESKTOP.CHAT),
Gestione e notifica degli eventi relativi all'apertura/chiusura delle finestre di dialogo in AgentDesktop (AGENTDESKTOP.UI).
...
...
Requisiti per l’integrazione di un Widget
La possibilità di integrazione di un applicazione web all'interno di AgentDesktop utilizzando i Widget è soggetta ad alcune requisiti.
X-Frame-Options
Molti amministratori di sistema di default settano IIS per evitare che le pagine web hostate possano essere inserite da altri come iframe su altri domini (siti web) e questo avviene per motivi di sicurezza (per evitare il "framesniffing").
Viene riportato un esempio di abilitazione per IIS o su web.config limpostano alcune protezioni di sicurezza all’interno della pagine che costituiscono la loro web-application o CRM con l’intento che le loro pagine web non possano essere utilizzate da altre applicazioni e caricati in elementi come frames/iframes al fine di essere servite da pagine provenienti da altri domini non autorizzati. Questa tecnica solitamente è denominata "framesniffing".
A titolo di esempio viene riportata una configurazione relativa ad IIS per la abilitazione del'header "X-Frame-Options" come seguee consentire il caricamento della propria web-app in un Widget di AgentDesktop:
...
Code Block |
---|
...
|
...
| |
<configuration><system.webServer><httpProtocol><customHeaders><add name="X-Frame-Options" value="ALLOW-FROM url_del_ContaCT" / |
...
></customHeaders></httpProtocol></system. |
...
webServer></configuration> |
Le altre 2 due opzioni di configurazione possono essere: SAMEORIGIN o DENY.
Controllo
...
della TOP window
Alcune applicazioni web verificano se sono incluse in un iframe, in qual caso cercano di ricaricarsi sostituendo la pagina principale.
Un esempio di questo codice è come segue:
Code Block | ||
---|---|---|
| ||
<script type="text/javascript"> |
...
if (top.frames.length!=0) |
...
top.location=self.document.location; |
...
</script> |
In questo caso, si dovrà modificare il codice per permettere l'inclusione in un iframe se la finestra padre è un url di Contactdella propria web-app appartiene al domino applicativo di Contact7.