Open bretg opened 2 months ago
"Hardcoded" aliases overwrite the previous alias if it has the same name "Softcoded" aliases - have no effect besides a warning if the alias already exist
So all of these:
as both a base adapter biddercode and a "hardcoded" alias in another adapter? as "hardcoded" aliases for two separate base adapters? as both a "softcoded" alias (i.e. pbjs.aliasBidder) and a different base adapter biddercode? as both a "softcoded" alias and a "hardcoded" alias?
would have the alias point to the adapter that loaded last (either as the "actual" bidder or as a "hardcoded" alias). and this:
as separate-but-conflicting softcoded aliases?
would point to what specified by the first aliasBidder
call.
Conclusion:
pbjs.aliasBidder('magnite', 'rubicon', override=TRUE) is called, the override succeeds pbjs.aliasBidder('magnite', 'rubicon') is called a warning is generated if an adapter declares itself to be an alias of something that already exists, also generate a warning
Type of issue
Enhancement
Description
Recently https://github.com/prebid/Prebid.js/pull/12215 attempted to pull an alias out into a standalone adapter. In a few months, Magnite is going to release a significant upgrade to the 'rubicon' adapter that some publishers will want to test in a transitionary way.
I propose that PBJS should have documented conventions for supporting both of these types of changes.
A first step would be define how does the system work right now if the same biddercode could be interpreted in different ways. i.e. what happens when:
Not sure we've ever explicitly defined what should happen in these scenarios, but we probably should.
Minimally, the goal here is to define what bidders should do to make changes as easy as possible for publishers. If the ideal requires breaking changes, then we should put it on the list for 10.0.
Below are some thoughts on transitioning between base adapter biddercodes and aliases.
Aliased biddercode converted to a standalone base adapter
This uses the scenario in https://github.com/prebid/Prebid.js/pull/12215 as an example. That is was withdrawn as a PR doesn't change the likelihood that a future bidder will probably want to make a similar change.
Time 1
Time 2
Time 3
The publisher's adunits still refer to dichange as a bidder The publisher has built their PBJS package with just dichangeBidAdapter.js. Life is good.
Formerly standalone biddercode converted to an alias in a new base adapter
This is a thing that Magnite is going to do this next year.
Time 1
Time 2
Time 3
Time 4
tldr 3.3 is the outstanding development requirement