Fundraising tech/Roadmap/Live Banner Preview

Mediawiki PHP/Javascript CentralNotice (contract): Live Banner Preview
Contact: David Strine dstrine@wikimedia.org

Deadline: Open until filled

Location: Remote/Telecommute

General Background:
CentralNotice is the Wikimedia movement’s centralised announcement delivery system. Through the use of web banners, which consist of CSS, HTML and Javascript. The system is used to deliver messaging for both Fundraising and Programmatic purposes through a wiki gui interface without the need for deployments.

The system provides a number of key features in the delivery of banners:


 * Campaign Scheduling
 * Campaign Targeting (based on interface language, country and device)
 * Banner diet

Background links:

https://www.mediawiki.org/wiki/Extension:CentralNotice

https://wikitech.wikimedia.org/wiki/CentralNotice

https://meta.wikimedia.org/wiki/Help:CentralNotice

https://phabricator.wikimedia.org/diffusion/ECNO/

Project Description:
The Fundraising Tech team at Wikimedia Foundation (WMF) is seeking an contractor engineer to partner with us on adjusting the CentralNotice banner edit process. It is closely related to the current preview banner functionality but must fulfill the requirements and outcomes below.

Project Requirements:
The preview functionality will be contained as part of the MediaWiki CentralNotice extension. The specific programming languages will be PHP and JavaScript.

No closed source, proprietary solutions will be considered and work will need to be made available under the GNU General Public License 2.0 or later.

Required banner feature support: Banners may contain wikitext features such as templates and translatable messages. These should appear in the preview as they would when rendered for the banner audience. This will likely require a round-trip to the server.

Desired Outcome:
A banner creator should be able to preview changes to a banner without needing to save, so that the effects of new code can be evaluated without being commited. They should also be able to preview the banner in a static wiki article without needing to save, so they can understand its interaction with a wiki page. David Strine and, or Joseph Seddon are able to perform light user testing or are shown a demonstration of this user experience and approve the experience.

We expect this to be production code. Please see the code conventions below. Code should be submitted as gerrit patches and will be reviewed by the Fundraising Tech team members who may require changes before merging the code to CentralNotice. The feature should at least be stable enough to be added to the Beta cluster to be considered “done”. We are available to explain details of CentralNotice and the release process in more detail to aid in proposals and budget estimation.

https://www.mediawiki.org/wiki/Manual:Coding_conventions

Stakeholders:
WMF Sponsor: Joseph Seddon, David Strine

Technical Lead: Elliott Eggleston

Engineering Support: Andrew Russell Green, Elliott Eggleston

Timeline and Cost Estimates:
Ideally, we are hoping to get this initial component completed in a six-month time frame (completed by June 2019), but please indicate in your proposal how long you think the work will take, along with your cost estimate and/or hourly rate.

Submissions:
To summarize, your proposal should include:


 * A resume or CV and a statement of your prior experience with PHP and ;
 * A summary of the steps you would take in approaching the work;
 * An estimate of the time required, and;
 * Either a fixed cost or hourly rate and estimated total hours to complete the project.

If you have clarifying questions you would like answered before submitting a proposal, feel free to send them to dstrine@wikimedia.org and we’d be glad to answer them. When you are ready to submit your proposal, send it to David at that same email, and we’ll be in touch.

About Wikimedia Foundation:
Wikimedia Foundation is the nonprofit organization that supports Wikipedia and the other Wikimedia free knowledge projects. Our vision is a world in which every single human can freely share in the sum of all knowledge. We believe that everyone has the potential to contribute something to our shared knowledge, and that everyone should be able to access that knowledge, free of interference. We host the Wikimedia projects, build software experiences for reading, contributing, and sharing Wikimedia content, support the volunteer communities and partners who make Wikimedia possible, and advocate for policies that enable Wikimedia and free knowledge to thrive. The Wikimedia Foundation is a charitable, not-for-profit organization that relies on donations. We receive financial support from millions of individuals around the world, with an average donation of about $15. We also receive donations through institutional grants and gifts. The Wikimedia Foundation is a United States 501(c)(3) tax-exempt organization with offices in San Francisco, California, USA.