[
https://issues.apache.org/jira/browse/CB-10389?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15129129#comment-15129129
]
ASF GitHub Bot commented on CB-10389:
-------------------------------------
Github user rakatyal commented on a diff in the pull request:
https://github.com/apache/cordova-docs/pull/463#discussion_r51643217
--- Diff: www/docs/en/dev/config_ref/index.md ---
@@ -39,222 +39,357 @@ Note that before version 3.3.1-0.2.0, the file
existed at `app/www/config.xml`,
and that having it here is still supported.
When using the CLI to build a project, versions of this file are
-passively copied into various `platforms/` subdirectories, for example:
+passively copied into various `platforms/` subdirectories.
+For example:
app/platforms/ios/AppName/config.xml
app/platforms/blackberry10/www/config.xml
app/platforms/android/res/xml/config.xml
-This section details global and cross-platform configuration options.
-See the following sections for platform-specific options:
-
-- [iOS Configuration](../guide/platforms/ios/config.html)
-- [Android Configuration](../guide/platforms/android/config.html)
-- [BlackBerry 10
Configuration](../guide/platforms/blackberry10/config.html)
-
In addition to the various configuration options detailed below, you
can also configure an application's core set of images for each target
platform. See [Icons and Splash Screens](images.html) for more information.
-## Core Configuration Elements
-
-This example shows the default `config.xml` generated by the CLI's
-`create` command, described in [The Command-Line
Interface](../guide/cli/index.html):
-
- <widget id="com.example.hello" version="0.0.1">
- <name>HelloWorld</name>
- <description>
- A sample Apache Cordova application that responds to the
deviceready event.
- </description>
- <author email="[email protected]"
href="http://cordova.io">
- Apache Cordova Team
- </author>
- <content src="index.html" />
- <access origin="*" />
- </widget>
+# widget
+ Root element of the config.xml document.
+
+ Attributes(type) | Description
+ ---------------- | ------------
+ id(string) | *Required* <br/> Specifies the app's reverse-domain
identifier, and the `version` its full version number expressed in
major/minor/patch notation.
+ version(string) | *Required* <br/> Full version number expressed in
major/minor/patch notation.
+ versionCode(string) | **Platforms supported: Android** <br/>
Alternative version for Android.
+ CFBundleVersion(string) | **Platforms supported: iOS** <br/>
Alternative version for iOS.
+ packageVersion(string) | **Platforms supported: Windows** <br/>
Alternative version for Windows.
+ packageName(string) | *Default: Cordova.Example* <br/> **Platforms
supported: Windows** <br/> Package name for Windows.
+ xmlns(string) | *Required* <br/> Namespace for the config.xml document.
+ xmlns:cdv(string) | *Required* <br/> Namespace prefix.
+
+ Examples:
-The following configuration elements appear in the top-level
-`config.xml` file, and are supported across all supported Cordova
-platforms:
+ <widget id="io.cordova.hellocordova" version="0.0.1"
xmlns="http://www.w3.org/ns/widgets"
xmlns:cdv="http://cordova.apache.org/ns/1.0">
+ </widget>
-- The `<widget>` element's `id` attribute provides the app's
- reverse-domain identifier, and the `version` its full version number
- expressed in major/minor/patch notation.
+ <!-- Android -->
+ <widget versionCode="0.1.3">
+ </widget>
- The widget tag can also have attributes that specify alternative
versions,
- namely `versionCode` for Android, `CFBundleVersion` for iOS, and
- `packageVersion` for Windows. See the Additional Versioning section
below
- for details.
+ <!-- iOS -->
+ <widget CFBundleVersion="0.1.3">
+ </widget>
-- The `<name>` element specifies the app's formal name, as it appears
- on the device's home screen and within app-store interfaces.
+ <!-- Windows -->
+ <widget packageVersion="0.1.3">
+ </widget>
-- The `<description>` and `<author>` elements specify metadata and
- contact information that may appear within app-store listings.
-- The optional `<content>` element defines the app's starting
- page in the top-level web assets directory. The default value is
- `index.html`, which customarily appears in a project's top-level
- `www` directory.
+## name
+ Specifies the app's formal name, as it appears on the device's home
screen and within app-store interfaces.
-- `<access>` elements define the set of external domains the app is
- allowed to communicate with. The default value shown above allows
- it to access any server. See the Domain [Whitelist
Guide](../guide/appdev/whitelist/index.html) for details.
+ Examples:
-- The `<preference>` tag sets various options as pairs of
- `name`/`value` attributes. Each preference's `name` is
- case-insensitive. Many preferences are unique to specific
- platforms, as listed at the top of this page. The following sections
- detail preferences that apply to more than one platform.
+ <widget ...>
+ <name>HelloCordova</name>
+ </widget>
+
+## description
+ Specifies metadata that may appear within app-store listings.
-### Additional Versioning
+ Examples:
+
+ <widget ...>
+ <description>A sample Apache Cordova application</description>
+ </widget>
-Android, iOS, and Windows support a second version string (or number) in
-addition to the one visible in app stores:
+
+## author
+ Specifies contact information that may appear within app-store lisitngs.
+
+ Attributes(type) | Description
+ ----------------- | ------------
+ email(string) | *Required* <br/> Email of the author.
+ href(string) | *Required* <br/> Website of the author.
--
[versionCode](http://developer.android.com/tools/publishing/versioning.html)
- for Android
--
[CFBundleVersion](http://stackoverflow.com/questions/4933093/cfbundleversion-in-the-info-plist-upload-error)
- for iOS
--
[packageVersion](https://msdn.microsoft.com/en-us/library/windows/apps/br211441.aspx)
- for Windows
+ Examples:
-Below is an example that explicitly sets these properties:
+ <widget ...>
+ <author email="[email protected]"
href="http://cordova.io"></author>
+ </widget>
- <widget id="io.cordova.hellocordova"
- version="0.0.1"
- android-versionCode="7"
- ios-CFBundleVersion="3.3.3"
- windows-packageVersion="1.0.1.2">
+
+## content
+ Optional.
+ Defines the app's starting page in the top-level web assets directory.
The default value is index.html, which customarily
+ appears in a project's top-level www directory.
+
+ Attributes(type) | Description
+ ----------------- | ------------
+ src(string) | *Required* <br/> Defines the app's starting page in the
top-level web assets directory. The default value is index.html, which
customarily
+ appears in a project's top-level www directory.
+
+ Examples:
+
+ <widget ...>
+ <content src="startPage.html"></content>
+ </widget>
-If alternative version is not specified, the following
-defaults will be used:
+
+## access
+ Defines the set of external domains the app is allowed to communicate
with. The default value shown above allows it to access any server.
+ See the Domain [Whitelist Guide](../guide/appdev/whitelist/index.html)
for details.
- // assuming version = MAJOR.MINOR.PATCH-whatever
- versionCode = PATCH + MINOR * 100 + MAJOR * 10000
- CFBundleVersion = "MAJOR.MINOR.PATCH"
- packageVersion = "MAJOR.MINOR.PATCH.0"
+ Attributes(type) | Description
+ ----------------- | ------------
+ origin(string) | *Required* <br/> Defines the set of external domains
the app is allowed to communicate with.
+ The default value shown above allows it to access any server.
+ See the Domain [Whitelist Guide](../guide/appdev/whitelist/index.html)
for details.
-## Global Preferences
+ Examples:
-The following global preferences apply to all platforms:
+ <widget ...>
+ <access origin="*"></content>
+ </widget>
+
+ <widget ...>
+ <access origin="http://google.com"></content>
+ </widget>
+
+
+## allow-navigation
+ Controls which URLs the WebView itself can be navigated to. Applies to
top-level navigations only.
+
+ Attributes(type) | Description
+ ----------------- | ------------
+ href(string) | *Required* <br/> Defines the set of external domains the
WebView is allowed to navigate to.
+ See the cordova-plugin-whitelist
[cordova-plugin-whitelist](https://github.com/apache/cordova-plugin-whitelist#navigation-whitelist)
for details.
+
+ Examples:
+
+ <!-- Allow links to example.com -->
+ <allow-navigation href="http://example.com/*" />
+
+ <!-- Wildcards are allowed for the protocol, as a prefix to the host,
or as a suffix to the path -->
+ <allow-navigation href="*://*.example.com/*" />
+
+## allow-intent
+ Controls which URLs the app is allowed to ask the system to open. By
default, no external URLs are allowed.
+
+ Attributes(type) | Description
+ ----------------- | ------------
+ href(string) | *Required* <br/> Defines which URLs the app is allowed
to ask the system to open.
+ See the cordova-plugin-whitelist
[cordova-plugin-whitelist](https://github.com/apache/cordova-plugin-whitelist#intent-whitelist)
for details.
+
+ Examples:
+
+ <allow-intent href="http://*/*" />
+ <allow-intent href="https://*/*" />
+ <allow-intent href="tel:*" />
+ <allow-intent href="sms:*" />
+
+## engine
+ Specifies what platform to restore during a prepare. For more details,
see the Platforms & Plugins Version Management.
+
+ Attributes(type) | Description
+ ----------------- | ------------
+ name(string) | *Required* <br/> Name of the platform to be restored
+ spec(string) | *Required* <br/> Version of the platform to be restored
+
+ Examples:
+
+ <engine name="android" spec="^4.0.0" />
+
+## preference
+ Sets various optinos as pairs of name/value attributes. Each
preference's name is case-insensitive. Many preferences are unique to specific
platforms,
+ and will be indicated as such.
+
+ Attributes(type) | Description
+ ----------------- | ------------
+ AllowInlineMediaPlayback(boolean) | *Default: false* <br/> **Platforms
supported: iOS** <br/> Set to true to allow HTML5 media playback to appear
inline within the screen layout, using browser-supplied controls rather than
native controls. For this to work, add the webkit-playsinline attribute to any
```<video>``` elements.
+ AndroidLaunchMode(string) | *Default: singleTop* <br/> Allowed values:
standard, singleTop, singleTask, singleInstance <br/> **Platforms supported:
Android** <br/> Sets the Activity android:launchMode attribute. This changes
what happens when the app is launched from app icon or intent and is already
running.
+ AppendUserAgent(string) | **Platforms supported: Android** <br/> If
set, the value will append to the end of old UserAgent of webview. When using
with OverrideUserAgent, this value will be ignored.
+ AppendUserAgent(string) | **Platforms supported: iOS** <br/> If set,
the value will append to the end of old UserAgent of webview. When using with
OverrideUserAgent, this value will be ignored.
+ BackgroundColor(string) | **Platforms supported: Android, BlackBerry**
<br/> Supports a four-byte hex value, with the first byte representing the
alpha channel, and standard RGB values for the following three bytes.
+ BackupWebStorage(string) | *Default: cloud* <br/> Allowed values: none,
local, cloud. <br/> **Platforms supported: iOS** <br/> Set to cloud to allow
web storage data to backup via iCloud. Set to local to allow only local backups
via iTunes sync. Set to none prevent web storage backups.
+ ChildBrowser(string) | *Default: enable* <br/> **Platforms supported:
BlackBerry** <br/> Disables child browser windows. By default, apps launch a
secondary browser window to display resources accessed via window.open() or by
specifying a _blank anchor target. Specify disable to override this default
behavior.
+ CordovaWebViewEngine(string) | *Default: CDVUIWebViewEngine* <br/>
**Platforms supported: iOS** <br/> This sets the WebView engine plugin to be
used to render the host app. The plugin must conform to the
CDVWebViewEngineProtocol protocol. The 'value' here should match the 'feature'
name of the WebView engine plugin that is installed. This preference usually
would be set by the WebView engine plugin that is installed, automatically.
+ DefaultVolumeStream(string) | *Default: default* <br/> **Platforms
supported: Android**<br/> Added in cordova-android 3.7.0, This preference sets
which volume the hardware volume buttons link to. By default this is "call" for
phones and "media" for tablets. Set this to "media" to have your app's volume
buttons always change the media volume. Note that when using Cordova's media
plugin, the volume buttons will dynamically change to controlling the media
volume when any Media objects are active.
+ DisallowOverscroll(boolean) | *Default: false* <br/> **Platforms
supported: iOS, Android** <br/> Set to **true** if you don't want the interface
to display any feedback when users scroll past the beginning or end of content.
On iOS, overscroll gestures cause content to bounce back to its original
position. on Android, they produce a more subtle glowing effect along the top
or bottom edge of the content. <br/>
+ EnableViewportScale(boolean) | *Default: false* <br/> **Platforms
supported: iOS** <br/> Set to true to allow a viewport meta tag to either
disable or restrict the range of user scaling, which is enabled by default.
Place a viewport such as the following in the HTML to disable scaling and fit
content flexibly within the rendering WebView: <br/> ```<meta name='viewport'
content='width=device-width, initial-scale=1, user-scalable=no' />```
+ ErrorUrl(URL) | *Default: null* <br/> **Platforms supported: Android**
<br/> If set, will display the referenced page upon an error in the application
instead of a dialog with the title "Application Error".
+ ErrorUrl(string) | **Platforms supported: iOS** <br/> If set, will
display the referenced local page upon an error in the application.
+ FullScreen(boolean) | *Default: false* <br/> Allows you to hide the
status bar at the top of the screen.
+ GapBetweenPages(float) | *Default: 0* <br/> **Platforms supported:
iOS** <br/> The size of the gap, in points, between pages.
+ HideKeyboardFormAccessoryBar(boolean) | *Default: false* <br/>
**Platforms supported: BlackBerry** <br/> set to true to hide the additional
toolbar that appears above the keyboard, helping users navigate from one form
input to another.
+ InAppBrowserStorageEnabled (boolean) | *Default: true* <br/>
**Platforms supported: Android** <br/> Controls whether pages opened within an
InAppBrowser can access the same localStorage and WebSQL storage as pages
opened with the default browser.
+ KeepRunning(boolean) | *Default: true* <br/> **Platforms supported:
Android** <br/> Determines whether the application stays running in the
background even after a [pause](../../../cordova/events/events.pause.html)
event fires. Setting this to false does not kill the app after a
[pause](../../../cordova/events/events.pause.html) event, but simply halts
execution of code within the cordova webview while the app is in the background.
+ KeyboardDisplayRequiresUserAction(boolean) | *Default: true* <br/>
**Platforms supported: iOS** <br/> Set to false to allow the keyboard to appear
when calling focus() on form inputs.
+ LoadUrlTimeoutValue(number in milliseconds) | *Default: 20000, 20
seconds* <br/> **Platforms supported: Android** <br/> hen loading a page, the
amount of time to wait before throwing a timeout error.
--- End diff --
*When
> Scrub & Update config.xml
> -------------------------
>
> Key: CB-10389
> URL: https://issues.apache.org/jira/browse/CB-10389
> Project: Apache Cordova
> Issue Type: Improvement
> Reporter: Omar Mefire
> Assignee: Omar Mefire
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]