Webmaker/Code: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
(→‎Introduction: add a warning box indicating how out-of-date this stuff is.)
 
(36 intermediate revisions by 6 users not shown)
Line 1: Line 1:
__NOTOC__
__TOC__
<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.''
 
<center>http://farm4.staticflickr.com/3791/9689638299_10d2cd241d.jpg</center>
 
=Introduction=


''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.''
{{warning|This section is woefully out of date and will be updated to reflect reality soon. For now, to learn more about the future of Webmaker, see the blog post [https://blog.webmaker.org/whats-next-for-webmaker-tools What's Next For Webmaker Tools].}}


==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 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.
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==
<center>http://farm7.staticflickr.com/6031/6332218821_9a8c984055.jpg</center>
 
<center>http://farm8.staticflickr.com/7431/10121615535_b7717819b3.jpg</center>


=Getting Involved=
There are many ways you can get involved in building the Webmaker project.  Here are a few ideas:
There are many ways you can get involved in building the Webmaker project.  Here are a few ideas:


Line 27: Line 21:
* 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 '''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 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'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. Head over to the [[Webmaker/Triage | triage]] article to find out how we try to keep that list small already.
* 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 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 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.
Line 36: Line 30:
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.
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==
<center>http://farm8.staticflickr.com/7431/10121615535_b7717819b3.jpg</center>
 
<center>http://farm3.staticflickr.com/2886/10121810133_1c67fa1ca2.jpg</center>


=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:
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:


Line 47: Line 40:
* '''Blog''': Updates about the development of the Webmaker Product go on our [http://webmakerv2.tumblr.com Webmaker blog].
* '''Blog''': Updates about the development of the Webmaker Product go on our [http://webmakerv2.tumblr.com Webmaker blog].


==Developing Webmaker==
<center>http://farm3.staticflickr.com/2886/10121810133_1c67fa1ca2.jpg</center>
 
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.  We strongly recommend a Unix-like OS, such as Linux or OS X, but it is also possible to use Windows.
 
====Dependencies====
 
Webmaker relies on a number of technologies and tools, which must first be installed.  The following list needs to be installed and working before you can run or test Webmaker locally:
 
* [http://nodejs.org node.js and npm]
* [http://bower.io/ bower]: after you install npm, you can type <code>npm install -g bower</code> (may require admin/sudo rights)
* [http://gruntjs.com/ grunt]: after you install npm, type <code>npm install -g grunt-cli</code> (may require admin/sudo rights)
* [http://www.python.org/ python 2.7]
* [http://www.pip-installer.org/en/latest/installing.html pip]
 
A number of node modules we use (e.g., SQLite) also require a working C/C++ toolchain. You should make sure that you have a working build environment for your OS (see the [https://github.com/mozilla/webmaker-suite#os-specific-information section of the Webmaker Suite docs] on this issue).
 
Optionally, if you plan to work on, or run the MakeAPI locally, you will also require the following:
 
* [http://www.mongodb.org/downloads MongoDB ] (NOTE: there is some discussion about dropping MongoDB altogether, but at the time of writing, this hasn't happened yet)
* [http://www.oracle.com/technetwork/java/javase/downloads/index.html Java]
* [http://www.elasticsearch.org Elastic Search]
 
====Setup Option 1: Webmaker Suite====
 
By far the easiest way to get all of Webmaker set up and installed locally, on any platform, is to use [https://github.com/mozilla/webmaker-suite Webmaker Suite].  This is a set of automation scripts written in node.js by one of our lead developers, and is meant to provide turn-key installation by automatically downloading all the code, and setting default environment variables.
 
Complete instructions are available in the [https://github.com/mozilla/webmaker-suite#webmaker-suite-bootstrapinstallation-script README for Webmaker Suite] on github.
 
====Setup Option 2: Local Native Installation====
 
Installing and running Webmaker on your local OS requires you to firstsetup
 
====Setup Option 3: Using Vagrant (i.e., Ubuntu-based VM)====
 
TODO
 
====Setup Option 4: Heroku====
 
TODO
 
===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:
 
====A Tour of Webmaker Code====
 
For the most part, Webmaker code lives in one of many repositories hosted under the [https://github.com/mozilla Mozilla Github Organization].  We also contribute to a number of upstream projects, not all of which are listed below (e.g., node.js modules or libraries we use, but don't maintain directly).  There are a few exceptions, but we try to graduate repositories we rely on to the Mozilla Organization instead of hosting them under individual github accounts.  For more information about any of these repositories, you are encouraged to consult each their READMEs.
 
* '''webmaker.org''': https://github.com/mozilla/webmaker.org - the node.js app and front-end code for https://webmaker.org, including things like Events and the Web Literacy Standard.
 
* '''Thimble''': a friendly real-time updating code editor, includes:
** thimble.webmaker.org: https://github.com/mozilla/thimble.webmaker.org - the node.js app and main/shell front-end code.
** friendlycode: https://github.com/mozilla/friendlycode/ - the code editor used by Thimble
** slowparse: https://github.com/mozilla/slowparse - an HTML5 parser with extra metadata and error handling
** togetherjs: https://github.com/mozilla/togetherjs/ - TogetherJS real-time collaboration library
 
* '''Popcorn Maker''': a web-based media editing tool, includes:
** popcorn.webmaker.org: https://github.com/mozilla/popcorn.webmaker.org - the node.js app and front-end for Popcorn Maker
** popcorn.js: https://github.com/mozilla/popcorn-js - the Popcorn.js HTML5 media library
 
* '''X-Ray Goggles''': https://github.com/mozilla/goggles.webmaker.org - the node.js app and front-end bookmarklet code for X-Ray Goggles, a tool for visually exploring and changing the underlying structure of web pages
 
* '''login.webmaker.org''': https://github.com/mozilla/login.webmaker.org - node.js single-sign-on (SSO) server and identity provider for Webmaker apps, as well as front-end UI components for authentication, based on [https://developer.mozilla.org/en-US/Persona?redirectlocale=en-US&redirectslug=Persona Mozilla's Persona]
 
* '''MakeAPI''': https://github.com/mozilla/makeapi - node.js metadata server for storing and indexing information about "makes" (e.g., things made on the web with Webmaker tools or 3rd party tools).
 
* '''Make Valet''': https://github.com/mozilla/make-valet - node.js app for hosting information about makes (e.g., Make Details).
 
 
profile
profile-service
make-valet
    "webmaker-mediasync": "https://github.com/mozilla/webmaker-mediasync/tarball/v0.1.22",
    "webmaker-sso": "https://github.com/jbuck/node-webmaker-sso/tarball/v0.0.4"
"makeapi-client": "https://github.com/mozilla/makeapi-client/tarball/v0.5.8",
"webmaker-i18n": "https://github.com/mozilla/node-webmaker-i18n/archive/v0.2.3.tar.gz",
"webmaker-loginapi": "https://github.com/mozilla/node-webmaker-loginapi/tarball/v0.1.11",
"webmaker-postalservice": "https://github.com/mozilla/node-webmaker-postalservice/tarball/v0.2.5"
 
"mox-server": "https://github.com/Pomax/mox-server/archive/master.tar.gz",
 
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:
=Developing Webmaker=
* learning/using git
Webmaker is a big project, and it can take some time to get set up and contributing. 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].
* 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....
==Getting a working Webmaker development environment==


= Want to report a bug? =
Webmaker is composed of a number of apps that work together. You'll need to get it running locally, which involves setting up your OS to host the Webmaker servers and apps, and installing various development tools you'll need. We strongly recommend a Unix-like OS, such as Linux or OS X, but it is also possible to use Windows.
Reporting a bug goes in Github or Lighthouse, depending on the project. Links follow:


    Thimble - https://github.com/mozilla/webpagemaker/issues
Information you'll need to get set up can be found in our [https://wiki.mozilla.org/Webmaker/Code/Dev/Environment Development Environment Guide].
    Open Badges (OBI) - https://github.com/mozilla/openbadges/issues
    Open Badger (OBr) - https://github.com/mozilla/openbadger/issues
    Collusion - https://github.com/mozilla/collusion/issues
    Webmaker.org:https://mozila-webmakers.lighthouseapp.com/dashboard
    webmaker.org (non-events) - https://mozila-webmakers.lighthouseapp.com/projects/95184-webmakers-phase-2/overview
    webmaker.org/events - https://mozila-webmakers.lighthouseapp.com/projects/94308-webmakers/overview
    Popcorn Maker:https://webmademovies.lighthouseapp.com/projects/65733-popcorn-maker/overview
    Popcorn.js:https://webmademovies.lighthouseapp.com/projects/63272-popcornjs/overview


= Software =
==Opening a Bugzilla account, and understanding our bug-tracking system ==
<b>"Apps that teach</b>." [https://webmaker.org/en-US/tools/ Mozilla Webmaker tools] like Popcorn, Thimble and X-Ray Goggles help users a) make something amazing on the web, and b) bake in learning as they go. They're designed to teach digital literacy and web mechanics like HTML, CSS and Javascript through making and doing. Here's how you can get involved:


== Popcorn ==
All the Webmaker work that has been done, and needs to be done, is tracked in an instance of [http://www.bugzilla.org/ Bugzilla] located at [http://bugzilla.mozilla.org http://bugzilla.mozilla.org]. This includes patches, feature updates, error & security fixes and documentation updates. Ideally, it should include anything that can be thought of as a Webmaker-related task.
Mozilla Popcorn makes video pop. The Popcorn app and Javascript library make it easy for end-users and developers to make videos interactive, pulling in content from the rest of the web. [http://mozillapopcorn.org/ More info here.]


{|
Understanding how to find bugs to work on, how to file bugs, and how to use Bugzilla to record your progress is vital (and required) for contributing. For all the information you need to smoothly transition into this mindset, make sure to read through our [https://wiki.mozilla.org/Webmaker/Code/Dev/Bugs Bug Guide].
| '''More Info'''
|
[https://wiki.mozilla.org/Popcorn.js Popcorn.js] & [https://wiki.mozilla.org/PopcornMaker Popcorn Maker]
|-
| '''Code Repo'''
|
[https://github.com/mozilla/butter Github]
|-
| '''Issue Tracking '''
|
[https://webmademovies.lighthouseapp.com/dashboard Lighthouse Popcorn]
|-
| '''Primary Language/Framework'''
| JS
|-
| '''IRC'''
| irc.mozilla.org #popcorn
|-
| '''Mailing list'''
|
[https://mail.mozilla.org/listinfo/community-popcorn Popcorn Community]
|-
| '''Dev Cycles'''
| Popcorn Maker: Monthly; Popcorn.js: bi-monthly
|-
| '''More on how to contribute'''
|
[https://air.mozilla.org/popcorn-maker-overview/ Air Mozilla Presentation]
|}


== Thimble ==
==Understand Webmaker Code==


Thimble makes it ridiculously simple to create and share your own web pages: Write and edit HTML and CSS right in your browser, instantly preview your work and then host and share finished projects with a single click. [http://thimbletest.org/en-US/projects More info here.]
Webmaker, appearing to be a single, complex web application, is actually made of a number of smaller apps that work together to perform those complex functions. To really dig into the work that we're doing together, you'll need a grasp of how our technology works at a high-level.  


{|
Nervous? Don't be! Get a simple explanation of how Webmaker works in our [https://wiki.mozilla.org/Webmaker/Code/Dev/Tech Technology Guide].
| '''More Info'''
|
[https://wiki.mozilla.org/Thimble Thimble wiki]
|-
| '''Code Repo'''
|
[https://github.com/mozilla/webpagemaker Github]
|-
| '''Dev site'''
|
[http://webpagemaker-dev.allizom.org/ Thimble dev]
|-
| '''Issue Tracking '''
|
[https://github.com/mozilla/webpagemaker/issues Lighthouse Popcorn]
|-
| '''Primary Language/Framework'''
| Python on the server, JS on the client
|-
| '''IRC'''
| irc.mozilla.org #MoFoDev, #thimble
|-
| '''Mailing list'''
|
[https://groups.google.com/forum/?fromgroups#%21forum/mozwebpagemaker Thimble Community]
|-
| '''Dev Cycles'''
| TBD
|}


== Open Badges ==
The production infrastructure for Webmaker apps in the ecosystem gives you an a visualization of the apps involved in the Webmaker suite.


Learning today happens everywhere. But it's often difficult to get recognition for skills and achievements that happen online or out of school. Mozilla Open Badges helps solve that problem, making it easy for any organization to issue, manage and display digital badges across the web. [https://mozillalabs.com/en-US/open-badges/ More info here.]
https://dl.dropboxusercontent.com/u/2273146/Mofo%20Architecture.jpg


{|
==Learn the Webmaker Development Workflow==
| '''More Info'''
|
[https://wiki.mozilla.org/Badges Badges wiki]
|-
| '''Code Repo'''
|
[https://github.com/mozilla/openbadges Github]
|-
| '''Issue Tracking '''
|
[https://github.com/mozilla/openbadges/issues Github]
|-
| '''Primary Language/Framework'''
| Node.js
|-
| '''IRC'''
| irc.mozilla.org #badges, #MoFoDev
|-
| '''Mailing list'''
|
[https://groups.google.com/d/forum/openbadges Badges community]
|-
| '''Dev Cycles'''
| Bi-monthly
|}


== X-Ray Goggles ==
Webmaker Development follows a set of procedures that are designed to make this kind of asynchronous, often long-distance, collaboration easier while maintaining quality in our work.


The X-Ray Goggles make it easy to see and mess around with the building blocks that make up the web. Activate the Goggles to inspect the code behind any web page, from the New York Times to your own blog. Then remix elements with a single click, swapping in your own text, images and more. [http://hackasaurus.org/goggles/ More info here.]
The entire process is well documented in our [https://wiki.mozilla.org/Webmaker/Code/Dev/Workflow Workflow Guide]


{|
==Testing and Google Analytics==
| '''More Info'''
* [https://wiki.mozilla.org/Webmaker/Metrics/GA-Events Google Analytics Event Tracking guide]
|
* [https://wiki.mozilla.org/Foundation/Metrics/Optimizely_Process A/B Testing with Optimizely]
[http://hackasaurus.org/goggles/ X-Ray Goggles]
|-
| '''Code Repo'''
|
[https://github.com/toolness/webxray/ Github]
|-
| '''Issue Tracking '''
|
[https://github.com/toolness/webxray/issues Github]
|-
| '''Primary Language/Framework'''
| JS
|-
| '''IRC'''
| irc.mozilla.org #MoFoDev
|-
| '''Mailing list'''
|
[https://mail.mozilla.org/listinfo/mofodev MoFoDev List]
|}

Latest revision as of 15:36, 13 July 2015

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.

9689638299_10d2cd241d.jpg

Introduction

Warning signWarning: This section is woefully out of date and will be updated to reflect reality soon. For now, to learn more about the future of Webmaker, see the blog post What's Next For Webmaker Tools.

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 Node.js, HTML5, CSS, and 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.

6332218821_9a8c984055.jpg

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 Webmaker Product on bugzilla neat and tidy. Head over to the triage article to find out how we try to keep that list small already.
  • If you know how to speak more than one language, you could work on localization and help us maintain our 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.

10121615535_b7717819b3.jpg

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 #webmaker channel on moznet is our primary dev channel. If you're new to irc, please see the 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: webmaker@lists.mozilla.org for general Webmaker communication; and webmaker-dev@mozilla.org for developer communication.
  • Bug Tracker: We use Mozilla's Bugzilla to track our work, see the Webmaker Product in Bugzilla.
  • Blog: Updates about the development of the Webmaker Product go on our Webmaker blog.
10121810133_1c67fa1ca2.jpg

Developing Webmaker

Webmaker is a big project, and it can take some time to get set up and contributing. Please read this documentation to help you get started, and ask follow-up questions on irc or the webmaker-dev list.

Getting a working Webmaker development environment

Webmaker is composed of a number of apps that work together. You'll need to get it running locally, which involves setting up your OS to host the Webmaker servers and apps, and installing various development tools you'll need. We strongly recommend a Unix-like OS, such as Linux or OS X, but it is also possible to use Windows.

Information you'll need to get set up can be found in our Development Environment Guide.

Opening a Bugzilla account, and understanding our bug-tracking system

All the Webmaker work that has been done, and needs to be done, is tracked in an instance of Bugzilla located at http://bugzilla.mozilla.org. This includes patches, feature updates, error & security fixes and documentation updates. Ideally, it should include anything that can be thought of as a Webmaker-related task.

Understanding how to find bugs to work on, how to file bugs, and how to use Bugzilla to record your progress is vital (and required) for contributing. For all the information you need to smoothly transition into this mindset, make sure to read through our Bug Guide.

Understand Webmaker Code

Webmaker, appearing to be a single, complex web application, is actually made of a number of smaller apps that work together to perform those complex functions. To really dig into the work that we're doing together, you'll need a grasp of how our technology works at a high-level.

Nervous? Don't be! Get a simple explanation of how Webmaker works in our Technology Guide.

The production infrastructure for Webmaker apps in the ecosystem gives you an a visualization of the apps involved in the Webmaker suite.

Mofo%20Architecture.jpg

Learn the Webmaker Development Workflow

Webmaker Development follows a set of procedures that are designed to make this kind of asynchronous, often long-distance, collaboration easier while maintaining quality in our work.

The entire process is well documented in our Workflow Guide

Testing and Google Analytics