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

PubMatic + OpenWrap: Support request level Bidder Params #1042 #1991

Merged
merged 20 commits into from
Nov 17, 2021

Conversation

sachin-pubmatic
Copy link
Contributor

Changes for #1042

@SyntaxNode SyntaxNode changed the title Support request level Bidder Params #1042 PubMatic + OpenWrap: Support request level Bidder Params #1042 Sep 8, 2021
exchange/utils_test.go Outdated Show resolved Hide resolved
exchange/utils.go Outdated Show resolved Hide resolved
@hhhjort
Copy link
Collaborator

hhhjort commented Sep 9, 2021

Seems to e some confusion. This seems more in line with the initially proposed spec in #1042 , however in the discussion that followed, it was proposed that PBS core take the parameters in ext.prebid.bidderparameters and merge them into imp.ext.bidder, so each imp would have a unified set of parameters that could easily be validated as conforming to the bidder parameter schema. It would also allow for some flexibility in that any bidder parameter could be moved into the request level if it had the same value in all the imps, or even have a default request level value, with one or more imps overriding it at the imp level.

What you have here seems to be an independent set of request level parameters that gets no schema validation, so always optional and unvalidated. Also all adapters must be aware of the existence of the request level parameters to use them. Should probably return to the issue and hash out what we want to support here and how, as it seems like this PR hasn't taken note of the later discussions in the issue.

@hhhjort
Copy link
Collaborator

hhhjort commented Sep 16, 2021

Wanted to be clear, what you are doing here is only a small part of #1042, a concern that was independent of the code level issues that you have addressed. Is this the extent of your interest in #1042, or is this just the first of a series of PRs?

@hhhjort
Copy link
Collaborator

hhhjort commented Sep 17, 2021

To the summarize the feature set as I understand it:

  • map request.ext.prebid.bidderparams.<bidder> into bidderparams for each bidder, hiding the the adapter configs from each other.
  • merge the request level parameters into all the imp level parameters, giving priority to the imp level version of the parameter
  • Validate the merged set of imp level bidder parameters against the bidder's schema to ensure that a valid set of parameters have been applied.

You have done the first item. The other two would help drive a more powerful and flexible usage of the feature. With the merger, publishers would be free to move any bidder parameters to the request level if they are consistent across imps. Bidder adapters would not need to be updated to support request level parameters.

@bretg
Copy link
Contributor

bretg commented Sep 17, 2021

@sachin-pubmatic - please ask your team to give you the time to complete the original feature as specified in #1042 . Thanks.

@sachin-pubmatic
Copy link
Contributor Author

Thanks @hhhjort for highlighting and summarising the pending changes.

I have incorporated changes for second item i.e merging the request level parameters into all the imp level parameters.
Third item i.e validate the merged set of imp level bidder parameters, gets automatically taken care off with the existing flow which happens after merging parameters.

Please review and let me know if I am missing anything.

@SyntaxNode SyntaxNode requested review from guscarreon and removed request for mansinahar September 20, 2021 17:28
@SyntaxNode SyntaxNode assigned guscarreon and unassigned mansinahar Sep 20, 2021
Copy link
Contributor

@SyntaxNode SyntaxNode left a comment

Choose a reason for hiding this comment

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

Thanks for picking up this older spec.

adapters/openrtb_util.go Outdated Show resolved Hide resolved
adapters/pubmatic/pubmatic.go Outdated Show resolved Hide resolved
adapters/pubmatic/pubmatic.go Outdated Show resolved Hide resolved
adapters/pubmatic/pubmatic.go Outdated Show resolved Hide resolved
endpoints/openrtb2/auction.go Outdated Show resolved Hide resolved
endpoints/openrtb2/auction.go Outdated Show resolved Hide resolved
endpoints/openrtb2/auction_test.go Outdated Show resolved Hide resolved
exchange/utils.go Outdated Show resolved Hide resolved
exchange/utils.go Show resolved Hide resolved
exchange/utils.go Outdated Show resolved Hide resolved
endpoints/openrtb2/auction.go Outdated Show resolved Hide resolved
endpoints/openrtb2/auction.go Outdated Show resolved Hide resolved
endpoints/openrtb2/auction.go Outdated Show resolved Hide resolved
@SyntaxNode
Copy link
Contributor

@sachin-pubmatic Friendly reminder for the review comments.

@sachin-pubmatic
Copy link
Contributor Author

Updated the PR with suggested code changes. Please verify.

endpoints/openrtb2/auction.go Show resolved Hide resolved
endpoints/openrtb2/auction.go Show resolved Hide resolved
openrtb_ext/bidders.go Outdated Show resolved Hide resolved
@sachin-pubmatic
Copy link
Contributor Author

sachin-pubmatic commented Oct 20, 2021

Updated the PR with suggested code changes. Please verify.

Note: We are planning to have one round of QA after approval, so request you not to merge PR to master immediately after approval.

guscarreon
guscarreon previously approved these changes Oct 22, 2021
Copy link
Contributor

@guscarreon guscarreon left a comment

Choose a reason for hiding this comment

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

LGTM

endpoints/openrtb2/auction_test.go Show resolved Hide resolved
@sachin-pubmatic
Copy link
Contributor Author

Hi, Friendly reminder for the review and approval of the PR.
Once PR is approved for merge, we will do one round of QA and then we can merge.

adapters/pubmatic/pubmatic.go Outdated Show resolved Hide resolved
adapters/pubmatic/pubmatic.go Outdated Show resolved Hide resolved
endpoints/openrtb2/auction.go Show resolved Hide resolved
endpoints/openrtb2/auction_test.go Show resolved Hide resolved
hhhjort
hhhjort previously approved these changes Oct 29, 2021
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.

LGTM

@sachin-pubmatic
Copy link
Contributor Author

Thanks @hhhjort, @mansinahar & @guscarreon.
I will comment here after one round of QA, so that we can proceed with the merge.

Copy link
Contributor

@guscarreon guscarreon left a comment

Choose a reason for hiding this comment

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

A couple more comments before approving. Thank you for addressing our feedback.

adapters/pubmatic/pubmatic.go Show resolved Hide resolved
adapters/pubmatic/pubmatic.go Show resolved Hide resolved
Copy link
Contributor

@guscarreon guscarreon left a comment

Choose a reason for hiding this comment

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

LGTM. @sachin-pubmatic thank you for addressing our feedback

@sachin-pubmatic
Copy link
Contributor Author

We have completed QA verification. We are good to merge the PR.

@mansinahar mansinahar merged commit 7cc465c into prebid:master Nov 17, 2021
mansinahar pushed a commit to mansinahar/prebid-server that referenced this pull request Jan 18, 2022
jorgeluisrocha pushed a commit to jwplayer/prebid-server that referenced this pull request Sep 28, 2022
shunj-nb pushed a commit to ParticleMedia/prebid-server that referenced this pull request Nov 8, 2022
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.

6 participants