Closed
Bug 654355
Opened 14 years ago
Closed 14 years ago
[Snippet Service] Create client match rule that easily scales through release versions
Categories
(Snippets Graveyard :: General, defect)
Snippets Graveyard
General
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: lforrest, Assigned: osmose)
References
Details
The purpose of this bug is to:
1. Establish a client match rule that will scale
2. Implement those changes in bulk
As discussed offline we're looking to establish a Client Match Rule that does not "break" (show default content) or need to be updated manually upon each dot release. Things to consider:
-We may want to target certain versions with "upgrade" messaging at some point
-Switching from updating "Version" regex's to "Distribution Channels"
-Using the "exclusion" field
-The current regex will break with 5.0
-Essentially we'll want "fairly current" and "everything older than that" buckets
-Should still enable custom targeting for Beta and Channel releases
Proposals:
a) Work off of one long version regex. Add 5.X, 6.X, 7.X, etc. to it now in order to prevent breaking. Incorporate exclusions into that regex string when we need to.
b) If possible set "Distribution Channel" and then a regex that excludes specific versions at the "version" level
c) Other ideas? My technical knowledge of how the snippet service works only goes so far.
Thanks.
![]() |
Reporter | |
Updated•14 years ago
|
Assignee: lorchard → nobody
Component: Other → Snippets
Product: Websites → Mozilla Services
QA Contact: other → snippets
![]() |
Reporter | |
Updated•14 years ago
|
Assignee: nobody → lorchard
Comment 1•14 years ago
|
||
Sounds like the easiest is to switch to targeting the "release" channel, but I'm not sure what the criteria is for excluding versions. Currently, that would need to be done with an exclusion rule that has a regex matching all undesirable versions. So, for a snippet to appear for all release versions except a certain set, there'll need to be two rules.
If we want greater/less than version comparison, that will require some service code changes. I think we have some python/django code to help with that:
https://github.com/fwenzel/django-mozilla-product-details
Not sure I've got the bandwidth to own those server changes, though
Assignee: lorchard → nobody
Assignee | ||
Comment 2•14 years ago
|
||
An idea I discussed with lforrest: Client Match Rules change to send snippets in the following way:
- Inclusion rules must all match. If you have two inclusion rules on a snippet, the snippet will only be sent if both inclusion rules match the client.
- Exclusion rules don't change: If they are on a snippet and match, the snippet is not sent.
What this allows us to do is have a single "recent" client match rule that only matches on version number. It's added to every snippet that we want to display to up-to-date browsers, while the "update browser" snippets don't have it added. That way, you only have to update the recent rule when a version number changes.
More generally, it lets you compose rules rather than making single instances of their combinations. For example, each locale can become a single rule, and you just apply the rules to the relevant snippets. You can then change snippet rules without having to deal with locale issues.
I've got a branch with the feature working, just need to test it out more. Thoughts?
Assignee: nobody → mkelly
Status: NEW → ASSIGNED
Assignee | ||
Comment 3•14 years ago
|
||
Relevant commit (ignore whitespace fixes)
https://github.com/Osmose/home-snippets-server/commit/8e08a061d9e690a67f3a90fdb150ef070dfa55f2
Updated•14 years ago
|
Component: Snippets → General
Product: Mozilla Services → Snippets
Assignee | ||
Comment 4•14 years ago
|
||
Merged pull request that adds the new client match rule style:
https://github.com/lmorchard/home-snippets-server/pull/3
Specific commit with the main fix:
https://github.com/Osmose/home-snippets-server/commit/feb90685d545b8a34053e782676664c0a40c3f17
Should appear on stage in about 15 minutes.
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Updated•6 years ago
|
Product: Snippets → Snippets Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•