TestEngineering/UI/AMO/Tips and Pointers: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 5: Line 5:
before they can be complete; click on the "Complete Add-on" button to make them so
before they can be complete; click on the "Complete Add-on" button to make them so


=Caching=
-----
AMO uses [http://www.zeus.com/products/zxtmlb/index.html Zeus], which heavily caches content
== AMO ==


If you see some_string_define on AMO, it's either 1) a raw string define, or (more likely) 2) Apache needs to restart to pick up the [http://us.php.net/gettext gettext()] changes
* AMO uses [http://www.zeus.com/products/zxtmlb/index.html Zeus], which heavily caches content.  You can tell you're getting a cached copy of the content by looking at the headers and seeing "Via: Moz-Cache-zlb??" where ?? is a number and not seeing no-cache headers.  ''being logged in bypasses this cache completely''
* If you see ''some_string_define'' on AMO, it's either 1) a raw string define, or (more likely) 2) Apache needs to restart to pick up the [http://us.php.net/gettext gettext()] changes.
* AMO runs on a cluster of servers.  To tell what server is showing you the current page look for the "X-AMO-ServedBy" header.
* To view the revision of AMO you're currently seeing, view-source of any page; in the bottom, you'll see something like <pre><!-- r24322 --></pre><p>This means you're at SVN revision number 24322 -- you can cross-link this to whatever revision number was posted in the checkin comment in the bug.
* Pages won't validate due to some proprietary attributes we use (like "addonname") but it should be very close.


=Staging=
== Production ==
To view the revision of AMO you're currently seeing, view-source of any page; in the bottom, you'll see something like <pre><!-- r24322 --></pre><p>This means you're at SVN revision number 24322 -- you can cross-link this to whatever revision number was posted in the checkin comment in the bug.<br>Staging doesn't automatically sync its database to production -- for some features (reviews, ratings, new add-ons, etc.), we'll need to get a fresh DB import from production; development usually files an IT bug requesting this
===https://addons.mozilla.org/===
* Database queries are cached in memcache for 60 minutes.  This means if you change something that doesn't invalidate the cache it won't actually change for up to 60 minutes.
* If you want a really fast check to see if basic infrastructure is working look at the [https://addons.mozilla.org/services/monitor.php services monitor].  This is also one of the things nagios watches.
* Many scripts are run periodically via cron.  This means certain things won't update right away (in addition to the cache timeouts).  Some examples:
** Calculating weekly download, total download, collections, and review stats happens every 20 minutes
** Calculating the compatibility report happens every 5 minutes
** You can see exact times and all cron jobs in {{bug|487503}}
 
===https://versioncheck.addons.mozilla.org/===
* Used by applications to see if their add-ons are up to date.  Can be modified using about:config by changing
  extensions.update.url
* Should only output XML. Ever.
 
===https://services.addons.mozilla.org/===
* Used for the API.
** In Firefox's "Get Add-ons" (Tools->Add-ons->Get Add-ons).  This can be configured using about:config by changing
  extensions.getAddons.recommended.url
  extensions.getAddons.search.url
** For external sites, both 3rd party and sites like [http://addons.mozilla.jp/ addons.mozilla.jp]
** Should only output XML. Ever.
 
===https://facebook.addons.mozilla.org/===
* Only used for an old facebook app and not currently updated.  {{bug|474466}} decides its fate.
 
== Staging ==
 
Found at: https://preview.addons.mozilla.org/
 
* The site updates from SVN every 15 minutes automatically.  It also reruns the clean and build scripts which make the compressed js files, etc.
* The database is a very old copy from production AMO.  It is only updated when requested through IT (talk to webdev first please).
* If you're feeling wild you can directly access the [https://phpmyadmin.authstage.mozilla.com/index.php?db=addons_reskin staging database] to verify table structure or data.

Revision as of 20:47, 23 April 2009

Testing Add-on Uploading

  • Add-ons need to have:
    • At least 1 category
    • A description...

before they can be complete; click on the "Complete Add-on" button to make them so


AMO

  • AMO uses Zeus, which heavily caches content. You can tell you're getting a cached copy of the content by looking at the headers and seeing "Via: Moz-Cache-zlb??" where ?? is a number and not seeing no-cache headers. being logged in bypasses this cache completely
  • If you see some_string_define on AMO, it's either 1) a raw string define, or (more likely) 2) Apache needs to restart to pick up the gettext() changes.
  • AMO runs on a cluster of servers. To tell what server is showing you the current page look for the "X-AMO-ServedBy" header.
  • To view the revision of AMO you're currently seeing, view-source of any page; in the bottom, you'll see something like
    <!-- r24322 -->

    This means you're at SVN revision number 24322 -- you can cross-link this to whatever revision number was posted in the checkin comment in the bug.

  • Pages won't validate due to some proprietary attributes we use (like "addonname") but it should be very close.

Production

https://addons.mozilla.org/

  • Database queries are cached in memcache for 60 minutes. This means if you change something that doesn't invalidate the cache it won't actually change for up to 60 minutes.
  • If you want a really fast check to see if basic infrastructure is working look at the services monitor. This is also one of the things nagios watches.
  • Many scripts are run periodically via cron. This means certain things won't update right away (in addition to the cache timeouts). Some examples:
    • Calculating weekly download, total download, collections, and review stats happens every 20 minutes
    • Calculating the compatibility report happens every 5 minutes
    • You can see exact times and all cron jobs in bug 487503

https://versioncheck.addons.mozilla.org/

  • Used by applications to see if their add-ons are up to date. Can be modified using about:config by changing
 extensions.update.url
  • Should only output XML. Ever.

https://services.addons.mozilla.org/

  • Used for the API.
    • In Firefox's "Get Add-ons" (Tools->Add-ons->Get Add-ons). This can be configured using about:config by changing
 extensions.getAddons.recommended.url
 extensions.getAddons.search.url
    • For external sites, both 3rd party and sites like addons.mozilla.jp
    • Should only output XML. Ever.

https://facebook.addons.mozilla.org/

  • Only used for an old facebook app and not currently updated. bug 474466 decides its fate.

Staging

Found at: https://preview.addons.mozilla.org/

  • The site updates from SVN every 15 minutes automatically. It also reruns the clean and build scripts which make the compressed js files, etc.
  • The database is a very old copy from production AMO. It is only updated when requested through IT (talk to webdev first please).
  • If you're feeling wild you can directly access the staging database to verify table structure or data.