As a Watchlist Expiry user, I want a maximum watch length implemented, so that the watchlist feature can be efficient and manageable from the back-end.
Technical Background: The DBAs have asked us to impose a maximum expiry length for temporarily watched pages, at least until we see how the new table and queries against it perform in wild. Currently, there is no mechanism to enforce a maximum duration. There should probably be a configuration variable for this (e.g. $wgWatchlistExpiryMaxDuration = '6 months'). When I attempt to set an expiry that exceeds this, either through the API or elsewhere, it should show an error message. Watching indefinitely of course will still be permissible.
Product Note: In the future, we may be able to consider the extension of the time period. However, we must first go by the maximum approved by the DBAs (6 months), which we can then test over a period of time after the feature is released.
Acceptance Criteria:
- Implement a 6-month maximum watch period, so that users cannot exceed the 6-month period when watching pages.