Extension:CentralNotice/Phase 3

Feature justification
Currently there is no easy way to test messaging through central notice on production (like) systems without first launching a campaign with a banner. Laurence McVea show details May 11 (2 days ago)  Metis art by L's Art is licensed under a Creative Commons Attribution 3.0 Unported License.

Sent from Laurence

User requirements

 * Simple workflow to test any banner and campaign in the system.
 * Ability to view any central notice banner on any property regardless of wether the banner is attached to a running campaign.
 * Ability to simulate campaigns before they are enabled.
 * Central testing space where banners can be previewed for any wikimedia project and language.

Optional:


 * Ability to simulate GeoIP
 * Ability to turn data capture on/off for analytics when running tests.

Specification
Using a usebanner/usecampaign, gadget, etc display a requested banner/s on the page.

It would be advantageous to have at least two levels of control. For the first we could use something akin to a ?usebanner=2009_JimmyThankYou which would simply place the banner on the requested page. We could use this to test the banner on any site that the request went to.

For the second we would also want the ability to simulate a campaign. With this, the interface would have a component that would allow the user to select a campaign that they want to be part of and all the configured banners would show for their preset values. This functionality would have to work across projects and languages in order to fully simulate the experience. We could do this with either a url parameter or setting a cookie.

To easily test multiple banners at the same it would be useful to have a single page that could display the top10 wikis with banners in each of their own iframes.

It might also be advantageous to have a whole separate testing space so that we don't clutter the production system with test notices.

Software design document
Open questions

Schedule

 * Successfully deployed 2010

Task management
(e.g. link to relevant Bugzilla queries)