bcgov / DBC-APIM

DataBC OPEN API Services
Apache License 2.0
1 stars 0 forks source link

New API Registration - API Submission Form #98

Open BK01 opened 6 years ago

BK01 commented 6 years ago

A web application for use by API owners to submit information about an API to add to the API Gateway (integrated with BCDC)

The API Submission Form will be a stand-alone single page application (secured by Siteminder) with an HTML form that provides fields for each piece of required data by the Province.

*Consult BCDC to confirm list of required fields to create a metadata record.

All form fields will be validated prior to submission. The user will not be allowed to submit the form until all required fields are completed.

The API Submission Form application will show a success message such as: “Your request has been submitted. You may be contacted by a member of the gateway administration team to discuss your request.” Otherwise it will notify the user that the submission has failed.

Questions:

  1. The name, business phone number and business email address of the person requesting an API be added to the API Gateway.

  2. A flag to identify whether the requesting person is the primary custodian (“owner”) of the API.

  3. API Name

  4. API shortname (*.api.gov.bc.ca) or choose to keep existing domain.

  5. API Endpoint URL

  6. A list of flags to identify which API Gateway capabilities the user would like to activate -> API keys -> Developer API keys -> Rate limiting (throttling)

  7. If throttling is selected -> Suggested default rate limit ()

  8. A list of flags to confirm API supports HTTPS and CORS

  9. A flag to identify whether there is an existing metadata record for the API. -> If there is an existing metadata record, its URL must be specified *** Mandatory fields listed in BCDC shown below (some overlap with above) A. Title B. URL (UI auto fills this in as Title in lower case with "-" instead of spaces C. Organization (pick list) D. Sub-Organization (pick list) E. Description F. Keywords (perhaps 'API' as default?) G. Name (contact name) H. Organization (pick list) I. Sub-Organization (pick list) J. Role (pick list) K. Email (business email) L. Resource Status (pick list) M. Who can view this data (pick list) N. Who can view this record (pick list) O. Who can download this data (pick list) P. License (pick list) Q. Security classification (pick list)

banders commented 6 years ago

@BK01 @ll911 There are a lot of form fields listed above. Most of them (those in item 9) correspond exactly to form fields already existing in the BCDC "Create Dataset" form. Can you confirm that we want to duplicate nearly all of these in the New API Registration form? Is "Keywords" the only one that we can assign a default.

BK01 commented 6 years ago

@banders Proposed workflow:

  1. IDIR User logs into BCDC and clicks button
  2. User fill out submission form
  3. API creates a DRAFT metadata record under DataBC sub-org using account provided, and placed in API Metadata Group
  4. API emails details to DataBC Gateway admins ------- Is it possible to also send email to DataBC Catalogue inbox to say a new metadata record is in DRAFT. Catalogue staff will give the IDIR user editor privs (if they don't already)
  5. User logs in and sees the metadata record, then changes the org from DataBC to their own
banders commented 6 years ago

@BK01, @ll911

In step 1: Previously we were planning that the ARGG app would be independent from BCDC (although there would be a link to it from BCDC). Authentication was to be done through OpenID connect, not through BCDC. Are you proposing that we change our approach to authentication?

In step 3: You describe creating the new record "using the account provided". Which account are you referring to?

In step 4: Currently, when a new API is registered, ARGG will send an email to each address listed in a config setting. The email gives details about the API and the new metadata record. If we want to send the email to multiple addresses, we can just list multiple addresses in the config setting.

ll911 commented 6 years ago

1, we are not change argg authentication method, just trying to matched the bcdc requirement, can the 'add/register api' button only appear when user is logged in bcdc, this can be a phased approach. 3, the one you are using

banders commented 6 years ago

@ll911 @BK01

Thanks for the clarification. The only detail here that I'm unsure about is in step 4 the catalogue staff need to know the IDIR account of the user that registered the API. Will ARGG be able to determine the IDIR account of the user so that it can send this info in the email?