syndesisio / connectors

Apache Camel Connectors for Syndesis
Apache License 2.0
6 stars 12 forks source link

embed connector schema for `object` types #1

Closed gashcrumb closed 7 years ago

gashcrumb commented 7 years ago

Currently the salesforce connector metadata just references the Java class for it's properties, for tooling we need this either expanded or embedded. For reference:

https://github.com/redhat-ipaas/connectors/blob/master/connectors/salesforce-upsert-contact-connector/src/main/resources/camel-connector-schema.json#L19

this would force us to make an extra roundtrip to some endpoint to fetch the schema for this object, we definitely want to avoid that. Could either embed the schema or even expand it, not sure what would map the best.

@KurtStam @jimmidyson CC

jimmidyson commented 7 years ago

This should be a proper json schema including nested properties.

@davsclaus Can you look at this ASAP?

davsclaus commented 7 years ago

This is how Camel configures this currently on that camel-salesforce component.

Only Spring Boot allows this in its application.properties https://github.com/redhat-ipaas/connectors/blob/master/examples/twitter-salesforce-example/src/main/resources/application.properties#L13

.. because Spring Boot has some extra logic to allow this kind of configuration. For normal Camel you cannot do this.

So what is needed is to change camel-salesforce to allow configuring login details using fine grained getter/setters as well which then will be generated a new schema you can use for iPaaS. And then setup the connector to expose those fine grained options.

davsclaus commented 7 years ago

I logged ticket: https://issues.apache.org/jira/browse/CAMEL-10836

davsclaus commented 7 years ago

Now you have 4 options for the login to configure https://github.com/redhat-ipaas/connectors/blob/master/connectors/salesforce-upsert-contact-connector/src/main/resources/camel-connector-schema.json#L18

And the example uses the following 3 of them https://github.com/redhat-ipaas/connectors/blob/master/examples/twitter-salesforce-example/src/main/resources/application.properties#L13

Which is configured in Spring Boots application.properties

jimmidyson commented 7 years ago

@davsclaus Has anyone ever told you that you're awesome? Well: you are! Thank you!