Wednesday 7 June 2017

UCCX11 Finesse Gadget Creation and Customization

UCCX11 Finesse Gadget Creation and Customization
Download the Gadget:

Windows server installed with IIS

CurrentPromotion.xml

Copy WelcomeWorld.xml as CurrentPromotion.xml and put in root web directory and change content to:


<?xml version="1.0"?>
<promotions>
<productname>Super Deluxe Widget Bundle</productname>
<promotion>Buy 2 Get 1 Free</promotion>
</promotions>



Add 8080 binding to IIS


Changes on WebService.js


Change Rest request page to CurrentPromotion.xml

Changes on WebService.xml


<?xml version="1.0" encoding="UTF-8"?>
<Module>
   <ModulePrefs title="Current Product Promotions"
       description="Current Product Promotions">
       <Require feature="settitle" />
       <Require feature="dynamic-height" />
       <Require feature="pubsub-2" />
    <Require feature="setprefs" />
       <Require feature="loadingindicator">
           <Param name="manual-dismiss">false</Param>
           <Param name="loading-timeout">10</Param>
       </Require>
   </ModulePrefs>

Change title and description above.
Confirm Edit the Gadget Body:
           <body>
               <!-- Sample Gadget -->
               <div>
                   <br>
            <fieldset id="hubfieldset">
                       <legend>Current Promotion</legend>
                       <button onClick="finesse.modules.SampleGadget.makeWebService();">Get Data</button>
                       <br>
            <div>Text: <span id="result"></div>
            </fieldset>
              </div>
           </body>


Changes on WebService.css

Add Span for colors
span {
background-color: #66CCFF;
color: red;
}


Set the password for the Cisco Unified CCX 3rd Party Gadget Directory

SSH to UCCX to change SFTP password
utils reset_3rdpartygadget_password

Command Line Interface is starting up, please wait ...

  Welcome to the Platform Command Line Interface

VMware Installation:

admin:
admin:utils reset_3rdpartygadget_password
New Password:
Confirm New Password:
Updating password for 3rdpartygadget...

Password updated successfully.
admin:
Exist

Upload files using WinSCP

Desktop Layout

<tab>
<id>MarketingUpdates</id>
<label>Marketing Updates</label>
<gadgets>
<gadget>https://Your UCCX server :8445/3rdpartygadget/files/WebService.xml</gadget>
</gadgets>
</tab>

Demo:


Saturday 3 June 2017

UCCX11 SocialMiner WebChat

UCCX11 SocialMiner WebChat
SocialMiner : sm.voicelab.ca (public IP)
UCCX: uccx.voicelab.ca
Ad1: ad1.voicelab.ca (public IP)

SocialMiner Configuration

Contact Service Queue Configuration

Next

Predefined Responses

Channel Parameters




List Chat Web Forms

Next

Chat Web Form Configuration

Next

Create Test Web Page


Manage Desktop Layout


Replace gadget SocialMiner address to yours and paste the XML to Finesse Layout XML
 or download here
<finesseLayout xmlns="http://www.cisco.com/vtg/finesse">
   <layout>
       <role>Agent</role>
       <page>
           <gadget>/desktop/gadgets/CallControl.jsp</gadget>
           <gadget>https://localhost/agentdesktop/gadgets/NonVoiceControl.xml</gadget>
       </page>
       <tabs>
           <tab>
               <id>home</id>
               <label>finesse.container.tabs.agent.homeLabel</label>
               <columns>
                   <column>
                       <gadgets>
                           <gadget>https://localhost:8444/cuic/gadget/LiveData/LiveDataGadget.jsp?gadgetHeight=310&viewId=76D964AD10000140000000830A4E5E6F&filterId=AgentCSQStats.csqName=CL&compositeFilterId=AgentCSQStats.AgentIds.agentId=loginId</gadget>
                           <gadget>https://localhost:8444/cuic/gadget/LiveData/LiveDataGadget.jsp?gadgetHeight=310&viewId=5C626F9C10000140000000600A4E5B33&filterId=ResourceIAQStats.resourceId=CL</gadget>
                       </gadgets>
                   </column>
               </columns>
           </tab>
           <tab>
               <id>myStatistics</id>
               <label>finesse.container.tabs.agent.myStatisticsLabel</label>
               <columns>
                   <column>
                       <gadgets>
                           <gadget>https://localhost:8444/cuic/gadget/LiveData/LiveDataGadget.jsp?gadgetHeight=150&viewId=67D4371110000140000001080A4E5E6B&filterId=ResourceIAQStats.resourceId=loginId</gadget>
                           <gadget>https://localhost:8444/cuic/gadget/LiveData/LiveDataGadget.jsp?gadgetHeight=420&viewId=5D411E8A10000140000000230A4E5E6B&filterId=AgentStateDetailStats.agentID=loginId</gadget>
                       </gadgets>
                   </column>
               </columns>
           </tab>
           <tab>
               <id>manageCustomer</id>
               <label>finesse.container.tabs.agent.manageCustomerLabel</label>
               <gadgets>
                   <gadget>/desktop/gadgets/CustomerContext.xml</gadget>
               </gadgets>
           </tab>
           <tab>
               <id>manageNonVoiceMedia</id>
               <label>finesse.container.tabs.agent.manageNonVoiceMediaLabel</label>
               <columns>
                   <column>
                       <gadgets>
                           <gadget>https://sm.voicelab.ca/multisession/ui/gadgets/multisession-reply-gadget.jsp?gadgetHeight=430</gadget>
                       </gadgets>
                   </column>
               </columns>
           </tab>
       </tabs>
   </layout>
   <layout>
       <role>Supervisor</role>
       <page>
           <gadget>/desktop/gadgets/CallControl.jsp</gadget>
           <gadget>https://localhost/agentdesktop/gadgets/NonVoiceControl.xml</gadget>
       </page>
       <tabs>
           <tab>
               <id>manageTeam</id>
               <label>finesse.container.tabs.supervisor.manageTeamLabel</label>
               <columns>
                   <column>
                       <gadgets>
                           <gadget>/desktop/gadgets/TeamPerformance.jsp</gadget>
                       </gadgets>
                   </column>
               </columns>
           </tab>
           <tab>
               <id>teamData</id>
               <label>finesse.container.tabs.supervisor.teamDataLabel</label>
               <columns>
                   <column>
                       <gadgets>                           
                           <gadget>https://localhost:8444/cuic/gadget/LiveData/LiveDataGadget.jsp?gadgetHeight=620&viewId_1=7291DCB410000140000000890A4E5B33&filterId_1=ResourceIAQStats.resourceId=CL&viewId_2=728283C210000140000000530A4E5B33&filterId_2=ResourceIAQStats.resourceId=CL</gadget>
                           <gadget>https://localhost:8444/cuic/gadget/LiveData/LiveDataGadget.jsp?gadgetHeight=310&viewId=F2F1FC17100001440000014E0A4E5D48&filterId=ChatAgentStats.agentId=CL</gadget>
