Confirmed users
613
edits
(→Key Dates: .) |
(→SVG Reference Documentation: adding projects) |
||
| Line 27: | Line 27: | ||
===SVG Reference Documentation=== | ===SVG Reference Documentation=== | ||
* Mentor: Jean-Yves Perrier | * Mentor: [https://mozillians.org/en-US/u/teoli/ Jean-Yves Perrier] | ||
*The | *The participant will have to perform the following tasks: | ||
** Write a reference page for each SVG-related interface. | ** Write a reference page for each SVG-related interface. | ||
** Create a code sample showing the use of each interface. | ** Create a code sample showing the use of each interface. | ||
| Line 39: | Line 39: | ||
** ability to write fluently in English (English as a native language is NOT required) | ** ability to write fluently in English (English as a native language is NOT required) | ||
** ability to write basic code samples (10-20 lines of code each) | ** ability to write basic code samples (10-20 lines of code each) | ||
** familiarity with a wiki and/or github is a plus." | ** familiarity with a wiki and/or github is a plus. | ||
===Realtime Push Notifications for Kinto=== | |||
*Mentor: [https://mozillians.org/en-US/u/natim/ Remy Hubscher] | |||
Kinto is the Mozilla storage solution to backup and sync Firefox Account Users data. It is currently used as a backend for Firefox OS applications and for Firefox and Fennec updates in the Go Faster projects. | |||
https://kinto.readthedocs.org | |||
Today a notification system allow us to notify Firefox and Fennec users for them to come and get updates. | |||
The participant would extend the notification system to implement realtime updates between devices. | |||
* On the server side we are using Pyramid and Python with a bit of AsyncIO | |||
* On the client side this will involve JavaScript and Websocket management. | |||
===Enhancements to Python testing tool plugin for generation of HTML reports=== | |||
* Mentor: [https://mozillians.org/en-US/u/davehunt/ Dave Hunt] | |||
The successful candidate will be responsible for developing enhancements to pytest-html - a plugin based on the popular Python testing tool pytest, which generates a HTML report based on test results. | |||
The desired enhancements include: gracefully degrading when JavaScript is not available; saving CSS, images, and other resources as additional files rather than embedding in a single file; grouping results by package/module/class; and including test docstrings in the report. | |||
Any new enhancements to the plugin must also be accompanied with tests, which will ensure that these new features work in all expected environments, and reduce the chances of regression. | |||
It would be advantageous for potential candidates to have experience in creating simple HTML pages using JavaScript and CSS, however this is not essential. It would also help if the candidate has experience with Python or pytest, but again this is not essential so long as the candidate is willing and able to learn these skills during the internship. | |||
===Test-driven Refactoring of Marionette's Python Test Runner=== | |||
* Mentor: [https://mozillians.org/en-US/u/maja_zf/ Maja Frydrychowicz] | |||
Marionette's Python Test Runner (a.k.a marionette-client) is slated to become the canonical harness for running most new automated tests for Firefox, but it needs to be lovingly cleaned up and stabilized first. We've already started this work and we're excited to have an intern help us continue. | |||
We want it to be easy and safe for teams around Mozilla to customize the Test Runner for their needs, so we're writing a suite of tests for the Test Runner itself to prevent breaking any existing automation infrastructure -- i.e. we're testing the thing that runs Firefox tests. Part of the intern's role is to write more of these tests. While writing tests, the intern will naturally find areas in the Test Runner code that need to be improved or reorganized in order to be testable in the first place. This is what we mean by ""test-driven refactoring"". Other tasks might include: | |||
* Making the test results more informative and easy to read on Treeherder's log viewer. | |||
* Making the tests more convenient to run locally with mach. | |||
In order to participate, the following skills are needed: | |||
* programming in Python or other object-oriented language: intern has written small, stand-alone projects themselves from scratch and is familiar with concepts like inheritance | |||
* some basic experience with using command-line tools | |||
* some basic experience with any version control system | |||
* motivation and patience to read/understand lots of messy code and to ask lots of thoughtful questions about it | |||
Aside from general Mozilla-contribution skills, the intern will learn: | |||
* More Python as well as Python libraries related to testing and logging | |||
* How Mozilla's release cycle and giant automation infrastructure work | |||
* How to write good tests and write modular, testable code | |||
==Past Outreachy/OPW internships== | ==Past Outreachy/OPW internships== | ||