B2G/MarketCustomizations: Difference between revisions

From MozillaWiki
< B2G
Jump to navigation Jump to search
No edit summary
Line 13: Line 13:
'''What can be customized per-market?'''
'''What can be customized per-market?'''


* Boot/shutdown animations
* Brand
* Installed locales
** Start up & Power off animations
* Default locale
** Network name on Lock screen and in Utility Tray.
* Default keyboard layout
* Localization
** Installed locales
** Default locale
** Default keyboard layout
** (or is that set automatically by the locale choice?)
** (or is that set automatically by the locale choice?)
* Bundled 3rd party apps
* Apps
* Application grid contents and positioning of apps
** Preinstalled third party apps
* Branding names and logos
** Home grid app placement
* Licensing
** Licensing
* In-app payment provider configuration
** In-app payment provider configuration
* Settings App
* Settings
** Device Information - Model (name or #)
** Device Information - Model (name or #)
** Device Information - Legal Information link or content
** Device Information - Legal Information link or content
Line 29: Line 32:
** Help - Call support phone number
** Help - Call support phone number
** Help - User guide link
** Help - User guide link
* Browser default bookmarks
** APN
* Media preloads
** Wallpapers
** Music
** Videos
** Gallery
* Sounds
** Start up & Power off
** Ring tone
** Message tone
* Misc
** Browser default bookmarks


'''How and where do you define a customized app grid layout?'''
'''How and where do you define a customized app grid layout?'''

Revision as of 23:01, 11 December 2012

FAQ

How to store per-market customization configurations in a private repo?

  • Store each of the files changed only.
  • Currently these are in various locations in the filesystem.
  • For v2, we should consolidate to a single location, similar to the branding directories we have for Gecko.

How do you build the product with a specific market's configuration?

  • Copy your changed files into a checkout of Gaia, and build using that modified Gaia.

What can be customized per-market?

  • Brand
    • Start up & Power off animations
    • Network name on Lock screen and in Utility Tray.
  • Localization
    • Installed locales
    • Default locale
    • Default keyboard layout
    • (or is that set automatically by the locale choice?)
  • Apps
    • Preinstalled third party apps
    • Home grid app placement
    • Licensing
    • In-app payment provider configuration
  • Settings
    • Device Information - Model (name or #)
    • Device Information - Legal Information link or content
    • Help - Online support link
    • Help - Call support phone number
    • Help - User guide link
    • APN
  • Media preloads
    • Wallpapers
    • Music
    • Videos
    • Gallery
  • Sounds
    • Start up & Power off
    • Ring tone
    • Message tone
  • Misc
    • Browser default bookmarks

How and where do you define a customized app grid layout?

  • It's currently in gaia/apps/homescreen/js/init.json

Is it possible to define whether an app is removable in the homescreen configuration?

  • No. All apps that are in /system/b2g are non removable, those in /data are removable. Since all preloaded apps come from /system, we need to move them to /data if we want them to be removable.

How do you add a preloaded packaged app to the build?

  • In gaia/external-apps
  • Many 3rd party apps will not be added to the Gaia repo, so need to determine how to add them. Build step?

How do you add a preloaded hosted app to the build?

  • They are also added to gaia/external-apps. We have different meta-data for packaged and hosted apps to distinguish them.

How do you prepare a preloaded hosted app for initial offline support?

  • You need to provide all the files to cache in the directory external-apps/MY_APP/cache, and the appcache manifest.

Process Questions

  • Is it better to have specific bugs for each app on a homescreen grid, or just one bug per layout per market?
  • How to deliver/retrieve code for pre-loading? Manual delivery of assets, or suck it from a live app?