<!--
   The following Gadgets are used for Predictive/Progressive/Preview Agent Outbound.
   To include this functionality:
   1) Remove these comments leaving the gadget
                           <gadget>https://localhost:8444/cuic/gadget/LiveData/LiveDataGadget.jsp?gadgetHeight=310&viewId=FD919FB9100001440000005D0A4E5B29&filterId=ResourceIAQStats.resourceId=CL</gadget>
                           <gadget>https://localhost:8444/cuic/gadget/LiveData/LiveDataGadget.jsp?gadgetHeight=310&viewId=FD919FB510000144000000470A4E5B29&filterId=ResourceIAQStats.resourceId=CL</gadget>
-->
                       </gadgets>
                   </column>
               </columns>
           </tab>
           <tab>
               <id>queueData</id>
               <label>finesse.container.tabs.supervisor.queueDataLabel</label>
               <columns>
                   <column>
                       <gadgets>                            
                           <gadget>https://localhost:8444/cuic/gadget/LiveData/LiveDataGadget.jsp?gadgetHeight=620&viewId_1=C8E2DB1610000140000000A60A4E5E6B&filterId_1=VoiceIAQStats.esdName=CL&viewId_2=9A7A14CE10000140000000ED0A4E5E6B&filterId_2=VoiceCSQDetailsStats.agentId=CL&compositeFilterId=VoiceCSQDetailsStats.AgentVoiceCSQNames.agentVoiceCSQName=CL&viewId_3=C8EF510810000140000000EB0A4E5E6B&filterId_3=VoiceIAQStats.esdName=CL&viewId_4=C8EE241910000140000000C30A4E5E6B&filterId_4=VoiceIAQStats.esdName=CL</gadget>
                           <gadget>https://localhost:8444/cuic/gadget/LiveData/LiveDataGadget.jsp?gadgetHeight=310&viewId=E42ED788100001440000007B0A4E5CA1&filterId=ChatQueueStatistics.queueName=CL</gadget>
                       </gadgets>
                   </column>
               </columns>
           </tab>
           <tab>
               <id>manageCustomer</id>
               <label>finesse.container.tabs.supervisor.manageCustomerLabel</label>
               <gadgets>
                   <gadget>/desktop/gadgets/CustomerContext.xml</gadget>
               </gadgets>
           </tab>
           <tab>
               <id>manageNonVoiceMedia</id>
               <label>finesse.container.tabs.supervisor.manageNonVoiceMediaLabel</label>
               <columns>
                   <column>
                       <gadgets>
                           <gadget>https://sm.voicelab.ca/multisession/ui/gadgets/multisession-reply-gadget.jsp?gadgetHeight=430</gadget>
                       </gadgets>
                   </column>
               </columns>
           </tab>
<!--
   The following Tab and Gadget are for MediaSense.  They are *ONLY* supported with MediaSense.  If you are not using MediaSense,
   then remove them.  If you are using MediaSense and wish to show Recording Management, then do the following:
       1) Remove these comments leaving the tab and gadget
       2) Replace all instances of "my-mediasense-server" with the Fully Qualified Domain Name of your MediaSense Server.
   IMPORTANT NOTE:
       - In order for this Gadget to work, you must have performed all documented prerequisite steps.
           <tab>
               <id>manageRecordings</id>
               <label>finesse.container.tabs.supervisor.manageRecordingsLabel</label>
               <columns>
                   <column>
                       <gadgets>
                           <gadget>https://sm.voicelab.ca:8440/ora/gadget/MediaSenseGadget.xml</gadget>
                       </gadgets>
                   </column>
               </columns>
           </tab>
-->
       </tabs>
   </layout>
</finesseLayout>

Paste web form html to be index.html


Import Tomcat/Tomcat-Trust Certificate


Login OS admin page of SocialMiner

Download tomcat certificate
Download tomcat-trust

Login to OS admin page of UCCX
Upload them both as Tomcat-trust


Reboot SocialMiner and UCCX


Demo