Skip to main content
Content Starts Here

We've Moved!

Please note that we have moved to our New Forum site.


Ask Search:
Eder CarneiroEder Carneiro 

Well,

I'm new to the Genesys SDK. Anyway, I'm trying to modify or create some new 'option' in the config server. This is the sample that exists in the api docs:

ConfObjectDelta delta0 = new ConfObjectDelta(metadata, CfgObjectType.CFGApplication);
ConfObject inDelta = (ConfObject) delta0.getOrCreatePropertyValue("deltaApplication");
inDelta.setPropertyValue("DBID", objCreated.getObjectDbid());
inDelta.setPropertyValue("name", "ConfObject-new-name");
 
ConfIntegerCollection delTenants = (ConfIntegerCollection)
        delta0.getOrCreatePropertyValue("deletedTenantDBIDs");
delTenants.add(105);
 
RequestUpdateObject reqUpdate = RequestUpdateObject.create();
reqUpdate.setObjectDelta(delta0);
 
Message resp = protocol.request(reqUpdate);
if (resp == null) {
    // timeout
} else if (resp instanceof EventObjectUpdated) {
    // the object has been updated
} else if (resp instanceof EventError) {
    // fail((EventError) resp);
} else {
    // unexpected server response
}
 

Well, I cannot guess how it works, since there is no change in delta0. Changes are made in the ConfObject, but anyway the object used to request changes is the delta0. Can anyone explain how that works at all ?

Best Answer chosen by Eder Carneiro
Ed ValdezEd Valdez
My main trouble was updating the user properties in the annex tab, but here's how I got it to work ...

I have a wrapper around the protocol and connection, where I defined this method: 
@Override
    public void updateConfigObject(ConfObjectDelta configObj) {
        
        if(!canWrite())
            throw new IllegalStateException("Unable to update configuation object because connection is not ready!");
        
        Guard.argumentNotNull(configObj, "configObj");
        int id = configObj.getObjectDbid();
        
        RequestUpdateObject req = RequestUpdateObject.create();
        req.setObjectDelta(configObj);
        
        Message resp = connection.request(req);        
        if(resp instanceof EventObjectUpdated) {
            logger.info("ConfigWriter.createConfigObject: Object [{}] updated successfully!", id);
            return;
        } 
        
        String errMsg = "Failed to update object [" + id + "]! ";
        if(resp instanceof EventError)
            errMsg += ((EventError)resp).getDescription();
        else
            errMsg += "Unexpected response [" + (resp == null ? "null" : resp.messageName()) + "]";
        
        logger.error("ConfigWriter.updateConfigObject: {}", errMsg);
        throw new MessagingException(errMsg);        
    }

Then from the client code (in this case a simple JUnit test):
ConfObjectDelta deltaObj = new ConfObjectDelta(connection.getConfigServerContextMetadata(), CfgObjectType.CFGApplication);
        
        KeyValueCollection s2 = new KeyValueCollection();
        s2.addString("o1", "FOO!");

        KeyValueCollection changedProps = new KeyValueCollection();
        deltaObj.setPropertyValue("changedUserProperties", changedProps);
        changedProps = (KeyValueCollection)deltaObj.getOrCreatePropertyValue("changedUserProperties");
        changedProps.addList("s2", s2);
                    
        ConfObject obj = (ConfObject)deltaObj.getOrCreatePropertyValue("deltaApplication");
        obj.setPropertyValue(DBID, id);
        obj.setPropertyValue(STATE, CfgObjectState.CFGDisabled.asInteger());
        
        writer.updateConfigObject(deltaObj);

Note that the getOrCreatePropertyValue method does not seem to work for KVList collections like "changedUserProperties", or "deletedUserProperties", it just returns null.  So I had to create a new KeyValueCollection myself, set it as a property on the delta object with the expected attribute name - see https://docs.genesys.com/Documentation/PSDK/latest/ConfigLayerRef/CfgDeltaApplication

Cheers!
Andreas VgenopoulosAndreas Vgenopoulos 
Hello!
  • Is it possible to customize what or from whom the messages in end-user (agent) "My Messages" sub-window will be displayed? I mean, the agent could see Admin/Supervisor messages but not System/Config.Server messages.
  • If the above is not possibe, could I totally disable the "My Messages" option from the WDE menu?

--Workspace Desktop Edition 8.5.117.26--

Thanks in advance for any suggestions,

Andreas
Best Answer chosen by Andreas Vgenopoulos
Jakub NemecJakub Nemec
Just through the customization of WDE, not by default as I know
Alan LunaAlan Luna 

Hi l have a question.


Genesys Administrator supports IIS 8.5

 

Thank you for your answer

Best Answer chosen by Alan Luna
Jakub NemecJakub Nemec
As is mentioned in available documentation:

Windows Server 2012 R2
Microsoft Internet Information Services (IIS) Version 8.5YesNo
Both Microsoft .NET Framework 4.5 by default (includes ASP.NET 4.5) and Microsoft .NET Framework 3.5 (includes .NET 2.0 and 3.0) installed.

