Loop/Development: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(→‎Firefox Desktop: Add npm install instructions)
(→‎Tracking: Drop fxos for now)
Line 6: Line 6:
* Desktop & Standalone (aka 'link clicker'): 'Loop' product, 'Client' component
* Desktop & Standalone (aka 'link clicker'): 'Loop' product, 'Client' component
* Server: 'Loop' product, 'Server' component
* Server: 'Loop' product, 'Server' component
* FFOS Client: 'Firefox OS' product, 'Gaia:Loop' component


''Tracking section to be added elsewhere, with a reference here''
''Tracking section to be added elsewhere, with a reference here''
=== Repositories ===
=== Repositories ===
Loop is contained across several repositories:
Loop is contained across several repositories:

Revision as of 09:29, 1 April 2015

Bug Tracking and Repositories

Tracking

Bugs are stored in bugzilla:

  • Desktop & Standalone (aka 'link clicker'): 'Loop' product, 'Client' component
  • Server: 'Loop' product, 'Server' component

Tracking section to be added elsewhere, with a reference here

Repositories

Loop is contained across several repositories:

Getting started with Firefox Desktop and Standalone development

Directories

All files, apart from desktop locales are in mozilla-central, under browser/components/loop/. Within that directory there is:

  • *.jsm - Various modules used within Firefox desktop
  • build-jsx used to build the required jsx files
  • content/ - These files are all used on the desktop for the Loop panel and conversation window. They are loaded into content space rather than chrome
  • content/shared - Used for Firefox desktop, but also used for the standalone UI
  • standalone/ - Files used by the standalone application, including commands to make and run a standalone server (see below)
  • standalone/content - The content files for the standalone application
  • ui/ - A UI showcase, used to aid development and layout of styles for the various parts of the UI

Firefox Desktop

First, build Firefox.

Make sure you have npm installed:

brew install npm

and install react:

npm install -g react-tools

Standalone (aka link clicker) client

This also needs npm to run.

To run the server on localhost, do:

cd browser/components/loop/standalone
make install

Then to run the server:

make runserver

You'll also need to run a Loop server:

git checkout https://github.com/mozilla-services/loop-server
cd loop-server
make install

You'll then need to copy sample.json to dev.json. Ask in #loop if you need help. Then run:

make runserver

In a Firefox profile, you'll need to set the loop.server pref to http://localhost:5000

Developing

If you're altering any of the javascript files, you need to make sure you alter the jsx versions if they exist. Running:

cd browser/components/loop
./build-jsx

will generate the js versions of the file. Even better you can use:

./build-jsx -w

to keep watching the jsx files and updating them as the change.