syndesisio / syndesis-ui

The front end application or UI 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.io/
14 stars 28 forks source link

Create a Connection: Validation #200

Closed kahboom closed 7 years ago

kahboom commented 7 years ago

Overview

Add the ability to validate connections in the UI when creating one. Entails the following:

Relevant Designs

Validation

Validate Design

Validation: In Progress

In cases where it takes more than a second, a progress indicator and message should be presented to the user.

Validate Design: In Progress

Validation: Failure

Validate Design: Failure

Reference

kahboom commented 7 years ago

Not implemented in the runtime yet so will have to be moved to the backlog / technical debt.

kahboom commented 7 years ago

From IRC:

the expected input parameters will be a connectorId and a map with properties as connectorId sth like "twitter", (not an action btw) and for the props 'consumerKey', 'consumerSecret', 'accessToken' and 'accessTokenSecret' (in the twitter case)

its at ipaas-rest and will look like ... POST to /api/v1/connectors/{id}/verifier with the parameters as json object.

there are two so called 'scopes' which are checked: the first is PARAMETERS which simply validates if all required parameters are there and sound. so no call to a backend. If this fails the check comes back immediately without checking the connectivitiy which is the second scope CONNECTIVITY so, you get always back an array of objects. in the good case, two with both SUCESS.

in the bad case either one element when the initiali validation fails or two, with the validation as SUCESS and the connectivity as ERROR

Example Response: https://gist.github.com/rhuss/b6077883f7fb5937d2e4cd16a971392e#gistcomment-2039927

Example Error Response for Parameter: https://gist.github.com/rhuss/b6077883f7fb5937d2e4cd16a971392e#gistcomment-2039992

kahboom commented 7 years ago

Relevant Designs:

Step 1: Define Connection

01 - define connection

Step 2: Configure Fields

02 - configure fields

Step 3: Validate Connection

03 - validate

Step 4: In Progress

04 - in progress

Step 5: Error Message

05 - error message

Step 6: Summary

06 - summary

cc @gashcrumb