| @@ -3,13 +3,15 @@ | ||
| 3 | 3 | namespace Yoast\WP\SEO\Conditionals; |
| 4 | 4 | |
| 5 | 5 | /** |
| 6 | 6 | * Feature flag conditional for the MyYoast connection (OAuth client, WP-CLI |
| 7 | - * commands, and the key-rotation cron). | |
| 7 | + * commands, and the key-rotation cron, etc.). | |
| 8 | 8 | * |
| 9 | 9 | * Enable by defining `YOAST_SEO_MYYOAST_CONNECTION` as `true` in wp-config.php. |
| 10 | + * On top of the flag, the connection is rolled out gradually to a deterministic | |
| 11 | + * share of sites — see {@see Gradual_Rollout_Conditional}. | |
| 10 | 12 | */ |
| 11 | -class MyYoast_Connection_Conditional extends Feature_Flag_Conditional { | |
| 13 | +class MyYoast_Connection_Conditional extends Gradual_Rollout_Conditional { | |
| 12 | 14 | |
| 13 | 15 | /** |
| 14 | 16 | * Returns the name of the feature flag. |
| 15 | 17 | * |
| @@ -14,8 +16,20 @@ | ||
| 14 | 16 | * Returns the name of the feature flag. |
| 15 | 17 | * |
| 16 | 18 | * @return string The name of the feature flag. |
| 17 | 19 | */ |
| 18 | - protected function get_feature_flag() { | |
| 20 | + protected function get_feature_flag(): string { | |
| 19 | 21 | return 'MYYOAST_CONNECTION'; |
| 22 | + } | |
| 23 | + | |
| 24 | + /** | |
| 25 | + * The share of sites the connection is rolled out to, in per-mille (0-1000). | |
| 26 | + * | |
| 27 | + * Ships at 1%; raised release over release as the rollout widens. | |
| 28 | + * | |
| 29 | + * @return int The rollout share in per-mille. | |
| 30 | + */ | |
| 31 | + protected function get_rollout_share(): int { | |
| 32 | + // 20%. | |
| 33 | + return 200; | |
| 20 | 34 | } |
| 21 | 35 | } |