Task #1893
closedStrategyChoice: allow strategy versioning
100%
Description
To encourage strategy renovation and improvement, strategy Names should be versioned.
Requiring every strategy to have a distinct base Name isn't good, because it affects the user's perception of the relationship between one strategy and the improved version of the same strategy.
Conceptually, when a strategy Name is given to StrategyChoice, it should match the latest version of the strategy, if multiple versions are installed.
Updated by Junxiao Shi over 10 years ago
- Status changed from New to In Progress
- Estimated time changed from 3.00 h to 2.00 h
Updated by Junxiao Shi over 10 years ago
- Status changed from In Progress to Code review
- % Done changed from 0 to 100
Updated by Junxiao Shi over 10 years ago
Management protocol StrategyChoice needs an update on strategy-choice/set
command:
- the request contains a prefix of a strategy
- the response should show the versioned strategy Name (not copying from request)
This update and its implementation will be in a follow-up Task.
Updated by Junxiao Shi over 10 years ago
I decide that it's too loose to allow any prefix of a strategyName to select a strategy.
Design is changed as follows:
- unversioned strategy can only be selected by its exact Name
- versioned strategy can be selected by its exact Name
- versioned strategy can be selected by its unversioned Name, and latest version is preferred
- exact match has priority
For example, if the following strategies are installed:
/strategy/P/Q
/strategy/P/Q/%FD%03
/strategy/P/Q/R/%FD%01
/strategy/P/Q/R/%FD%02
The following will happen:
/strategy
selects nothing/strategy/P/Q/R/S
selects nothing/strategy/P/Q
selects 1 because exact match has priority/strategy/P/Q/R
selects 4 because it's the latest version/strategy/P
selects either 1 or nothing; this is a degree of freedom for implementation, so that implementation doesn't have to determine whether a NameComponent represents a version
Updated by Junxiao Shi over 10 years ago
- Status changed from Code review to Closed
Management protocol StrategyChoice page is updated. Its implementation will be in a separate Task.
Updated by Junxiao Shi over 10 years ago
- Blocks Task #1972: strategy-choice/set: return versioned strategyName added