Github user rakatyal commented on a diff in the pull request: https://github.com/apache/cordova-docs/pull/463#discussion_r51642289 --- 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="d...@callback.apache.org" 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="dev@cordova.apache.org" 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, --- End diff -- *options
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org For additional commands, e-mail: dev-h...@cordova.apache.org