Labs/Ubiquity/Ubiquity 0.1 Development Tutorial

From MozillaWiki
< Labs‎ | Ubiquity
Revision as of 23:07, 29 August 2008 by Jdicarlo (talk | contribs)
Jump to navigation Jump to search

Getting the Source

To get the source code for Ubiquity and develop for it, you'll first have to install Mercurial and Python if they're not already on your system. Then, from the command line, enter:

 hg clone http://hg.toolness.com/ubiquity-firefox

Now enter the newly-created ubiquity-firefox directory and read the README file contained in it for further instructions (an online version can be found here).

Getting Involved

It is pretty easy to get involved with the development of Ubiquity. Start off by introducing yourself on the irc channel #ubiquity on irc.mozilla.org.

We use Mercurial [1] for version control. It is very easy to install if you've got Python 2.5 with setuptools. Just type:

 easy_install Mercurial

Once installed, you will be able to checkout the current source using the command:

 hg clone http://hg.toolness.com/ubiquity-firefox

Uninstall your current version of Ubiquity from your Firefox Addons and then run:

 python manage.py install

This will generate a new build of the Ubiquity extension from the source checkout and install it with your local Firefox instance. Now you are all set to become a pro Ubiquity hacker!

The heart of the code can be found in the subdirectory:

  ubiquity/chrome/content/

We use this Wiki [2] and Getsatisfaction [3] as places to get feature requests and bug reports. These feed into an internal Trac-based ticketing system [4].

Login to the Trac [5] using an OpenID account. Check out what needs to be done, add things appropriately, choose unassigned tickets and start hacking!

Make sure you run the test suite before committing your changes:

   python manage.py test

Note: There is no need for you to keep on rebuilding your Extension after the first time. The changes to the manage.py built Extension are updated whenever you save updates to the source files and restart Firefox.

Welcome to Ubiquity.