Visit Mozilla.org

Update:Home Page

From MozillaWiki

Table of contents

About

UMO (Updates Mozilla Org) provides web-based services like addons.mozilla.org providing a resource for finding and installing Extensions and Themes for Firefox and Thunderbird, as well as the Plugin Finder and Application Update services.

Project Status

There is a commit freeze for v1.0. A full security audit is in progress. Some features will be disabled until that is completed. We will provide a more accurate timeline as it becomes available.

When is X going to happen?

Until we have a clear picture of what we have and where we are going, we won't have a timeline. Right now the goal is to get an assessment completed by 2005-03-01 which will help drive our development efforts moving forward.

Volunteering

We are looking for volunteers to help us with UMO. We are in need of PHP developers to help with redesigning the site, and people to review extensions and themes that get submitted to UMO. We especially need mac OS users, and Thunderbird users. If you are interested in being a part of this exciting project, please send information such as your full name, timezone and experience to scott at osuosl dot org. Also, please join us in #umo on irc.mozilla.org to start getting a feeling for what's up! [Editor's Guide (http://wiki.mozilla.org/Update:Home_Page#Reviewers.2FEditors_Guide)]

Meetings

Contact Information

General

  • Mailing list: umo-admins@mozilla.org
  • IRC: #umo on irc.mozilla.org

Leads

  • Module Owner: Scott Kveton, kveton on irc.m.o
  • Mozilla Foundation Lead: Christopher Beard, cbeard on irc.m.o, cbeard at mozilla dot org

Collaborators

  • Mike Morgan, morgamic on irc.m.o, Reviewer
  • Alan Starr aka alanjstr
  • Giorgio Maone, maoztetung on irc.m.o., g.maone at informaction,com, Reviewer
  • Chris Thomas, CTho on irc.m.o, cst at andrew,cmu,edu, Reviewer
  • Colin Ogilvie, Colin on irc.m.o, colin.ogilvie AT gmail DOT com
  • Mike Connor, mconnor on irc.m.o, Reviewer
  • Alex Sirota, iosart on irc.m.o., alex at elbrus,com
  • Dave Miller, justdave on irc.m.o (production system administrator)
  • Barry Chen, chenb on irc.m.o
  • Johnny Stenback, jst on irc, Plugin Finder Service.
  • Paul Querna, chip on irc.m.o, chipig on freenode.

Requirements

See a complete list of project requirements.


Infrastructure

In looking at the future, we need to identify what it's going to take to handle the UMO service during peak loads. The community will not judge us on how sexy UMO is or the tools built around it. We believe the community and pundits will be most critical of UMO if it fails to perform during peak usage. If a new security update is released and UMO melts down, that will reflect poorly on the use of Firefox but also the Mozilla Foundation as a whole.

The existing infrastructure will not scale to handle peak loads at this time. Peak loads will occur when new and popular extensions come out and most notably when security updates are released. We need to build a scalable, reliable and secure infrastructure to handle the delivery of the UMO service to end users.

