-
Notifications
You must be signed in to change notification settings - Fork 2
3.2.2.3 Support filtering and metadata configuration of Tiles #18
Comments
@ncloudioj The current top-sites bucket has an E.g. we may want to include Yandex but only in the RU region. However adM might only return Yandex when contile asks for RU Tiles anyway. What I'm getting at is does the top-sites' buckets' |
The only metadata we need added is a The other 2 bits that should likely be defined with the inclusion filter are an allow list of hostnames E.g. include the "Amazon" tile with a position of 1, url allow list of [amazon.com, amazon.ca]. And later, additionally with an image allow list of probably a sha1? |
I had originally thought that the list of sites would be fairly small, but what you're describing makes me think that the rules could get fairly complex quickly. Enough to already make me wonder if using a centralized db to store the filter criteria might be a better option, even if there's some criteria duplication possible. (e.g. for example:
etc. Granted, this does potentially raise a lot more questions (who has access to that DB, how are changes performed, how are they audited, etc.) but it does mean that changes could be reflected quickly, tiles could be brought down or up with greatly reduced propagation, and we have a fair bit of control over display. |
This allows strict host filtering based on a config setting `allowed_vendors` which is a JSON array of allowed vendor host names (e.g. `["example.com", "foo.example.org", "bar.foo.example.org"]`) Note: currently hosts must match exactly. so for this example "https://example.com/link" would match, but "https://gorp.example.com/link" would not. Closes #18
* feat: Add initial filtering This allows strict host filtering based on a config setting `--adm_settings` / `CONTILE_ADM_SETTINGS` accepts a JSON formatted hash of values. The argument should be flattened, but it is expanded below for legibility: ```javascript CONTILE_ADM_SETTINGS='{ "Example": { /* The partner name (while case insensitive, it should match the 'name' field response */ "advertiser_hosts": ["example.com", "www.example.com"], /* Allowed host names for `advertiser_url` */ "position": 0, /* The tile position suggestion */ "include_regions": ["en", "en-US/TX"], /* valid region codes for this tile. */ }, "Default": { /* A default set of values. These are used if no value is specified for an individual partner */ "impression_hosts": ["example.org", "www.example.org"], /* valid hosts for the `impression_url` */ "click_hosts": ["example.net", "click.foo.example.net"], /* valid hosts for `click_url` */ }} ``` This PR also: * wires up location information * Tracks anominal partner info Closes #18, #50 Issue #36, #22
We need the ability to:
The text was updated successfully, but these errors were encountered: