Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Frontend] Sovrn Email Connector Setup #2458

Closed
pattisdr opened this issue Jan 31, 2023 · 7 comments
Closed

[Frontend] Sovrn Email Connector Setup #2458

pattisdr opened this issue Jan 31, 2023 · 7 comments
Assignees

Comments

@pattisdr
Copy link
Contributor

pattisdr commented Jan 31, 2023

❗ Dependent on backend work in #2394. You could work off of this branch #2543

Is your feature request related to a specific problem?

There are a few frontend changes needed to support the new Sovrn connector.

Many connector types are already supported out of the box in the current UI, but we need some new handling for Sovrn, which is the first "email-type" connector.

Describe the solution you'd like

Pieces needed:

  • Awaiting Email Send label is cut off on privacy request page- we could rename? make wider?

  • Add handling for new "email" SystemTypes. The new Sovrn connector adds a new email connectiontype (currently we support database, saas, and manual). We need to add handling for what happens when you select an "Email" System Type. It should look the same as a Database or a Saas connector, except we should not show the Dataset configuration screen. There are no datasets associated here.
    Screen Shot 2023-02-09 at 10 15 11 AM

  • Pull the details from the connection type secret endpoint to populate the "Configure your Sovrn Connection" screen. We already have general handling for this, except the email connector schemas are more nested.

    • Specifically, I'm returning an advanced_settings section See below for API response.
      Screen Shot 2023-02-09 at 10 23 21 AM
  • The "Advanced settings" section needs formatting like below:
    image-20230201-182053. Everything should be grayed out currently.

  • Add the capability to extract the ljt_readerID from the cookies and pass as a browser identity when saving consent preferences. ljt_readerID will be added as an Identity in [Backend] Sovrn Email connectors for Consent requests #2394

Tentative API response

The current configure connection pages looks at the results of GET /api/v1/connection_type/<name>/secret. It can handle simple schemas, but the email schema is returning a more deeply nested schema with $ref keys.

This is the tentative API format that should be used to build the Advanced Settings portion of the page.

GET /api/v1/connection_type/svorn/secret

{
   "title":"SovrnEmailSchema",
   "description":"Schema to validate the secrets needed for the SovrnEmailConnector\n\nOverrides the ConsentEmailConnector to set the third_party_vendor_name\nand advanced settings.",
   "type":"object",
   "properties":{
      "third_party_vendor_name":{
         "title":"Third Party Vendor Name",
         "default":"Sovrn",
         "type":"string"
      },
      "recipient_email_address":{
         "title":"Recipient Email Address",
         "type":"string"
      },
      "test_email_address":{
         "title":"Test Email Address",
         "type":"string"
      },
      "advanced_settings":{
         "$ref":"#/definitions/AdvancedSettings"
      }
   },
   "required":[
      "recipient_email_address",
      "advanced_settings"
   ],
   "additionalProperties":false,
   "definitions":{
      "IdentityTypes":{
         "title":"IdentityTypes",
         "description":"An enumeration.",
         "enum":[
            "email",
            "phone_number"
         ],
         "type":"string"
      },
      "CookieIds":{
         "title":"CookieIds",
         "description":"An enumeration.",
         "enum":[
            "ljt_readerID"
         ],
         "type":"string"
      },
      "AdvancedSettings":{
         "title":"AdvancedSettings",
         "type":"object",
         "properties":{
            "identity_types":{
               "default":[
                  
               ],
               "type":"array",
               "items":{
                  "$ref":"#/definitions/IdentityTypes"
               }
            },
            "browser_identity_types":{
               "default":[
                  
               ],
               "type":"array",
               "items":{
                  "$ref":"#/definitions/CookieIds"
               }
            }
         }
      }
   }
}

Additional context

Add any other context or screenshots about the feature request here.

@seanpreston
Copy link
Contributor

We've agreed to disable the Cookie ID input in the designs for now, since it will only be useful outside of the context of this connector.

@rsilvery
Copy link
Contributor

rsilvery commented Feb 7, 2023

@pattisdr , @seanpreston is this still blocked?

@pattisdr
Copy link
Contributor Author

pattisdr commented Feb 7, 2023

@rsilvery I am finalizing what the API response is going to look like for Andrew to work off of. Hopefully this should be settled down enough by tomorrow. I'll try to get a draft PR up soon.

@rsilvery
Copy link
Contributor

rsilvery commented Feb 7, 2023

@seanpreston , @TheAndrewJackson is not going to be available for this, right?

@TheAndrewJackson
Copy link
Contributor

@rsilvery I believe so. I think I've switched focus for this week.

@allisonking
Copy link
Contributor

Per this discussion, this is rescoped to not include the advanced settings UI

This was referenced Feb 13, 2023
@allisonking
Copy link
Contributor

closed by #2579 and #2582

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants