Changes

Jump to: navigation, search

Webmaker/Code

5,504 bytes added, 19:42, 9 October 2013
no edit summary
__NOTOC__<section begin=summary />{{RoadmapSummary|icon=Mozilla webmaker logo-icon.png|pagelocation=Webmaker|pagetitle=Webmaker Development|updated=Oct 9, 2013|owner=David Humphrey|description=Information about developing he Webmaker product.}}<section end=summary /> <center>http://farm7.staticflickr.com/6031/6332218821_9a8c984055.jpg</center> ''NOTE: this page is under active development, and will be changing rapidly over the coming days. Apologies for any chaos you discover at the moment.'' ==Introduction==Webmaker is about empowering everyone to become makers of the web instead of just users. It's a mix of web tools, teaching material, and a social platform for teaching, learning, and sharing what you make. And, it's a lot of fun to use. It's even more fun to develop! Webmaker is built using modern web technologies including [http://nodejs.org/ Node.js], [https://developer.mozilla.org/en-US/docs/Web/HTML HTML5], [https://developer.mozilla.org/en-US/docs/Web/CSS CSS], and [https://developer.mozilla.org/en-US/docs/Web/JavaScript JavaScript] (lots of JavaScript!)--many of the same technologies Webmaker teaches. If you know these technologies, or are interested in learning them more deeply, you might be interested in helping us develop Webmaker. ==Getting Involved== There are many ways you can get involved in building the Webmaker project. Here are a few ideas: * If you know '''JavaScript''', you could help fix bugs or add features to our servers (e.g., the MakeAPI), JS libraries and modules (e.g., popcorn.js or our localization tools), or web tools.* If you know '''HTML/CSS''', you could work on our web sites and web tools, for example webmaker.org, Popcorn Maker, Thimble, etc. * If you know '''MySQL/MongoDB/ElasticSearch''' and are interested in databases and data, you could help us work on the MakeAPI or Login server.* If you're interested in '''Bug Triage''', you could help us keep the [https://bugzilla.mozilla.org/buglist.cgi?product=Webmaker&bug_status=__open__&list_id=8176596 Webmaker Product on bugzilla] neat and tidy.* If you know how to speak more than one language, you could work on localization and help us maintain our [https://github.com/mozilla/node-webmaker-i18n localization code].* If you know how to work on '''Firefox/FirefoxOS''' or another Mozilla product/project, you could help us find ways to integrate Webmaker, for example building browser addons.* If you know about '''automation/scripting/packaging/deployment''', you could work with developer operations group to help deploy and manage Webmaker. * If you're good at finding issues, confirming bugs, or otherwise breaking things, you could help us test Webmaker code on our staging and production servers.* If you know how to do '''UI/UX''' work, you could join our design and front-end group to design and implement new user-facing aspects of our sites and tools. These are just a few ideas to get you thinking--there's many ways that someone who wants to work on Webmaker can get involved. If you're passionate and interested in getting started, let us know and we'll try to find something that fits your interests and skills. ==Communication== In order to get started on Webmaker code, you need to get involved with our community. Here are some ways to introduce yourself and get help: * '''IRC''': The [irc://irc.mozilla.org/webmaker #webmaker] channel on moznet is our primary dev channel. If you're new to irc, please see the [[Irc|docs on learning how to use it]]. NOTE: our development team is spread across the world, with primary activity happening in Toronto, Vancouver, London, Berlin, New York, and San Francisco. If you're in a timezone that doesn't overlap with these, the mailing lists might be a better way to reach out.* '''Mailing Lists''': There are two primary lists: [https://lists.mozilla.org/listinfo/webmaker webmaker@lists.mozilla.org] for general Webmaker communication; and [https://mail.mozilla.org/listinfo/webmaker-dev webmaker-dev@mozilla.org] for developer communication.* '''Bug Tracker''': We use Mozilla's Bugzilla to track our work, see the [https://bugzilla.mozilla.org/page.cgi?id=productdashboard.html&tab=&product=Webmaker&bug_status=open Webmaker Product in Bugzilla].* '''Blog''': Updates about the development of the Webmaker Product go on our [http://webmakerv2.tumblr.com Webmaker blog]. ==Developing Webmaker== Webmaker is a big project, and it can take some time to get set up and contributing. The following is a guide to our workflow, technologies, repositories, etc. Please read this documentation to help you get started, and ask follow-up questions on [irc://irc.mozilla.org/webmaker irc] or the [https://mail.mozilla.org/listinfo/webmaker-dev webmaker-dev list]. ===1. Set up a Webmaker Development Environment=== Before you can test or make improvements to Webmaker, you need to get it running locally. This involves setting up your OS to host the Webmaker servers and apps, and installing various development tools you'll need. TODO:* webmaker-suite* heroku* Using a VM* OS specific info for windows/mac/linux ===2. Find or File a Webmaker Bug=== All the work we do is tracked in Bugzilla, and knowing how to find exiting bugs and how to file new bugs is important. TODO:* using Bugzilla* Webmaker Product tour (components, what's in each, who owns them)* Useful bug queries to find things to work on* good-first-bug, student-project, mentored-bug? ===3. Understand Webmaker Code=== The Webmaker code is spread across a large number of repositories, modules, libraries, apps, and web sites. Trying to locate the code for a particular part of Webmaker can be a challenge. The following is a tour through our code, and who to ask for more information: TODO* list of all our git repos, owners/peers* high-level diagram/description of how the pieces of Webmaker fit together ===4. Learn the Webmaker Development Workflow=== Every project has its own way of working, and we're no exception. This guide will help you navigate our development workflow so you can be successful as a new contributor. TODO:* learning/using git* bugzilla and github* code review* pull requests, inline comments* rebasing patches when they are ready to land* flags/whiteboard things to know about (e.g., l10n string changes)* getting r+'ed patches landed* tagging* pushing to staging/production TODO -- old stuff below to integrate....
= Want to report a bug? =
[https://mail.mozilla.org/listinfo/mofodev MoFoDev List]
|}
 
== Development team ==
 
Our development team is spread across the world, with primary activity happening in London, Berlin, New York, Toronto, Vancouver, and San Francisco.
 
== Tools ==
 
Mozilla works in the open -- our code for all of these projects is available on Github, and we use a combination of github, bugzilla & lighthouse for our issue tracking. We're also active in IRC -- come on over to #MoFoDev or #foundation on http://irc.mozilla.org/ and give a shout.
 
== Volunteer onboarding ==
 
At the moment, we have particular need for:
 
* Javascript library developers
* Front end hackers (Popcorn Maker templates)
* Graphic Designers
 
Example tasks: Short-term:
 
* Designing a template for Popcorn Maker
* Grabbing one of the many tickets in Popcorn.js or Popcornmaker
* Documentation
* Testing (manual and Qunit)
* Build badge display widget
* Build API to allow badge lookup
Confirm
656
edits

Navigation menu