Skip to content

Hoist GVL ID To Bidder Info #1721

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

Merged
merged 6 commits into from
Mar 9, 2021
Merged

Conversation

SyntaxNode
Copy link
Contributor

This is the first step in transforming the user syncer from code into pure config, while also adding in the choice between both iframe and redirect.

@@ -246,7 +245,8 @@ func New(cfg *config.Configuration, rateConvertor *currency.RateConverter) (r *R
}

syncers := usersyncers.NewSyncerMap(cfg)
gdprPerms := gdpr.NewPermissions(context.Background(), cfg.GDPR, adapters.GDPRAwareSyncerIDs(syncers), generalHttpClient)
gvlVendorIDs := bidderInfos.ToGVLVendorIDMap()
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not that it really matters, but is there a reason that you took bidderInfos.ToGVLVendorIDMap() out into its own line?

Copy link
Contributor Author

@SyntaxNode SyntaxNode Feb 23, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To make the gdprPerms line a bit shorter and to make it 100% clear that we're passing through the vendor ids.

@@ -132,31 +132,3 @@ func TestNewSyncerMap(t *testing.T) {
}
}
}

// Bidders may have an ID on the IAB-maintained global vendor list.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want to move this uniqueness test to config/bidderinfos_test.go or just drop it entirely? We can run it against the default configs in the static/ directory.

Copy link
Contributor Author

@SyntaxNode SyntaxNode Feb 23, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed the test because it's broken and the intent of the test is flawed.

Broken
The test uses an empty configuration object which results in empty sync urls which in turn causes the NewSyncerMap method to return an empty map. This has been broken for at least 2 years.

Flawed
The test looks to ensure each bidder has it's own unique vendor id. However, we have adapters like adkernel/adkernelAdn, brightroll/verizonmedia, and triplelift/triplelift_native which legitimately need to have the same vendor id.

I suppose the original intent was to eliminate copy / paste errors, but I don't see how we can continue to automate a check like this without allowing for the legitimate cases.

We have also become more thorough in vetting vendor ids during the review process.

Copy link
Collaborator

@hhhjort hhhjort left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good. Just a couple of questions before I approve. I did not verify that all the bidder IDs went in to the yaml's correctly.

@SyntaxNode
Copy link
Contributor Author

I did not verify that all the bidder IDs went in to the yaml's correctly.

Good point. To ensure I didn't make a mistake, I serialized the map from the master branch and this PR and used a tool to compare. I can confirm there are no mistakes. The new mapping now includes (intentionally) vendor ids for bidders which don't have a default value. Specifically: adocean, dmx, invibes, ix, rtbhouse, rubicon, verizonmedia.

mansinahar
mansinahar previously approved these changes Feb 25, 2021
@bretg
Copy link
Contributor

bretg commented Mar 8, 2021

docs PR prebid/prebid.github.io#2750

@SyntaxNode SyntaxNode merged commit 5a0251a into prebid:master Mar 9, 2021
@SyntaxNode SyntaxNode deleted the hoist_gvl_id branch March 11, 2021 17:23
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

Successfully merging this pull request may close these issues.

4 participants