Corey Shields will be tasked with coming up with a plan for this and presenting it to the Mozilla Foundation system administrators. The OSL (http://osuosl.org) would be willing to completely manage this service up to the application layer (including upgrades, etc) for the MoFo.

Roadmap

v1.0

We are only going to be doing security and performance fixes to this release. This will tie into the security audit which will identify any changes that need to happen before we turn UMO on with the v1.0 codebase.

v2.0

The overall opinion is we should rewrite from scratch to take advantage of frameworks/tools to improve scalability and extensibility. See the complete v2.0 plan.

  • http://update-dev2.mozilla.org
  • trunk checkins (http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=HEAD&branchtype=match&dir=%2Fmozilla%2Fwebtools%2Fupdate%2F&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=week&mindate=&maxdate=&cvsroot=%2Fcvsroot)
  • open bugs (https://bugzilla.mozilla.org/buglist.cgi?product=Update&component=Administration&component=Developers&component=Web+Site&target_milestone=2.0&resolution=---)

Developer's Guide

We grab the update and plugin files as well as the database every 4 hours from the production servers. In addition, we also update the /data/update-dev and /data/update-staging via cvs every 4 hours as well.

If you like to and have the skills, you can help UMO by writing patches for the bugs that are in the system. For all known bugs in UMO, please go to the Bug List (https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&product=Update&component=Administration&component=Developers&component=Web+Site&target_milestone=1.1&resolution=---&chfieldto=Now). To get access to the UMO code, read the Anonymous CVS Access intructions below.

In order to get your patch to be applied in the CVS, join the IRC channel #umo on irc.mozilla.org.

Anonymous CVS Access

setenv CVSROOT :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot  
cvs login
(password is "anonymous")

NOTE: you want to do this from your public_html directory:

cvs co -rMOZILLA_UPDATE_1_0_BRANCH -d . mozilla/webtools/update

Staging Environment

Dev Environment

Sandbox Environment

Each developer can use a sandbox environment on chameleon.mozilla.org hosted in their public_html directory. If you would like access to this environment talk with kveton in #umo on irc.mozilla.org. This will allow you to do testing of patches and do custom development in your own sandbox and not affect the production development or staging environments.

The latest dump of the UMO database is in /data/db on chameleon. To use it just grab it and put it in your home directory and run:

  • cp mozilla-update.sql .
  • mysql -u username -p --database username < mozilla-update.sql

You can edit your database via phpmyadmin if you go to https://update-staging.mozilla.org/db/ using your sandbox username/password. You will be asked to enter your password twice as the first one is an htaccess password to protect the phpmyadmin tool behind it.

No error messages will be displayed by default. You can change that via .htaccess or ini_set - you must change display_errors to 1 and set error_reporting. To do this, you can set the following in your config.php:

ini_set('error_reporting', E_ALL); 
ini_set('display_errors', true);

Other Documents


Reviewers/Editors Guide

UMO leverages reviewers/editors to look over pending extensions and themes for publication on the site. We have a large number of extensions and themes and need a good coverage of timezones, operating systems and mozilla software to make sure we get them moderated in a timely fashion.

Covering the Bases

Please fill in what you're able to test.

Name Timezone Win32 Linux OSX
GMT offset FX TB SM FX TB SM FX TB SM
alanjstr -4/-5 X
artooro -4 X X
Cameron +9:30 X
chip -7 (PDT) X X X ?
chrisblore +1/+0 X X X X
dmb -5 (EST) X X X
Ihoss +1 X X X
Jero +1 X X
kveton
Legendre -5 X X X
Milesh -6 CDT/CST X X

Testing Extensions

To claim an extension/theme as yours you just hang out in #umo and say "okay i'm going to play around with such and such" and away you go. Some fights will ensue, but it's a wild world out there :) It's best if more than one person reviews each extension, but this may not always be possible.

Start by installing the extension. Restart your application. If it doesn't come back, then you have a problem.

Once you've restarted, check the Extensions Manager to see if it has any options. If it does, test them out.

Test what the extension is supposed to do. If it adds a new tool, it may be under the Tools menu or under View -> Sidebars.

Use your application normally making sure there are no adverse side-effects.

Uninstall the extension and restart your application. Are you still able to surf the web, check email, etc?

The approval forms are as follows:

  • OSes - What operating systems did you test this on (Windows, Linux, OSX)
  • Apps - What applications did you test this in? Firefox, Thunderbird, Seamonkey? Also include a version number.
  • Comments to Author - Any suggestions or comments you'd like to tell the author. if you are approving the extension, congratulate them and if you have any suggestions, give them. If you are denying the extension, tell them why. These comments will be sent to the author with notification of your actions.
  • Install? - Does the extension install?
  • Uninstall? - Does the extension uninstall without trouble?
  • App works? - Does the extension remove functionality from your application? Is there anything it stops working?
  • Clean profile? - If the extension does not work, is it because of a conflict with another extension or one of your settings? This should be ticked if the extension works.
  • New chrome? - Does the extension add anything to the user interface? (Including Tools -> Extensions -> Options.)
  • Works - Does the extension do its job as the author describes?

Testing Themes

The procedure to start testing a theme is the same as the one for extensions. Testing themes usually (but not necessarily) takes lesser time.

While testing a theme, don't forget to check that the author has included a suitable preview image (a preview image is mandatory). If not, check that the other requirements are fulfilled (the theme and the application work as required and the theme installs/uninstalls properly). Add a comment to the effect that previews are required for all themes on umo and then deny the approval request, asking them to resubmit their theme complete with a preview.

Things to look for

  • Completeness: Examine **all** the toolbars, menus, menu options, throbber, icons etc. to make sure that nothing is missed out.
  • Look: While looking for completeness, also look at the color combinations and the contrast. Commend the author for the choice of colors/contrast and the visual elements.
  • Consistency: A theme is, well, a theme! See if the visual elements are consistent across menus and toolbars. Do the colors, dialogs and menus look the same across different UI options? This is the most important aspect of a theme. Without consistency, it wouldn't be a theme!
  • Fit: By fit, I mean the display of all elements within specific boundaries. This is relevant for menus and dialogs - check to make sure that all the UI elements fit within the default boundaries and do not appear "clipped". If anything's clipped and/or if resizing is required to see it completely, make a note of it and request the author to change it - clipped dialogs/menus are an annoyance to users and could lower the impression of quality that the theme makes on the user - in such cases, it's better to deny the theme and request the author to correct these.
  • Install/Uninstall: This is the same as the check done for extensions.

Approval, Denial and Comments

  • Approving a theme/extension: Thank the author for the time and effort they have put in. Remember that they're enhancing the usefulness and the appeal of the products!
  • Denying a theme/extension: Be polite in pointing out the flaws. Provide suggestions as to what they could or should do before re-submitting it and request them to re-submit it. It's also a good idea to tell the author what you liked about the extension/theme even though you've denied it.
  • Comments: Your comments to the author go to a *real person* - keep that in mind while you go about reviewing hundreds of extensions/themes. :)

NOTE: The backend processing for the text boxes in the approval form does not like anything enclosed in '<' and '>'. It assumes it to be HTML and strips the '<', '>' and the text in between before logging it and sending it to the author! So take care to use some other set of characters like '[ ]', '{ }' etc.

Bugzilla

For those who are new, Bugzilla is a system for reporting bugs in software. Mozilla uses Bugzilla to report and track bugs in its programs, but also for reporting and tracking other issues. For instance, if you want to change a part of UMO (eg. you want to make it compulsory for 3 revierers to check every extension) then you can file an entry in bugzilla. Extension owners may create entries when they want their extension added to UMO.

Bug 287977 (https://bugzilla.mozilla.org/show_bug.cgi?id=287977) means that if they submitted the same version number twice, they overwrote the old approval/denial.

Don't forget to check to see if there's still a Bugzilla entry (https://bugzilla.mozilla.org/buglist.cgi?product=Update&component=Listings&resolution=---) open requesting manual help.

404 Errors

It can take more than 30 minutes from the time you approve an extension until all of the mirrors have the file. The links on the website will 404 until then.