syndesisio / syndesis-rest

The API for Syndesis - a flexible, customizable, cloud-hosted platform that provides core integration capabilities as a service. It leverages Red Hat's existing product architecture using OpenShift Online/Dedicated and Fuse Integration Services.
https://syndesis-staging.b6ff.rh-idev.openshiftapps.com/api/v1/
Apache License 2.0
6 stars 17 forks source link

Salesforce "Identifier field" is always "Contact ID" #733

Closed rhuss closed 7 years ago

rhuss commented 7 years ago

Regardless what I chose, its always "Contact ID" which is saved.

This leads to errors in the runtime whose error message is strange, too (saying sth like sObjectId not provided, instead of being wrong), but I have to lookup this again.

rhuss commented 7 years ago

image

Minor thing, there's not "arrow down" element to select the other elements. Dealing with the field is a bit counter intuitive ....

rhuss commented 7 years ago

That's the error I get in the runtime:


Message History
--
  | ---------------------------------------------------------------------------------------------------------------------------------------
  | RouteId              ProcessorId          Processor                                                                        Elapsed (ms)
  | [flow1             ] [flow1             ] [twitter-mention-connector-component://MENTIONS?delay=30000&sinceId=1          ] [         5]
  | [flow1             ] [to1               ] [atlas:mapping-step-2.json                                                     ] [         5]
  | [flow1             ] [to2               ] [salesforce-upsert-sobject?sObjectIdName=Id&sObjectName=Contact                ] [         0]
  |  
  | Stacktrace
  | ---------------------------------------------------------------------------------------------------------------------------------------
  | org.apache.camel.component.salesforce.api.SalesforceException: Missing option sObjectIdName
  | at io.syndesis.connector.salesforce.SalesforceUpsertSObjectComponent.lambda$new$0(SalesforceUpsertSObjectComponent.java:56)
  | at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
  | at org.apache.camel.processor.Pipeline.process(Pipeline.java:138)
  | at org.apache.camel.processor.Pipeline.process(Pipeline.java:101)
  | at org.apache.camel.component.connector.ConnectorProducer.process(ConnectorProducer.java:45)
  | at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:148)
rhuss commented 7 years ago

but sObjectIdName is given here ....

zregvart commented 7 years ago

Minor thing, there's not "arrow down" element to select the other elements. Dealing with the field is a bit counter intuitive ....

This is the default behaviour of Patternfly Bootstrap Combobox, you need to click on 'X' on the far right to get other options.

zregvart commented 7 years ago

Regardless what I chose, its always "Contact ID" which is saved.

@rhuss do you mean regardless of what you choose on the previous screen (selecting the Salesforce object) or if you end up choosing another unique field on the second screen no matter what you choose Contact ID gets saved?

zregvart commented 7 years ago

That's the error I get in the runtime:

That error is caused by not providing a value for the unique field (mapping issue)? Using ID as external identifier doesn't make much sense to me...

rhuss commented 7 years ago

@rhuss do you mean regardless of what you choose on the previous screen (selecting the Salesforce object) or if you end up choosing another unique field on the second screen no matter what you choose Contact ID gets saved?

Exactly.

rhuss commented 7 years ago

I've chosen"Contact". Then I get "Contact Id" prefilled, but change this to "TwitterScreenName". Then "Save as Draft", "Edit" and its back to "Contact Id".

rhuss commented 7 years ago

... prefilled for the "Identifier" field ...

gashcrumb commented 7 years ago

Yeah, so what's happening is the combobox is a jquery control that doesn't trigger angular's change detection when you change the value, so the page controller doesn't get the updated value. Looking into getting that sorted.

rhuss commented 7 years ago

The same btw happens for me also for the first form where you select "Contact".