So, IIS 8.5 is supported by GA.
Andi HoAndi Ho 
Hi All,

Now I face a problem, my customer requires to display only a few calling list fields in WDE, the rest fields are not cared by operators and should not be displayed in WDE.

Is there any way to carry out this requirement?

Many thanks.
Best Answer chosen by Andi Ho
Jason McLennanJason McLennan
In the Annex of the field objects you dont want displayed, add interaction-workspace\display = false
Check out https://docs.genesys.com/Documentation/IW/8.5.1/Dep/OutboundInteractions for a list of all options relevant to customising the deiplay of fields.
Stefano TassinariStefano Tassinari 

Hello to all,

does anyone know where I can find a ETL_Assistant functioning? the version in my possession is probably old, it does not recognize the oracle SID despite being correct.
Thank you

PS I need to groped to solve a problem: after the cancellation of a layout report the ETL has stopped transferring data!
Best Answer chosen by Stefano Tassinari
Peter SandorPeter Sandor
in software download, choose product="CC Analyzer/CCPulse+" and choose component="Data Mart"
Best Answer chosen by Jay Pixler
Jay PixlerJay Pixler
Hi Nikolas, it's Oracle DB and this worked like a charm.  I also found a date/time field start_ts_time in the mediation_segment_fact_gi2 table you mentioned which provided what I needed today but the conversion you provided will help me for years to come.  Many thanks, Jay
HemanthKumar CatnaHemanthKumar Catna 
HI

Created a Agent Group Workbin under Workbin section in Business Process  ( Selected Agent Group Radio Button ).
Able to see the created Group workbin under Scripts folder.
Whereas in Routing Strategy in the Route Interaction ( Workbin ) Block, under Target Selection, If i choose Agent Group, the newly created Group workbins are not showing.

Need to route all the incoming emails to Group Workbin. It will be great if someone helps on this.

Can  anyone help on this.
Best Answer chosen by HemanthKumar Catna
Jakub NemecJakub Nemec
Try to read more about workbins. They cannot be used as you want to do (routing target as agent group type - It does make a sense).
Chia Hung KengChia Hung Keng 
Hi,

Is there anyway to determine the dialing mode of an outbound interaction received in WDE via the InteractionEvent?

container.Resolve<IInteractionManager>().InteractionEvent += new System.EventHandler<EventArgs<IInteraction>>(InteractionEvent);

private void InteractionEvent(object sender, EventArgs<IInteraction> e)
{
            IInteraction interaction = e.Value;
var dialingMode = interaction.OutboundChainRecord.Records.First().CampaignInfo.Mode;
}

I was trying to retrieve the dialing mode from CampaignInfo.Mode but it doesn't return any value.

Thanks,
Keng
Best Answer chosen by Chia Hung Keng
Pete HoylePete Hoyle (Genesys)
Actually thinking about this more, you are trying to resolve the ICampaignManager in the constructor of you custom module. What is probably happening is that at the time the constructor of your custom module is run the Outbound Module probably has not yet been called and so the ICampaignManager has not yet been registered.

Either wait until WDE has finished loading before resolving the ICampaignManager or resolve the ICampaignManager on the InteractionEvent where you want to get the Campaign Mode.
Arijit NagArijit Nag 
Hi,

Can you please me to start writting code for WDE customisation? Wanna capture the workitem answer event and then the verint recoding will start and when the workitem has been handled will stop the recording.

the service for verint recording we have and know how to call, but unable to find in wde how to catch the event.

Thanks in advance.
Arijit
Best Answer chosen by Arijit Nag
Shahzeb IqbalShahzeb Iqbal
Contact me on shaahzeb@gmail.com (mailto:shaahzeb@gmail.com), and i will provide you with example code on how this could be done in the most efficient way. Also what are the options you have in terms of events handling for a multimedia type interaction compared with a voice type interaction.
Mikael UlsteinMikael Ulstein 
Hi,

I'm trying to change the week start day from sunday to monday and I have some issues with this.

I'm using the 8.5.202.10 version of WFM and I have set the server to weekstart day of Monday, and in WFM under Configuration/Organization and business unit to Monday.

I've tried to find a setting for this in CME but can't find one. I feel like there has been one earlier on i version 6 or 7 ?

I even opened up the COnfiguration Utility and saw that the General settings there were sunday. Changed this as well.

WHere can I find the last setting that will make the calendars change ? Do I need to change the server where CME is placed too ?
Could that be it ?
Best Answer chosen by Mikael Ulstein
Valerie MugniotValerie Mugniot
Have u tried to change language in your browser ? It works for me. I'm French and if I use French as my default language in Firefox, I have Monday as Week 1st day but when I work with Us customer I put English US as first language and I have Sunday as week first day and numbers in US format month/day/year.

Hope it helps

Best Regards,

Valerie