As mentioned in {T5525} I would like to build an enhanced cross-wiki watchlist as an OAuth tool as a GSoC project. The goal is not only to build a cross-wiki watchlist, but also "better" watchlist with features like dynamic filtering of the watchlist (project, namespace, searching etc.), cross-wiki [[https://www.mediawiki.org/wiki/Echo_(Notifications)|notifications]] and inline diffs (e.g. per default for all talk pages). Generally I see the opportunity to experiment with the design and functionality of a watchlist and do things differently then in the current MediaWIki watchlist.
I've made a prototype which shows that the general setup is already working: [tools.wmflabs.org/watchr](https://tools.wmflabs.org/watchr). It's currently very limited, as it only queries a list of hand-picked projects and doesn't offer any options. While it currently looks similar to the well-known mediawiki watchlist I don't think it will when it's "released".
{M45}
Currently the watchlist is unified, I would not be very hard to create a option where the watchlist is split similar to the former [Luxo's gWatch](https://commons.wikimedia.org/wiki/File:GWatch_complx.PNG). I generally would like to improve readability of the watchlist, I feel like the current MW watchlist doesn't allow me to scan quickly over my watchlist.
The watchlist is the central place for most active editors, more tools which help to handle this resource are needed. The (relatively) new OAuth extensions allows to build such tools which are accessible to users in just one click. For the motivation why particularly a cross-wiki watchlist is needed I would like to point to [[https://en.wikipedia.org/wiki/Wikipedia:Global,_cross-wiki,_integrated_watchlists|enwiki:Global, cross-wiki, integrated watchlists]].
=== Why not as an MW extension? ===
I don't see {T5525} as MW extension fit for an GSoC project, as it involves modifying database structures and the complex watchlist code. The GSoC project from 2012 on watchlist groups is [still waiting](https://gerrit.wikimedia.org/r/#/c/16419/) for a rebase & code review, I fear that a GSoC project for a MW cross-wiki watchlist implementation could easily end up with the same fate as it is so complex. A external OAuth tool doens't have these problems, it doesn't need a code review to be deployed or changes to any existing code. It would mainly use the watchlist API and some queries to the replication databases on tools. From a design standpoint, it has the freedom to do things differently and get immediate user feedback on these.
=== Implementation ===
The implementation is chosen in a way that it can life well on #toollabs and also be responsive if a larger number of users access it as the same time.
* [angularjs](https://en.wikipedia.org/wiki/AngularJS) for the frontend/client-side rendering
* [angular-translate](https://github.com/angular-translate/angular-translate) for i18n support (should integrate well with Translatewiki)
* python's [Tornado](https://github.com/tornadoweb/tornado) web server with [sockjs](https://github.com/sockjs/sockjs-client) support, [flask-mwoauth](https://github.com/valhallasw/flask-mwoauth) for Oauth negotiation
* python's [celery](http://www.celeryproject.org) as task manager with dedicated worker processes. The webserver itself is very thin and mainly starts new tasks and pushes results back to the client with redis pubsub and websockets.
### About me
I'm a physics student at the University of Göttingen and mostly active in the german wikipedia since 2010. I run a pywikibot based bot there named [AsuraBot](https://de.wikipedia.org/wiki/Benutzer:AsuraBot). While I've programmed in various languages, writing a modern webapp is something rather new for me.
I'm looking for possible mentors, if you're interested please ping me.