Compatibility/Mobile/WipeOutUAOverides: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
 
(17 intermediate revisions by one other user not shown)
Line 1: Line 1:
=Wipe Out User Agent (UA) Overrides=
=Wipe Out User Agent (UA) Overrides=
User Agent (UA) overrides were added to B2G for sites that were determined to be important to the user experience that were not sending B2G mobile content. The UA overrides were added using the platform's UA override mechanism, which provides the facility to request mobile content when the B2G UA is not recognized as mobile. This UA override mechanism is to be a short lived solution until the Web content is fixed to recognize B2G as mobile.  
[[UA/override|User Agent (UA) overrides]] is to be a short lived solution until the Web content is fixed to recognize B2G as mobile or the site has been fixed to modern methods.  


==Goal==
==Goal==
Line 6: Line 6:


===Scope===  
===Scope===  
The scope of this project is all sites listed on the [https://github.com/mozilla-b2g/gaia/blob/master/build/ua-override-prefs.js UA override list]. This list is also available in [http://mzl.la/12IPVvr Bugzilla].
The scope of this project is all sites listed on the [https://hg.mozilla.org/mozilla-central/file/tip/b2g/app/ua-update.json.in UA override list]. This list is also available in [http://mzl.la/12IPVvr Bugzilla].


The sites for which UA overrides have been added have each been smoke tested to ensure that they are functional. The request of these sites is simply to recognize the B2G UA as mobile, preferably by recognizing the "Mobi" token in the UA.
The sites for which UA overrides have been added have each been smoke tested to ensure that they are functional. The request of these sites is simply to recognize the B2G UA as mobile, preferably by recognizing the "Mobi" token in the UA.
Note: Mozilla recommends the use of responsive design and feature detection over UA detection. The request to augment a site to use these methods is much greater than the request to modify the existing site UA detection logic. This makes requesting the recognition of the B2G UA the lowest bar to 'fixing' these sites.


==Duration==
==Duration==
TBD
A report will be done by mid-March 2014.


==Communication==
==Communication==
Line 19: Line 17:
  ! Communication Type !! Mechanism !! Audience
  ! Communication Type !! Mechanism !! Audience
  |-
  |-
  | UA override list || [https://github.com/mozilla-b2g/gaia/blob/master/build/ua-override-prefs.js Gaia source file], [http://mzl.la/12IPVvr Bugzilla bugs] || All
  | UA override list || [https://hg.mozilla.org/mozilla-central/file/tip/b2g/app/ua-update.json.in Mozilla Central source file], [http://mzl.la/12IPVvr Bugzilla bugs] || All
|}
|}


Line 38: Line 36:
  | Project Management || Lawrence Mandel
  | Project Management || Lawrence Mandel
  |-  
  |-  
  | Partner Outreach ||  
  | Partner Outreach ||Karl Dubost
|-
| Tooling || Hallvord Steen
  |-  
  |-  
|}
|}
==Dependencies==
==Updating the UA override list==
Since the end of 2013, the UA override list is managed dynamically on the server side. @@Insert here the relevant bugs and documentation@@
Once a bug has been resolved it is necessary to update the [https://hg.mozilla.org/mozilla-central/file/tip/b2g/app/ua-update.json.in ua-override list] on the Mozilla Central. It is possible to make one pull request for a few ua strings override at the same time.
For the following instructions, you are expected to have
# A working knowledge of hg
# A [https://bugzilla.mozilla.org/ Mozilla bugzilla] account
=== Preparation ===
# [https://developer.mozilla.org/en-US/docs/Installing_Mercurial Install Mercurial] (10 minutes)
# [https://developer.mozilla.org/en-US/docs/Developer_Guide/Source_Code/Mercurial Get Mozilla Source Code Using Mercurial] with <code>hg clone https://hg.mozilla.org/mozilla-central/ mozilla-central</code> (A lot of times: 2.3 GB to transfer)
# If it's your first time with Mercurial: <code>./mach mercurial-setup</code> will save you a lot of time for configuration and be ready to work with Mozilla environment.
=== Updating the UA override list ===
# <code>cd /your/path/mozilla-central</code>
# <code>hg status</code>
# <code>hg qpop -a</code>
# <code>hg pull -u</code>
# <code>cd b2g/app</code>
# Check the Remove UA override bug, you are working with to find the list of domains to remove.
# Edit the UA override <code>ua-update.json.in</code>
# Be sure that all the domains you are removing are actually closed bugs on the bug dependency list.
# Create a new patch. For example: <code>hg qnew ua-override-bug965060.patch</code>
# Add as an attachment the patch to the bug (for example Bug 965060). The patch is avalaible in <code>mozilla-central/.hg/patches/</code>.
# Ask for review of your code <code>r? lmandel</code>
# Once the patch got a <code>r+</code>, add the keyword <code>checkin-needed</code>
# Once it is in. The committer will close the bug.


==UA Override List==
==UA Override List==
Line 49: Line 84:
         "product": "Tech Evangelism",
         "product": "Tech Evangelism",
         "component": "Mobile",
         "component": "Mobile",
         "status_whiteboard": "[uaoverride]"
         "status_whiteboard": "[uaoverride]",
        "status_whiteboard_type": "allwordssubstr"
     }
     }
