One of the most requested features in the 2015 Community Wishlist Survey was a cross-wiki watchlist. In order to implement a cross-wiki watchlist that is reasonably performant we will need to build a back-end data infrastructure to support it. There are many options for such an infrastructure as well as options for the actual feature implementation.
Ideally, we would like to support the ability to view watchlist items of all cluster wikis from any watchlist (i.e. truly global watchlists). This would likely require creating a centralized table for storing all watchlist items from all wikis (as well as a table for all watchlist item properties once T100508 is implemented), similar to CentralAuth. In addition, we would either need to create a centralized table of all recent changes for all wikis, or support doing separate queries for each wiki that the user has watchlist items on (which could potentially be hundreds of wikis).
Questions we would like to answer:
- Is keeping a central table of all recent changes for all wikis a doable option?
- Is doing separate queries for each wiki a better or worse idea?
- Are there ways that we could mitigate the impact of either of those options?
- Are there other options that we haven't even thought about yet?