Welcome, and thanks for considering contributing! In order to make our review/development process easier, we have some guidelines to help you figure out how to contribute to Affiliates.
We use Bugzilla to track issues and bugs for Firefox Affiliates. Any issues with the website should be filed under the Firefox Affiliates product.
- Mothership
- The main portion of the Affiliates website, accessible at https://affiliates.mozilla.org.
- Social Integration / Facebook App
- Facebook app implemented in the `facebook` Django app that links with the mothership for certain stats.
- Banner
- An image link, text link, or other type of link that users can generate using Affiliates.
- Servers pull code from
master. Development should happen in feature branches and pull requests should merge back tomasterexcept in special cases. - Python code should be covered by unit tests. JavaScript code is covered by either end-to-end tests or by manual testing.
- Python code should follow Mozilla's general Webdev guidelines.
The same goes for our JavaScript guidelines and
CSS guidelines.
- As allowed by PEP8, we use 99-characters-per-line for Python code and 72-characters-per-line for documentation/comments. Feel free to break these guidelines for readability if necessary.
- Affiliates is based on Playdoh. The Playdoh Documentation explain the features of Playdoh and how to develop a site based on it.
Due to licensing and deployment constraints, adding a library to Affiliates requires a few things:
-
Add the library to the requirements files in the
requirementsfolder.prod.txtis for libraries required in production,dev.txtis for libraries required for local development or running tests, andcompiled.txtis for libraries that need to be compiled. -
If the library isn't compiled, install it in
vendor-localusing the following Pip command (assuming we want to install thechocobolibrary from PyPI):pip install --no-install --build=vendor-local/packages -I chocobo
-
Add the path to your newly installed package to
vendor-local/vendor.pth. For example, if it was installed invendor-local/packages/chocobo, you'd add the linepacakages/chocobotovendor.pth.
Note: Keep the installation changes in a separate commit from the rest of your work to make code review easier.
- IRC: #affiliates on irc.mozilla.org.
- Planning/roadmap/meetings: Affiliates on MozillaWiki
- What is deployed on Affiliates servers?