canmove, Confirmed users, Bureaucrats and Sysops emeriti
3,628
edits
(→Repositories: Drop Fxos for now) |
(Some rework and tidy up ready for "v1") |
||
| Line 7: | Line 7: | ||
* Server: 'Loop' product, 'Server' component | * Server: 'Loop' product, 'Server' component | ||
' | ==== Looking for bugs? ==== | ||
Try one of the [https://bugzilla.mozilla.org/buglist.cgi?f1=status_whiteboard&o1=substring&resolution=---&query_format=advanced&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&v1=good%20first%20bug&component=Client&component=General&product=Loop&list_id=12141660 good first bugs] (simple bugs that are easy to fix) or a [https://bugzilla.mozilla.org/buglist.cgi?f1=status_whiteboard&o1=substring&resolution=---&query_format=advanced&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&v1=good%20next%20bug&component=Client&component=General&product=Loop&list_id=12141660 good next bug]. | |||
There's also [https://bugzilla.mozilla.org/buglist.cgi?f1=bug_mentor&list_id=12141679&o1=isnotempty&resolution=---&emailtype1=exact&query_format=advanced&emailassigned_to1=1&email1=nobody%40mozilla.org&product=Loop mentored bugs] where are developers have signed up to help you fix the bugs. Most of these will be in the good first and next bug groups above. | |||
Or if not, take a look at our [[Firefox/Iterative_Hello_Development#Product_Backlog|ranked priority list]] and choose one from there. | |||
=== Repositories === | === Repositories === | ||
| Line 14: | Line 20: | ||
* Master repository for Desktop and Standalone UI: [http://hg.mozilla.org/mozilla-central/ mozilla-central] (there's a [https://github.com/mozilla/gecko-dev git mirror] of it as well) | * Master repository for Desktop and Standalone UI: [http://hg.mozilla.org/mozilla-central/ mozilla-central] (there's a [https://github.com/mozilla/gecko-dev git mirror] of it as well) | ||
* [https://github.com/mozilla-services/loop-server Loop server] | * [https://github.com/mozilla-services/loop-server Loop server] | ||
=== Directories === | === Directories === | ||
| Line 29: | Line 33: | ||
* ui/ - A UI showcase, used to aid development and layout of styles for the various parts of the UI | * ui/ - A UI showcase, used to aid development and layout of styles for the various parts of the UI | ||
=== Firefox Desktop === | === Loop Software Architecture === | ||
More details on the structure coming soon. We have parts of Loop that run in a web-content space (those typically below a <code>content</code> directory), and other parts that work in a gecko privileged space (these are typically in the root directory of <code>browser/components/loop</code>). | |||
A lot of the content files use a Flux based architecture, [https://blog.mozilla.org/standard8/2015/02/09/firefox-hello-desktop-behind-the-scenes-flux-and-react/ read more about that here]. | |||
== Getting started with Firefox Desktop and Standalone development == | |||
=== Additional Requirements === | |||
For Loop development, there's currently a couple of extra requirements on top of the [https://developer.mozilla.org/en-US/docs/Simple_Firefox_build#Build_prerequisites Firefox desktop build requirements]. | |||
These are npm and react-tools. | |||
Make sure you have npm installed: | Make sure you have npm installed: | ||
| Line 40: | Line 55: | ||
npm install -g react-tools | npm install -g react-tools | ||
=== | === Unit test and ui-showcase tools === | ||
We have a server that helps running the unit tests manually, there's also the ui-showcase which helps with previewing layouts before starting Firefox. | |||
cd browser/components/loop/standalone | cd browser/components/loop/standalone | ||
make install | make install | ||
make runserver | make runserver | ||
You | You only need to do <code>make runserver</code> on subsequent runs. Although <code>make install</code> may be required occasionally if dependencies get updated. | ||
=== Developing === | === Developing === | ||
| Line 75: | Line 76: | ||
to keep watching the jsx files and updating them as the change. | to keep watching the jsx files and updating them as the change. | ||
=== UI-showcase === | |||
If you've got the standalone server running, you can view this by visiting http://localhost:3000/ui/ . This lets you layout the content pages (the parts displayed in the panel and conversation view) in a web context before loading and testing them in Firefox itself. | |||
=== Running Tests === | |||
There's a file located at <code>[http://mxr.mozilla.org/mozilla-central/source/browser/components/loop/run-all-loop-tests.sh browser/components/loop/run-all-loop-tests.sh]</code> which allows all loop related tests to be run at the same time. | |||
For information on running the tests individually, see the <code>[http://mxr.mozilla.org/mozilla-central/source/browser/components/loop/README.txt README.txt]</code> file. | |||
== Creating Patches == | |||
Creating patches happens in exactly the same manner as for the rest of Firefox. See our documentation on the Mozilla Developer Network for [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/How_to_Submit_a_Patch how to create and submit a patch.] | |||