</bugzilla>
</bugzilla>
===Fixed===
===Fixed===
<bugzilla>
<bugzilla>
Line 58: Line 95:
         "product": "Tech Evangelism",
         "product": "Tech Evangelism",
         "component": "Mobile",
         "component": "Mobile",
         "status_whiteboard": "[uaoverride]"
         "status_whiteboard": "[uaoverride]",
        "status_whiteboard_type": "allwordssubstr"
     }
     }
</bugzilla>
</bugzilla>


==Dependencies==
==References==
==HowTo==
 
==Updating the UA override list==
Once a bug has been resolved it is necessary to update the [https://github.com/mozilla-b2g/gaia/blob/master/build/ua-override-prefs.js ua-override list] on the gaia project. It is possible to make one pull request for a few ua strings override at the same time.


For the following instructions, you are expected to have


# A [https://github.com/ github] account
[[Category:Mobile]]
# A working knowledge of git
[[Category:Web Compatibility]]
# A [https://bugzilla.mozilla.org/ Mozilla bugzilla] account
 
 
These steps are done once and for all.
 
# Go to [https://github.com/mozilla-b2g/gaia/ Gaia project] on github.
# Fork it  <br/><code>https://github.com/{your_account}/gaia/</code>
# Clone the project locally on your computer. It will be long. it's >300Mo<br/> <code>git clone https://github.com/{your_account}/gaia/<br/>cd gaia</code>
# Add the project as an upstream to help you keep in sync.<br/> <code>git remote add upstream https://github.com/mozilla-b2g/gaia.git</code>
 
Each time you have to modify the list :)
 
# Synchronize your repo with the mother repo<br/> <code>git fetch upstream</code>
# Modify the <code>gaia/blob/master/build/ua-override-prefs.js</code>
# Do a commit for the modification<br/> <code>commit -m "bug_number - bug label" ua-override-prefs.js</code>
# You can create a diff file for a patch if you want. Not mandatory.<br/> <code>git diff -U8 > ~/ua-override-prefs-YYYYMMDD.patch</code> you might want to add it to the bug you will create later on.
# Create a new bug in bugzilla with the title "Remove UA override for example.org". Replace example.org by the domain or list of domains.
# Product: Boot2Gecko, Component: Gaia, Platform: ARM, Gonk (Firefox OS)
# Add the Patch as an attachment.
# One finished, push your modification to your github repo.<br/> <code>git push</code>
# Create a pull request in your github repo for the gaia project with your modifications. Important: Pull request syntax title is precise <code>Bug bug_number - Remove UA override for [list of domains]</code> The bug_number is the one given by bugzilla you just created. It needs to start by Bug.
# Add a comment on the bugzilla with the link to the new created Pull Request.
# Ask for review in bugzilla and put lmandel for reviewer with a "?"
# When review is done, adding the checkin-needed keyword on the bugzilla
# Add a dependency on bug 890004
 
==References==

Latest revision as of 17:02, 13 August 2014

Wipe Out User Agent (UA) Overrides

User Agent (UA) overrides is to be a short lived solution until the Web content is fixed to recognize B2G as mobile or the site has been fixed to modern methods.

Goal

This goal of this project is to drive the B2G UA override list to zero.

Scope

The scope of this project is all sites listed on the UA override list. This list is also available in Bugzilla.

The sites for which UA overrides have been added have each been smoke tested to ensure that they are functional. The request of these sites is simply to recognize the B2G UA as mobile, preferably by recognizing the "Mobi" token in the UA.

Duration

A report will be done by mid-March 2014.

Communication

Communication Type Mechanism Audience
UA override list Mozilla Central source file, Bugzilla bugs All

Press & Blog Posts

Progress Reports

2013
  • reports go here

People

Project Management Lawrence Mandel
Partner Outreach Karl Dubost
Tooling Hallvord Steen

Dependencies

Updating the UA override list

Since the end of 2013, the UA override list is managed dynamically on the server side. @@Insert here the relevant bugs and documentation@@

Once a bug has been resolved it is necessary to update the ua-override list on the Mozilla Central. It is possible to make one pull request for a few ua strings override at the same time.

For the following instructions, you are expected to have

  1. A working knowledge of hg
  2. A Mozilla bugzilla account


Preparation

  1. Install Mercurial (10 minutes)
  2. Get Mozilla Source Code Using Mercurial with hg clone https://hg.mozilla.org/mozilla-central/ mozilla-central (A lot of times: 2.3 GB to transfer)
  3. If it's your first time with Mercurial: ./mach mercurial-setup will save you a lot of time for configuration and be ready to work with Mozilla environment.

Updating the UA override list

  1. cd /your/path/mozilla-central
  2. hg status
  3. hg qpop -a
  4. hg pull -u
  5. cd b2g/app
  6. Check the Remove UA override bug, you are working with to find the list of domains to remove.
  7. Edit the UA override ua-update.json.in
  8. Be sure that all the domains you are removing are actually closed bugs on the bug dependency list.
  9. Create a new patch. For example: hg qnew ua-override-bug965060.patch
  10. Add as an attachment the patch to the bug (for example Bug 965060). The patch is avalaible in mozilla-central/.hg/patches/.
  11. Ask for review of your code r? lmandel
  12. Once the patch got a r+, add the keyword checkin-needed
  13. Once it is in. The committer will close the bug.

UA Override List

Outstanding

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


Fixed

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


References