There are a couple ways of going about the rules engine...
Store as many thing as possible in the global namespace. Allows for max re-use and max chance that we'll remove as many annoying queryparams as possible.
Store as few things as possible in the global namespace. This is probably going to be slightly more performant, but also has the chance to miss other params that might otherwise overlap.
Perhaps one thing that could be done is to allow rules to "crossover." Perhaps we can mark rules as Strict: true/false which will allow us to retain QPs for certain domains.
The inverse of this is also true, we could potentially have a "retain," list so that if one domain uses a QP that is otherwise bad, that we can make sure it is never removed.
This may have implications for the json going forward. So while it might not be super critical to have immediately, it might be worth something to design around just so we won't so quickly need multiple json formats. As the list of things that we cut are small, we're unlikely see much erroneous chopping.
There are a couple ways of going about the rules engine...
Perhaps one thing that could be done is to allow rules to "crossover." Perhaps we can mark rules as
Strict: true/false
which will allow us to retain QPs for certain domains. The inverse of this is also true, we could potentially have a "retain," list so that if one domain uses a QP that is otherwise bad, that we can make sure it is never removed.This may have implications for the json going forward. So while it might not be super critical to have immediately, it might be worth something to design around just so we won't so quickly need multiple json formats. As the list of things that we cut are small, we're unlikely see much erroneous chopping.