You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by mw...@apache.org on 2013/07/18 23:05:33 UTC

[1/5] docs commit: [CB-3827] move former 'Project Settings' to new top-level config_ref tree

Updated Branches:
  refs/heads/3.0.x c3b417915 -> 15f11a8e1


[CB-3827] move former 'Project Settings' to new top-level config_ref tree


Project: http://git-wip-us.apache.org/repos/asf/cordova-docs/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-docs/commit/8ea2caa4
Tree: http://git-wip-us.apache.org/repos/asf/cordova-docs/tree/8ea2caa4
Diff: http://git-wip-us.apache.org/repos/asf/cordova-docs/diff/8ea2caa4

Branch: refs/heads/3.0.x
Commit: 8ea2caa499f2abbf0b5ed16865e9deeff21632b8
Parents: c094f96
Author: Mike Sierra <le...@gmail.com>
Authored: Thu Jul 18 16:30:46 2013 -0400
Committer: Michael Brooks <mi...@michaelbrooks.ca>
Committed: Thu Jul 18 14:05:24 2013 -0700

----------------------------------------------------------------------
 docs/en/edge/config_ref/index.md             | 78 +++++++++++++++++++++++
 docs/en/edge/guide/project-settings/index.md | 78 -----------------------
 2 files changed, 78 insertions(+), 78 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/8ea2caa4/docs/en/edge/config_ref/index.md
----------------------------------------------------------------------
diff --git a/docs/en/edge/config_ref/index.md b/docs/en/edge/config_ref/index.md
new file mode 100644
index 0000000..51af63d
--- /dev/null
+++ b/docs/en/edge/config_ref/index.md
@@ -0,0 +1,78 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# Configuration Reference
+
+You can set various application configuration parameters using a platform-agnostic configuration file, `config.xml`.
+This file is based on the W3C [Packaged Web Apps (Widgets)](http://www.w3.org/TR/widgets/) specification.
+
+The location of the `config.xml` file is different depending on the platform. The contents, in general, are not.
+
+## Platform-Specific Properties
+
+As with any abstraction layer, Apache Cordova cannot be a perfect silver bullet. As such, some native and platform-specific
+properties, characteristics and behaviours are encapsulated as much as possible as `<preference>` elements inside the
+`config.xml` file. The following sub-sections linked to are guides which go into more details about these preferences.
+
+- iOS Configuration
+- Android Configuration
+- BlackBerry Configuration
+- Windows Phone 7 Configuration
+- Windows Phone 8 Configuration
+- Windows 8 Configuration
+- FirefoxOS Configuration
+
+## config.xml Elements
+
+The [Apache Cordova](http://cordova.io) project strives abstract away native platform specifics via web-inspired and web-based
+abstractions that are heavily standards driven and adopted by the web community. Please take a few minutes to familiarize
+yourself with the [config.xml specification](http://www.w3.org/TR/widgets/), to understand the type of application metadata the
+Apache Cordova project aims to abstract and provide simple entry points for.
+
+An example:
+
+        <widget>
+            <preference name="MySetting" value="true" />
+            <plugins>
+                <plugin name="MyPlugin" value="MyPluginClass" />
+            </plugins>
+            <access origin="*" />
+            <content src="index.html" />
+        </widget>
+
+A list of supported elements across major platforms which are supported in Apache Cordova follow.
+
+### `<plugin>`
+
+These elements map to native APIs that the application accesses. At
+runtime, the Apache Cordova framework checks the `<plugin>` elements
+and maps them to native code to enable your Cordova application to
+access device APIs otherwise unavailable to typical web-based
+applications.
+
+### `<access>`
+
+These elements define how your whitelist works. Please see the
+Domain Whitelist Guide for more information.
+
+### `<content>`
+
+This element defines your application's start page relative to the
+project's standard web assets root folder. This element is optional,
+the default is `index.html`.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/8ea2caa4/docs/en/edge/guide/project-settings/index.md
----------------------------------------------------------------------
diff --git a/docs/en/edge/guide/project-settings/index.md b/docs/en/edge/guide/project-settings/index.md
deleted file mode 100644
index 51af63d..0000000
--- a/docs/en/edge/guide/project-settings/index.md
+++ /dev/null
@@ -1,78 +0,0 @@
----
-license: Licensed to the Apache Software Foundation (ASF) under one
-         or more contributor license agreements.  See the NOTICE file
-         distributed with this work for additional information
-         regarding copyright ownership.  The ASF licenses this file
-         to you under the Apache License, Version 2.0 (the
-         "License"); you may not use this file except in compliance
-         with the License.  You may obtain a copy of the License at
-
-           http://www.apache.org/licenses/LICENSE-2.0
-
-         Unless required by applicable law or agreed to in writing,
-         software distributed under the License is distributed on an
-         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-         KIND, either express or implied.  See the License for the
-         specific language governing permissions and limitations
-         under the License.
----
-
-# Configuration Reference
-
-You can set various application configuration parameters using a platform-agnostic configuration file, `config.xml`.
-This file is based on the W3C [Packaged Web Apps (Widgets)](http://www.w3.org/TR/widgets/) specification.
-
-The location of the `config.xml` file is different depending on the platform. The contents, in general, are not.
-
-## Platform-Specific Properties
-
-As with any abstraction layer, Apache Cordova cannot be a perfect silver bullet. As such, some native and platform-specific
-properties, characteristics and behaviours are encapsulated as much as possible as `<preference>` elements inside the
-`config.xml` file. The following sub-sections linked to are guides which go into more details about these preferences.
-
-- iOS Configuration
-- Android Configuration
-- BlackBerry Configuration
-- Windows Phone 7 Configuration
-- Windows Phone 8 Configuration
-- Windows 8 Configuration
-- FirefoxOS Configuration
-
-## config.xml Elements
-
-The [Apache Cordova](http://cordova.io) project strives abstract away native platform specifics via web-inspired and web-based
-abstractions that are heavily standards driven and adopted by the web community. Please take a few minutes to familiarize
-yourself with the [config.xml specification](http://www.w3.org/TR/widgets/), to understand the type of application metadata the
-Apache Cordova project aims to abstract and provide simple entry points for.
-
-An example:
-
-        <widget>
-            <preference name="MySetting" value="true" />
-            <plugins>
-                <plugin name="MyPlugin" value="MyPluginClass" />
-            </plugins>
-            <access origin="*" />
-            <content src="index.html" />
-        </widget>
-
-A list of supported elements across major platforms which are supported in Apache Cordova follow.
-
-### `<plugin>`
-
-These elements map to native APIs that the application accesses. At
-runtime, the Apache Cordova framework checks the `<plugin>` elements
-and maps them to native code to enable your Cordova application to
-access device APIs otherwise unavailable to typical web-based
-applications.
-
-### `<access>`
-
-These elements define how your whitelist works. Please see the
-Domain Whitelist Guide for more information.
-
-### `<content>`
-
-This element defines your application's start page relative to the
-project's standard web assets root folder. This element is optional,
-the default is `index.html`.


[3/5] docs commit: [CB-3827] move plugin spec & plugman doc to new top-level plugin_ref dir

Posted by mw...@apache.org.
[CB-3827] move plugin spec & plugman doc to new top-level plugin_ref dir


Project: http://git-wip-us.apache.org/repos/asf/cordova-docs/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-docs/commit/f0ec0038
Tree: http://git-wip-us.apache.org/repos/asf/cordova-docs/tree/f0ec0038
Diff: http://git-wip-us.apache.org/repos/asf/cordova-docs/diff/f0ec0038

Branch: refs/heads/3.0.x
Commit: f0ec003870145c4f939882e303a552acbd4f0d53
Parents: c3b4179
Author: Mike Sierra <le...@gmail.com>
Authored: Thu Jul 18 16:22:37 2013 -0400
Committer: Michael Brooks <mi...@michaelbrooks.ca>
Committed: Thu Jul 18 14:05:24 2013 -0700

----------------------------------------------------------------------
 docs/en/edge/guide/plugins/corePluginInstall.md | 110 ----
 docs/en/edge/guide/plugins/plugin_spec.md       | 502 -------------------
 docs/en/edge/plugin_ref/plugman.md              | 110 ++++
 docs/en/edge/plugin_ref/spec.md                 | 502 +++++++++++++++++++
 4 files changed, 612 insertions(+), 612 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f0ec0038/docs/en/edge/guide/plugins/corePluginInstall.md
----------------------------------------------------------------------
diff --git a/docs/en/edge/guide/plugins/corePluginInstall.md b/docs/en/edge/guide/plugins/corePluginInstall.md
deleted file mode 100644
index 7b8f01e..0000000
--- a/docs/en/edge/guide/plugins/corePluginInstall.md
+++ /dev/null
@@ -1,110 +0,0 @@
----
-license: Licensed to the Apache Software Foundation (ASF) under one
-         or more contributor license agreements.  See the NOTICE file
-         distributed with this work for additional information
-         regarding copyright ownership.  The ASF licenses this file
-         to you under the Apache License, Version 2.0 (the
-         "License"); you may not use this file except in compliance
-         with the License.  You may obtain a copy of the License at
-
-           http://www.apache.org/licenses/LICENSE-2.0
-
-         Unless required by applicable law or agreed to in writing,
-         software distributed under the License is distributed on an
-         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-         KIND, either express or implied.  See the License for the
-         specific language governing permissions and limitations
-         under the License.
----
-
-# Using Plugman to Manage Plugins
-
-From version 3.0 onward, Cordova implements all device APIs as
-plugins, and leaves them disabled by default.  It also supports two
-different ways to add and remove plugins. The first is by using the
-`cordova` CLI described in The Command-line Interface. The second is
-by using a lower-level
-[plugman](https://github.com/apache/cordova-plugman/)
-command-line interface. This guide concentrates on the second
-approach, which may be useful for developers who want to upgrade their
-version of Cordova, but who haven't yet adopted the Cordova CLI in
-their workflow.
-
-For more information on plugman, see
-[the README file in its repository](https://github.com/apache/cordova-plugman/blob/master/README.md).
-
-## Basic Commands
-
-To install plugman, you must have [node](http://nodejs.org/) installed
-on your machine:
-
-    npm install -g plugman
-    
-Here is the syntax to add a plugin for each platform:
-
-    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin <name|url|path> [--plugins_dir <directory>] [--www <directory>] [--variable <name>=<value> [--variable <name>=<value> ...]]
-        
-To uninstall a plugin:
-
-    plugman --uninstall --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin <id> [--www <directory>] [--plugins_dir <directory>]
-        
-## Installing Core Plugins
-
-The examples below show how to add plugins as needed so that any
-Cordova APIs you use in your project still work after you upgrade to
-version 3.0.  For each command, you need to select the target
-platform, and reference the platform's project directory.
-
-* cordova-plugin-battery-status
-    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status.git
-
-* cordova-plugin-camera
-    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-camera.git
-    
-* cordova-plugin-console
-    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-console.git
-
-* cordova-plugin-contacts
-    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts.git
-    
-* cordova-plugin-device
-    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git
-
-* cordova-plugin-device-motion (accelerometer)
-    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-device-motion.git
-
-* cordova-plugin-device-orientation (compass)
-    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-device-orientation.git
-
-* cordova-plugin-dialogs
-    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-dialogs.git
-
-* cordova-plugin-file
-    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-file.git
-
-* cordova-plugin-file-transfer
-    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-file-transfer.git
-
-* cordova-plugin-geolocation
-    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-geolocation.git
-
-* cordova-plugin-globalization
-    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-globalization.git
-
-* cordova-plugin-inappbrowser
-    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-inappbrowser.git
-
-* cordova-plugin-media
-    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-media.git
-
-* cordova-plugin-media-capture
-    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-media-capture.git
-
-* cordova-plugin-network-information
-    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information.git
-
-* cordova-plugin-splashscreen
-    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-splashscreen.git
-
-* cordova-plugin-vibration
-    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-vibration.git

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f0ec0038/docs/en/edge/guide/plugins/plugin_spec.md
----------------------------------------------------------------------
diff --git a/docs/en/edge/guide/plugins/plugin_spec.md b/docs/en/edge/guide/plugins/plugin_spec.md
deleted file mode 100644
index 63b9b0c..0000000
--- a/docs/en/edge/guide/plugins/plugin_spec.md
+++ /dev/null
@@ -1,502 +0,0 @@
----
-license: Licensed to the Apache Software Foundation (ASF) under one
-         or more contributor license agreements.  See the NOTICE file
-         distributed with this work for additional information
-         regarding copyright ownership.  The ASF licenses this file
-         to you under the Apache License, Version 2.0 (the
-         "License"); you may not use this file except in compliance
-         with the License.  You may obtain a copy of the License at
-
-           http://www.apache.org/licenses/LICENSE-2.0
-
-         Unless required by applicable law or agreed to in writing,
-         software distributed under the License is distributed on an
-         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-         KIND, either express or implied.  See the License for the
-         specific language governing permissions and limitations
-         under the License.
----
-
-# Plugin Specification
-
-The `plugin.xml` file is an XML document in the `plugins` namespace:
-`http://apache.org/cordova/ns/plugins/1.0`. It contains a top-level
-`plugin` element that defines the plugin, and children that define the
-structure of the plugin.
-
-A sample plugin element:
-
-    <?xml version="1.0" encoding="UTF-8"?>
-    <plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        id="com.alunny.foo"
-        version="1.0.2">
-
-## &lt;plugin&gt; element
-
-The `plugin` element is the plugin manifest's top-level element. It
-features the following attributes:
-
-* `xmlns` (required):
-  The plugin namespace, `http://apache.org/cordova/ns/plugins/1.0`. If
-  the document contains XML from other namespaces, such as tags to be
-  added to the `AndroidManifest.xml` file, those namespaces should
-  also be included in the top-level element.
-
-* `id` (required):
-  A reverse-domain style identifier for the plugin, such as
-  `com.alunny.foo`
-
-* `version` (required):
-  A version number for the plugin, that matches the following
-  major-minor-patch style regular expression:
-
-    ^\d+[.]\d+[.]\d+$
-
-## &lt;engines&gt; and &lt;engine&gt; elements
-
-The child elements of the `<engines>` element specify versions of
-Apache Cordova-based frameworks that this plugin supports. An example:
-
-    <engines>
-        <engine name="cordova" version="1.7.0" />
-        <engine name="cordova" version="1.8.1" />
-        <engine name="worklight" version="1.0.0" />
-    </engines>
-
-Similar to the `<plugin>` element's `version` attribute, the specified
-version string should match a major-minor-patch string conforming to
-the regular expression:
-
-    ^\d+[.]\d+[.]\d+$
-
-Engine elements may also specify fuzzy matches to avoid repetition,
-and to reduce maintenance when the underlying platform is updated.
-Tools should support a minimum of `>`, `>=`, `<` and `<=`, for
-example:
-
-    <engines>
-        <engine name="cordova" version=">=1.7.0" />
-        <engine name="cordova" version="<1.8.1" />
-    </engines>
-
-plugman aborts with a non-zero code for any plugin whose target
-project does not meet the engine's constraints.
-
-If no `<engine>` tags are specified, plugman attempts to install into
-the specified cordova project directory blindly.
-
-## &lt;name&gt; element
-
-A human-readable name for the plugin, whose text content contains the
-name of the plugin. For example:
-
-    <name>Foo</name>
-
-This element does not (yet) handle localization.
-
-## &lt;asset&gt; element
-
-One or more elements listing the files or directories to be copied
-into a Cordova app's `www` directory. Examples:
-
-    <!-- a single file, to be copied in the root directory -->
-    <asset src="www/foo.js" target="foo.js" />
-    <!-- a directory, also to be copied in the root directory -->
-    <asset src="www/foo" target="foo" />
-
-All `<asset>` tags require both `src` and `target` attributes.
-Web-only plugins contains mostly `<asset>` elements. Any `<asset>`
-elements that are nested within `<platform>` elements specify
-platform-specific web assets, as described below. Attributes include:
-
-* `src` (required): 
-  Where the file or directory is located in the plugin package,
-  relative to the `plugin.xml` document.  If a file does not exist at
-  the specified `src` location, plugman stops and reverses the
-  installation process, issues a notification about the conflict, and
-  exits with a non-zero code.
-
-* `target` (required):
-
-  Where the file or directory should be located in the Cordova app,
-  relative to the `www` directory.
-  Assets can be targeted to subdirectories, for example:
-
-    <asset src="www/new-foo.js" target="js/experimental/foo.js" />
-
-  creates the `js/experimental` directory within the `www` directory,
-  unless already present, then copies the `new-foo.js` file and
-  renames it `foo.js`.  If a file already exists at the target
-  location, plugman stops and reverses the installation process,
-  issues a notification about the conflict, and exits with a non-zero
-  code.
-
-## &lt;js-module&gt; element
-
-Most plugins include one or more JavaScript files.  Each `<js-module>`
-tag corresponds to a JavaScript file, and prevents the plugin's users
-from having to add a `<script>` tag for each file.  While `<asset>`
-tags simply copy a file from the plugin subdirectory into `www`,
-`<js-module>` tags are much more sophisticated. They look like this:
-
-    <js-module src="socket.js" name="Socket">
-        <clobbers target="chrome.socket" />
-    </js-module>
-
-When installing a plugin with the example above, `socket.js` is copied
-to `www/plugins/my.plugin.id/socket.js`, and added as an entry to
-`www/cordova_plugins.js`. At load time, code in `cordova.js` uses XHR
-to read each file and inject a `<script>` tag into HTML. It adds a
-mapping to clobber or merge as appropriate, as described below.
-
-_Do not_ wrap the file with `cordova.define`, as it is added
-automatically. The module is wrapped in a closure, with `module`,
-`exports`, and `require` in scope, as is normal for AMD modules.
-
-Details for the `<js-module>` tag:
-
-* The `src` references a file in the plugin directory relative to the
-  `plugin.xml` file.
-
-* The `name` provides the last part of the module name. It can
-  generally be whatever you like, and it only matters if you want to
-  use `cordova.require` to import other parts of your plugins in your
-  JavaScript code. The module name for a `<js-module>` is your
-  plugin's `id` followed by the value of `name`. For the example
-  above, with an `id` of `chrome.socket`, the module name is
-  `chrome.socket.Socket`.
-
-* Three tags are allowed within `<js-module>`:
-
-    * `<clobbers target="some.value" />` indicates that the
-      `module.exports` is inserted into the `window` object as
-      `window.some.value`. You can have as many `<clobbers>` as you
-      like. Any object not available on `window` is created.
-
-    * `<merges target="some.value" />` indicates that the module
-      should be merged with any existing value at `window.some.value`.
-      If any key already exists, the module's version overrides the
-      original. You can have as many `<merges>` as you like. Any
-      object not available on `window` is created.
-
-    * `<runs />` means that your code should be specified with
-      `cordova.require`, but not installed on the `window`
-      object. This is useful when initializing the module, attaching
-      event handlers or otherwise. You can only have up to one
-      `<runs/>` tag. Note that including a `<runs/>` with
-      `<clobbers/>` or `<merges/>` is redundant, since they also
-      `cordova.require` your module.
-
-    * An empty `<js-module>` still loads and can be acccessed in other
-      modules via `cordova.require`.
-
-If `src` does not resolve to an existing file, plugman stops and
-reverses the installation, issues a notification of the problem, and
-exits with a non-zero code.
-
-Nesting `<js-module>` elements within `<platform>` declares
-platform-specific JavaScript module bindings.
-
-## &lt;dependency&gt;
-
-The `<dependency>` tag allows you specify other plugins on which the
-current plugin depends. While future versions will access them from
-plugin repositories, in the short term plugins are directly referenced
-as URLs by `<dependency>` tags. They are formatted as follows:
-
-    <dependency id="com.plugin.id" url="https://github.com/myuser/someplugin" commit="428931ada3891801" subdir="some/path/here" />
-
-* `id`: provides the ID of the plugin. It should be globally unique,
-  and expressed in reverse-domain style. While neither of these
-  restrictions is currently enforced, they may be in the future.
-
-* `url`: A URL for the plugin. This should reference a git repository,
-  which plugman attempts to clone.
-
-* `commit`: This is any git reference understood by `git checkout`: a
-  branch or tag name (e.g., `master`, `0.3.1`), or a commit hash (e.g.,
-  `975ddb228af811dd8bb37ed1dfd092a3d05295f9`).
-
-* `subdir`: Specifies that the targeted plugin dependency exists as a
-  subdirectory of the git repository. This is helpful because it
-  allows the repository to contain several related plugins, each
-  specified individually.
-
-In the future, version constraints will be introduced, and a plugin
-repository will exist to support fetching by name instead of explicit
-URLs.
-
-### Relative Dependency Paths
-
-If you set the `url` of a `<dependency>` tag to `"."` and provide a
-`subdir`, the dependent plugin is installed from the same local or
-remote git repository as the parent plugin that specifies the
-`<dependency>` tag.
-
-Note that the `subdir` always specifies a path relative to the _root_
-of the git repository, not the parent plugin. This is true even if you
-installed the plugin with a local path directly to it. Plugman finds
-the root of the git repository and then finds the other plugin from
-there.
-
-## &lt;platform&gt;
-
-The `<platform>` tag identifies platforms that have associated native
-code or require modifications to their configuration files. Tools
-using this specification can identify supported platforms and install
-the code into Cordova projects.
-
-Plugins without `<platform>` tags are assumed to be JavaScript-only,
-and therefore installable on any and all platforms.
-
-A sample platform tag:
-
-    <platform name="android">
-        <!-- android-specific elements -->
-    </platform>
-    <platform name="ios">
-        <!-- ios-specific elements -->
-    </platform>
-
-The required `name` attribute identifies a platform as supported,
-associating the element's children with that platform.
-
-Platform names should be lowercase. Platform names, as arbitrarily
-chosen, are listed:
-
-* android
-* bb10
-* ios
-* wp7
-* wp8
-
-## &lt;source-file&gt;
-
-The `<source-file>` element identifies executable source code that
-should be installed into a project. Examples:
-
-    <!-- android -->
-    <source-file src="src/android/Foo.java"
-                    target-dir="src/com/alunny/foo" />
-    <!-- ios -->
-    <source-file src="src/ios/CDVFoo.m" />
-    <source-file src="src/ios/someLib.a" framework="true" />
-    <source-file src="src/ios/someLib.a" compiler-flags="-fno-objc-arc" />
-
-It supports the following attributes:
-
-* `src` (required):
-  Location of the file relative to `plugin.xml`.  If the `src` file
-  cannot be found, plugman stops and reverses the installation, issues
-  a notification about the problem, and exits with a non-zero code.
-
-* `target-dir`:
-  A directory into which the files should be copied, relative to the
-  root of the Cordova project.  In practice, this is most important
-  for Java-based platforms, where a file in the `com.alunny.foo`
-  package must be located within the `com/alunny/foo` directory. For
-  platforms where the source directory is not important, this
-  attribute should be omitted.
-
-  As with assets, if the `target` of a `source-file` would overwrite
-  an existing file, plugman stops and reverses the installation,
-  issues a notification about the problem, and exits with a non-zero
-  code.
-
-* `framework` (iOS only):
-  If set to `true`, also adds the specified file as a framework to the
-  project.
-
-* `compiler-flags` (iOS only):
-  If set, assigns the specified compiler flags for the particular
-  source file.
-
-## &lt;config-file&gt;
-
-Identifies an XML-based configuration file to be modified, where in
-that document the modification should take place, and what should be
-modified.
-
-Two file types that have been tested for modification with this
-element are `xml` and `plist` files.
-
-The `config-file` element only allows you to append new children to an
-XML document tree. The children are XML literals to be inserted in the
-target document.
-
-Example for XML:
-
-    <config-file target="AndroidManifest.xml" parent="/manifest/application">
-        <activity android:name="com.foo.Foo" android:label="@string/app_name">
-            <intent-filter>
-            </intent-filter>
-        </activity>
-    </config-file>
-
-Example for `plist`:
-
-    <config-file target="*-Info.plist" parent="CFBundleURLTypes">
-        <array>
-            <dict>
-                <key>PackageName</key>
-                <string>$PACKAGE_NAME</string>
-            </dict>
-        </array>
-    </config-file>
-
-It supports the following attributes:
-
-* `target`:
-
-  The file to be modified, and the path relative to the root of the
-  Cordova project.
-
-  The target can include wildcard (`*`) elements. In this case,
-  plugman recursively searches through the project directory structure
-  and uses the first match.
-
-  On iOS, the location of configuration files relative to the project
-  directory root is not known, so specifying a target of `config.xml`
-  resolves to `cordova-ios-project/MyAppName/config.xml`.
-
-  If the specified file does not exist, the tool ignores the
-  configuration change and continues installation.
-
-* `parent`: An XPath selector referencing the parent of the elements
-  to be added to the config file. If you use absolute selectors, you
-  can use a wildcard (`*`) to specify the root element,
-  e.g., `/*/plugins`.
-
-  For `plist` files, the `parent` determines under what parent key the
-  specified XML should be inserted.
-
-  If the selector does not resolve to a child of the specified
-  document, the tool stops and reverses the installation process,
-  issues a warning, and exits with a non-zero code.
-
-## &lt;plugins-plist&gt;
-
-This is _outdated_ as it only applies to cordova-ios 2.2.0 and
-below. Use the `<config-file>` tag for newer versions of Cordova.
-
-Example:
-
-    <config-file target="config.xml" parent="/widget/plugins">
-         <plugin name="ChildBrowser" value="ChildBrowserCommand"/>
-    </config-file>
-
-Specifies a key and value to append to the correct `AppInfo.plist`
-file in an iOS Cordova project. For example:
-
-    <plugins-plist key="Foo" string="CDVFoo" />
-
-## &lt;resource-file&gt; and &lt;header-file&gt;
-
-Like source files, but specifically for platforms such as iOS that
-distinguish between source files, headers, and resources.  Examples:
-
-    <resource-file src="CDVFoo.bundle" />
-    <resource-file src="CDVFooViewController.xib" />
-    <header-file src="CDVFoo.h" />
-
-## &lt;lib-file&gt;
-
-Like source, resource, and header files, but specifically for
-platforms such as BlackBerry 10 that use user-generated libraries.
-Examples:
-
-    <lib-file src="src/BlackBerry10/native/device/libfoo.so" arch="device" />
-    <lib-file src="src/BlackBerry10/native/simulator/libfoo.so" arch="simulator" />
-
-Supported attributes:
-
-* `src` (required):
-  The location of the file relative to `plugin.xml`.
-  If `src` cannot be found, plugman stops and reverses the
-  installation, issues a warning about the problem, and exits with a
-  non-zero code.
-
-* `arch`: The architecture for which the `.so` file has been built,
-  either `device` or `simulator`.
-
-## &lt;framework&gt;
-
-Identifies a framework (usually part of the OS/platform) on which the plugin depends.
-
-Examples:
-
-    <framework src="libsqlite3.dylib" />
-    <framework src="social.framework" weak="true" />
-
-
-
-
-The `src` attribute identifies the framework, which plugman attempts
-to add to the Cordova project, in the correct fashion for a given
-platform.
-
-The optional `weak` attribute is a boolean indicating whether the
-framework should be weakly linked. The default is `false`.
-
-## &lt;info&gt;
-
-Additional information provided to users. This is useful when you
-require extra steps that can't be easily automated or are beyond
-plugman's scope.  Examples:
-
-    <info>
-    You need to install **Google Play Services** from the `Android Extras` section using the Android SDK manager (run `android`).
-
-    You need to add the following line to your `local.properties`
-        
-    android.library.reference.1=PATH_TO_ANDROID_SDK/sdk/extras/google/google_play_services/libproject/google-play-services_lib
-    </info>
-
-# Variables
-
-In certain cases, a plugin may need to make configuration changes
-dependent on the target application. For example, to register for C2DM
-on Android, an app whose package id is `com.alunny.message` would
-require a permission such as:
-
-    <uses-permission
-    android:name="com.alunny.message.permission.C2D_MESSAGE"/>
-
-In such cases where the content inserted from the `plugin.xml` file is
-not known ahead of time, variables can be indicated by a dollar-sign
-followed by a series of capital letters, digits, or underscores. For
-the above example, the `plugin.xml` file would include this tag:
-
-    <uses-permission
-    android:name="$PACKAGE_NAME.permission.C2D_MESSAGE"/>
-
-plugman replaces variable references with the specified value, or the
-empty string if not found. The value of the variable reference may be
-detected (in this case, from the `AndroidManifest.xml` file) or
-specified by the user of the tool; the exact process is dependent on
-the particular tool.
-
-plugman can request users to specify a plugin's required
-variables. For example, API keys for C2M and Google Maps can be
-specified as a command-line argument:
-
-    plugman --platform android --project /path/to/project --plugin name|git-url|path --variable API_KEY=!@CFATGWE%^WGSFDGSDFW$%^#$%YTHGsdfhsfhyer56734
-
-To make the variable mandatory, the `<platform>` tag needs to contain
-a `<preference>` tag. For example:
-
-    <preference name="API_KEY" />
-
-plugman checks that these required preferences are passed in.  If not,
-it should warn the user how to pass the variable in and exit with a
-non-zero code.
-
-Certain variable names should be reserved, as listed below.
-
-## $PACKAGE_NAME
-
-The reverse-domain style unique identifier for the package,
-corresponding to the `CFBundleIdentifier` on iOS or the `package`
-attribute of the top-level `manifest` element in an
-`AndroidManifest.xml` file.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f0ec0038/docs/en/edge/plugin_ref/plugman.md
----------------------------------------------------------------------
diff --git a/docs/en/edge/plugin_ref/plugman.md b/docs/en/edge/plugin_ref/plugman.md
new file mode 100644
index 0000000..7b8f01e
--- /dev/null
+++ b/docs/en/edge/plugin_ref/plugman.md
@@ -0,0 +1,110 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# Using Plugman to Manage Plugins
+
+From version 3.0 onward, Cordova implements all device APIs as
+plugins, and leaves them disabled by default.  It also supports two
+different ways to add and remove plugins. The first is by using the
+`cordova` CLI described in The Command-line Interface. The second is
+by using a lower-level
+[plugman](https://github.com/apache/cordova-plugman/)
+command-line interface. This guide concentrates on the second
+approach, which may be useful for developers who want to upgrade their
+version of Cordova, but who haven't yet adopted the Cordova CLI in
+their workflow.
+
+For more information on plugman, see
+[the README file in its repository](https://github.com/apache/cordova-plugman/blob/master/README.md).
+
+## Basic Commands
+
+To install plugman, you must have [node](http://nodejs.org/) installed
+on your machine:
+
+    npm install -g plugman
+    
+Here is the syntax to add a plugin for each platform:
+
+    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin <name|url|path> [--plugins_dir <directory>] [--www <directory>] [--variable <name>=<value> [--variable <name>=<value> ...]]
+        
+To uninstall a plugin:
+
+    plugman --uninstall --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin <id> [--www <directory>] [--plugins_dir <directory>]
+        
+## Installing Core Plugins
+
+The examples below show how to add plugins as needed so that any
+Cordova APIs you use in your project still work after you upgrade to
+version 3.0.  For each command, you need to select the target
+platform, and reference the platform's project directory.
+
+* cordova-plugin-battery-status
+    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-battery-status.git
+
+* cordova-plugin-camera
+    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-camera.git
+    
+* cordova-plugin-console
+    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-console.git
+
+* cordova-plugin-contacts
+    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts.git
+    
+* cordova-plugin-device
+    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git
+
+* cordova-plugin-device-motion (accelerometer)
+    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-device-motion.git
+
+* cordova-plugin-device-orientation (compass)
+    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-device-orientation.git
+
+* cordova-plugin-dialogs
+    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-dialogs.git
+
+* cordova-plugin-file
+    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-file.git
+
+* cordova-plugin-file-transfer
+    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-file-transfer.git
+
+* cordova-plugin-geolocation
+    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-geolocation.git
+
+* cordova-plugin-globalization
+    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-globalization.git
+
+* cordova-plugin-inappbrowser
+    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-inappbrowser.git
+
+* cordova-plugin-media
+    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-media.git
+
+* cordova-plugin-media-capture
+    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-media-capture.git
+
+* cordova-plugin-network-information
+    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information.git
+
+* cordova-plugin-splashscreen
+    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-splashscreen.git
+
+* cordova-plugin-vibration
+    plugman --platform <ios|android|blackberry10|wp7|wp8> --project <directory> --plugin https://git-wip-us.apache.org/repos/asf/cordova-plugin-vibration.git

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f0ec0038/docs/en/edge/plugin_ref/spec.md
----------------------------------------------------------------------
diff --git a/docs/en/edge/plugin_ref/spec.md b/docs/en/edge/plugin_ref/spec.md
new file mode 100644
index 0000000..63b9b0c
--- /dev/null
+++ b/docs/en/edge/plugin_ref/spec.md
@@ -0,0 +1,502 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# Plugin Specification
+
+The `plugin.xml` file is an XML document in the `plugins` namespace:
+`http://apache.org/cordova/ns/plugins/1.0`. It contains a top-level
+`plugin` element that defines the plugin, and children that define the
+structure of the plugin.
+
+A sample plugin element:
+
+    <?xml version="1.0" encoding="UTF-8"?>
+    <plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
+        xmlns:android="http://schemas.android.com/apk/res/android"
+        id="com.alunny.foo"
+        version="1.0.2">
+
+## &lt;plugin&gt; element
+
+The `plugin` element is the plugin manifest's top-level element. It
+features the following attributes:
+
+* `xmlns` (required):
+  The plugin namespace, `http://apache.org/cordova/ns/plugins/1.0`. If
+  the document contains XML from other namespaces, such as tags to be
+  added to the `AndroidManifest.xml` file, those namespaces should
+  also be included in the top-level element.
+
+* `id` (required):
+  A reverse-domain style identifier for the plugin, such as
+  `com.alunny.foo`
+
+* `version` (required):
+  A version number for the plugin, that matches the following
+  major-minor-patch style regular expression:
+
+    ^\d+[.]\d+[.]\d+$
+
+## &lt;engines&gt; and &lt;engine&gt; elements
+
+The child elements of the `<engines>` element specify versions of
+Apache Cordova-based frameworks that this plugin supports. An example:
+
+    <engines>
+        <engine name="cordova" version="1.7.0" />
+        <engine name="cordova" version="1.8.1" />
+        <engine name="worklight" version="1.0.0" />
+    </engines>
+
+Similar to the `<plugin>` element's `version` attribute, the specified
+version string should match a major-minor-patch string conforming to
+the regular expression:
+
+    ^\d+[.]\d+[.]\d+$
+
+Engine elements may also specify fuzzy matches to avoid repetition,
+and to reduce maintenance when the underlying platform is updated.
+Tools should support a minimum of `>`, `>=`, `<` and `<=`, for
+example:
+
+    <engines>
+        <engine name="cordova" version=">=1.7.0" />
+        <engine name="cordova" version="<1.8.1" />
+    </engines>
+
+plugman aborts with a non-zero code for any plugin whose target
+project does not meet the engine's constraints.
+
+If no `<engine>` tags are specified, plugman attempts to install into
+the specified cordova project directory blindly.
+
+## &lt;name&gt; element
+
+A human-readable name for the plugin, whose text content contains the
+name of the plugin. For example:
+
+    <name>Foo</name>
+
+This element does not (yet) handle localization.
+
+## &lt;asset&gt; element
+
+One or more elements listing the files or directories to be copied
+into a Cordova app's `www` directory. Examples:
+
+    <!-- a single file, to be copied in the root directory -->
+    <asset src="www/foo.js" target="foo.js" />
+    <!-- a directory, also to be copied in the root directory -->
+    <asset src="www/foo" target="foo" />
+
+All `<asset>` tags require both `src` and `target` attributes.
+Web-only plugins contains mostly `<asset>` elements. Any `<asset>`
+elements that are nested within `<platform>` elements specify
+platform-specific web assets, as described below. Attributes include:
+
+* `src` (required): 
+  Where the file or directory is located in the plugin package,
+  relative to the `plugin.xml` document.  If a file does not exist at
+  the specified `src` location, plugman stops and reverses the
+  installation process, issues a notification about the conflict, and
+  exits with a non-zero code.
+
+* `target` (required):
+
+  Where the file or directory should be located in the Cordova app,
+  relative to the `www` directory.
+  Assets can be targeted to subdirectories, for example:
+
+    <asset src="www/new-foo.js" target="js/experimental/foo.js" />
+
+  creates the `js/experimental` directory within the `www` directory,
+  unless already present, then copies the `new-foo.js` file and
+  renames it `foo.js`.  If a file already exists at the target
+  location, plugman stops and reverses the installation process,
+  issues a notification about the conflict, and exits with a non-zero
+  code.
+
+## &lt;js-module&gt; element
+
+Most plugins include one or more JavaScript files.  Each `<js-module>`
+tag corresponds to a JavaScript file, and prevents the plugin's users
+from having to add a `<script>` tag for each file.  While `<asset>`
+tags simply copy a file from the plugin subdirectory into `www`,
+`<js-module>` tags are much more sophisticated. They look like this:
+
+    <js-module src="socket.js" name="Socket">
+        <clobbers target="chrome.socket" />
+    </js-module>
+
+When installing a plugin with the example above, `socket.js` is copied
+to `www/plugins/my.plugin.id/socket.js`, and added as an entry to
+`www/cordova_plugins.js`. At load time, code in `cordova.js` uses XHR
+to read each file and inject a `<script>` tag into HTML. It adds a
+mapping to clobber or merge as appropriate, as described below.
+
+_Do not_ wrap the file with `cordova.define`, as it is added
+automatically. The module is wrapped in a closure, with `module`,
+`exports`, and `require` in scope, as is normal for AMD modules.
+
+Details for the `<js-module>` tag:
+
+* The `src` references a file in the plugin directory relative to the
+  `plugin.xml` file.
+
+* The `name` provides the last part of the module name. It can
+  generally be whatever you like, and it only matters if you want to
+  use `cordova.require` to import other parts of your plugins in your
+  JavaScript code. The module name for a `<js-module>` is your
+  plugin's `id` followed by the value of `name`. For the example
+  above, with an `id` of `chrome.socket`, the module name is
+  `chrome.socket.Socket`.
+
+* Three tags are allowed within `<js-module>`:
+
+    * `<clobbers target="some.value" />` indicates that the
+      `module.exports` is inserted into the `window` object as
+      `window.some.value`. You can have as many `<clobbers>` as you
+      like. Any object not available on `window` is created.
+
+    * `<merges target="some.value" />` indicates that the module
+      should be merged with any existing value at `window.some.value`.
+      If any key already exists, the module's version overrides the
+      original. You can have as many `<merges>` as you like. Any
+      object not available on `window` is created.
+
+    * `<runs />` means that your code should be specified with
+      `cordova.require`, but not installed on the `window`
+      object. This is useful when initializing the module, attaching
+      event handlers or otherwise. You can only have up to one
+      `<runs/>` tag. Note that including a `<runs/>` with
+      `<clobbers/>` or `<merges/>` is redundant, since they also
+      `cordova.require` your module.
+
+    * An empty `<js-module>` still loads and can be acccessed in other
+      modules via `cordova.require`.
+
+If `src` does not resolve to an existing file, plugman stops and
+reverses the installation, issues a notification of the problem, and
+exits with a non-zero code.
+
+Nesting `<js-module>` elements within `<platform>` declares
+platform-specific JavaScript module bindings.
+
+## &lt;dependency&gt;
+
+The `<dependency>` tag allows you specify other plugins on which the
+current plugin depends. While future versions will access them from
+plugin repositories, in the short term plugins are directly referenced
+as URLs by `<dependency>` tags. They are formatted as follows:
+
+    <dependency id="com.plugin.id" url="https://github.com/myuser/someplugin" commit="428931ada3891801" subdir="some/path/here" />
+
+* `id`: provides the ID of the plugin. It should be globally unique,
+  and expressed in reverse-domain style. While neither of these
+  restrictions is currently enforced, they may be in the future.
+
+* `url`: A URL for the plugin. This should reference a git repository,
+  which plugman attempts to clone.
+
+* `commit`: This is any git reference understood by `git checkout`: a
+  branch or tag name (e.g., `master`, `0.3.1`), or a commit hash (e.g.,
+  `975ddb228af811dd8bb37ed1dfd092a3d05295f9`).
+
+* `subdir`: Specifies that the targeted plugin dependency exists as a
+  subdirectory of the git repository. This is helpful because it
+  allows the repository to contain several related plugins, each
+  specified individually.
+
+In the future, version constraints will be introduced, and a plugin
+repository will exist to support fetching by name instead of explicit
+URLs.
+
+### Relative Dependency Paths
+
+If you set the `url` of a `<dependency>` tag to `"."` and provide a
+`subdir`, the dependent plugin is installed from the same local or
+remote git repository as the parent plugin that specifies the
+`<dependency>` tag.
+
+Note that the `subdir` always specifies a path relative to the _root_
+of the git repository, not the parent plugin. This is true even if you
+installed the plugin with a local path directly to it. Plugman finds
+the root of the git repository and then finds the other plugin from
+there.
+
+## &lt;platform&gt;
+
+The `<platform>` tag identifies platforms that have associated native
+code or require modifications to their configuration files. Tools
+using this specification can identify supported platforms and install
+the code into Cordova projects.
+
+Plugins without `<platform>` tags are assumed to be JavaScript-only,
+and therefore installable on any and all platforms.
+
+A sample platform tag:
+
+    <platform name="android">
+        <!-- android-specific elements -->
+    </platform>
+    <platform name="ios">
+        <!-- ios-specific elements -->
+    </platform>
+
+The required `name` attribute identifies a platform as supported,
+associating the element's children with that platform.
+
+Platform names should be lowercase. Platform names, as arbitrarily
+chosen, are listed:
+
+* android
+* bb10
+* ios
+* wp7
+* wp8
+
+## &lt;source-file&gt;
+
+The `<source-file>` element identifies executable source code that
+should be installed into a project. Examples:
+
+    <!-- android -->
+    <source-file src="src/android/Foo.java"
+                    target-dir="src/com/alunny/foo" />
+    <!-- ios -->
+    <source-file src="src/ios/CDVFoo.m" />
+    <source-file src="src/ios/someLib.a" framework="true" />
+    <source-file src="src/ios/someLib.a" compiler-flags="-fno-objc-arc" />
+
+It supports the following attributes:
+
+* `src` (required):
+  Location of the file relative to `plugin.xml`.  If the `src` file
+  cannot be found, plugman stops and reverses the installation, issues
+  a notification about the problem, and exits with a non-zero code.
+
+* `target-dir`:
+  A directory into which the files should be copied, relative to the
+  root of the Cordova project.  In practice, this is most important
+  for Java-based platforms, where a file in the `com.alunny.foo`
+  package must be located within the `com/alunny/foo` directory. For
+  platforms where the source directory is not important, this
+  attribute should be omitted.
+
+  As with assets, if the `target` of a `source-file` would overwrite
+  an existing file, plugman stops and reverses the installation,
+  issues a notification about the problem, and exits with a non-zero
+  code.
+
+* `framework` (iOS only):
+  If set to `true`, also adds the specified file as a framework to the
+  project.
+
+* `compiler-flags` (iOS only):
+  If set, assigns the specified compiler flags for the particular
+  source file.
+
+## &lt;config-file&gt;
+
+Identifies an XML-based configuration file to be modified, where in
+that document the modification should take place, and what should be
+modified.
+
+Two file types that have been tested for modification with this
+element are `xml` and `plist` files.
+
+The `config-file` element only allows you to append new children to an
+XML document tree. The children are XML literals to be inserted in the
+target document.
+
+Example for XML:
+
+    <config-file target="AndroidManifest.xml" parent="/manifest/application">
+        <activity android:name="com.foo.Foo" android:label="@string/app_name">
+            <intent-filter>
+            </intent-filter>
+        </activity>
+    </config-file>
+
+Example for `plist`:
+
+    <config-file target="*-Info.plist" parent="CFBundleURLTypes">
+        <array>
+            <dict>
+                <key>PackageName</key>
+                <string>$PACKAGE_NAME</string>
+            </dict>
+        </array>
+    </config-file>
+
+It supports the following attributes:
+
+* `target`:
+
+  The file to be modified, and the path relative to the root of the
+  Cordova project.
+
+  The target can include wildcard (`*`) elements. In this case,
+  plugman recursively searches through the project directory structure
+  and uses the first match.
+
+  On iOS, the location of configuration files relative to the project
+  directory root is not known, so specifying a target of `config.xml`
+  resolves to `cordova-ios-project/MyAppName/config.xml`.
+
+  If the specified file does not exist, the tool ignores the
+  configuration change and continues installation.
+
+* `parent`: An XPath selector referencing the parent of the elements
+  to be added to the config file. If you use absolute selectors, you
+  can use a wildcard (`*`) to specify the root element,
+  e.g., `/*/plugins`.
+
+  For `plist` files, the `parent` determines under what parent key the
+  specified XML should be inserted.
+
+  If the selector does not resolve to a child of the specified
+  document, the tool stops and reverses the installation process,
+  issues a warning, and exits with a non-zero code.
+
+## &lt;plugins-plist&gt;
+
+This is _outdated_ as it only applies to cordova-ios 2.2.0 and
+below. Use the `<config-file>` tag for newer versions of Cordova.
+
+Example:
+
+    <config-file target="config.xml" parent="/widget/plugins">
+         <plugin name="ChildBrowser" value="ChildBrowserCommand"/>
+    </config-file>
+
+Specifies a key and value to append to the correct `AppInfo.plist`
+file in an iOS Cordova project. For example:
+
+    <plugins-plist key="Foo" string="CDVFoo" />
+
+## &lt;resource-file&gt; and &lt;header-file&gt;
+
+Like source files, but specifically for platforms such as iOS that
+distinguish between source files, headers, and resources.  Examples:
+
+    <resource-file src="CDVFoo.bundle" />
+    <resource-file src="CDVFooViewController.xib" />
+    <header-file src="CDVFoo.h" />
+
+## &lt;lib-file&gt;
+
+Like source, resource, and header files, but specifically for
+platforms such as BlackBerry 10 that use user-generated libraries.
+Examples:
+
+    <lib-file src="src/BlackBerry10/native/device/libfoo.so" arch="device" />
+    <lib-file src="src/BlackBerry10/native/simulator/libfoo.so" arch="simulator" />
+
+Supported attributes:
+
+* `src` (required):
+  The location of the file relative to `plugin.xml`.
+  If `src` cannot be found, plugman stops and reverses the
+  installation, issues a warning about the problem, and exits with a
+  non-zero code.
+
+* `arch`: The architecture for which the `.so` file has been built,
+  either `device` or `simulator`.
+
+## &lt;framework&gt;
+
+Identifies a framework (usually part of the OS/platform) on which the plugin depends.
+
+Examples:
+
+    <framework src="libsqlite3.dylib" />
+    <framework src="social.framework" weak="true" />
+
+
+
+
+The `src` attribute identifies the framework, which plugman attempts
+to add to the Cordova project, in the correct fashion for a given
+platform.
+
+The optional `weak` attribute is a boolean indicating whether the
+framework should be weakly linked. The default is `false`.
+
+## &lt;info&gt;
+
+Additional information provided to users. This is useful when you
+require extra steps that can't be easily automated or are beyond
+plugman's scope.  Examples:
+
+    <info>
+    You need to install **Google Play Services** from the `Android Extras` section using the Android SDK manager (run `android`).
+
+    You need to add the following line to your `local.properties`
+        
+    android.library.reference.1=PATH_TO_ANDROID_SDK/sdk/extras/google/google_play_services/libproject/google-play-services_lib
+    </info>
+
+# Variables
+
+In certain cases, a plugin may need to make configuration changes
+dependent on the target application. For example, to register for C2DM
+on Android, an app whose package id is `com.alunny.message` would
+require a permission such as:
+
+    <uses-permission
+    android:name="com.alunny.message.permission.C2D_MESSAGE"/>
+
+In such cases where the content inserted from the `plugin.xml` file is
+not known ahead of time, variables can be indicated by a dollar-sign
+followed by a series of capital letters, digits, or underscores. For
+the above example, the `plugin.xml` file would include this tag:
+
+    <uses-permission
+    android:name="$PACKAGE_NAME.permission.C2D_MESSAGE"/>
+
+plugman replaces variable references with the specified value, or the
+empty string if not found. The value of the variable reference may be
+detected (in this case, from the `AndroidManifest.xml` file) or
+specified by the user of the tool; the exact process is dependent on
+the particular tool.
+
+plugman can request users to specify a plugin's required
+variables. For example, API keys for C2M and Google Maps can be
+specified as a command-line argument:
+
+    plugman --platform android --project /path/to/project --plugin name|git-url|path --variable API_KEY=!@CFATGWE%^WGSFDGSDFW$%^#$%YTHGsdfhsfhyer56734
+
+To make the variable mandatory, the `<platform>` tag needs to contain
+a `<preference>` tag. For example:
+
+    <preference name="API_KEY" />
+
+plugman checks that these required preferences are passed in.  If not,
+it should warn the user how to pass the variable in and exit with a
+non-zero code.
+
+Certain variable names should be reserved, as listed below.
+
+## $PACKAGE_NAME
+
+The reverse-domain style unique identifier for the package,
+corresponding to the `CFBundleIdentifier` on iOS or the `package`
+attribute of the top-level `manifest` element in an
+`AndroidManifest.xml` file.


[5/5] docs commit: [CB-3827] no more standalone 'Upgrading Guides', so remove this tree

Posted by mw...@apache.org.
[CB-3827] no more standalone 'Upgrading Guides', so remove this tree


Project: http://git-wip-us.apache.org/repos/asf/cordova-docs/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-docs/commit/15f11a8e
Tree: http://git-wip-us.apache.org/repos/asf/cordova-docs/tree/15f11a8e
Diff: http://git-wip-us.apache.org/repos/asf/cordova-docs/diff/15f11a8e

Branch: refs/heads/3.0.x
Commit: 15f11a8e1f37f4823a5218989ca08b3bb9f2c026
Parents: 8ea2caa
Author: Mike Sierra <le...@gmail.com>
Authored: Thu Jul 18 16:32:49 2013 -0400
Committer: Michael Brooks <mi...@michaelbrooks.ca>
Committed: Thu Jul 18 14:05:25 2013 -0700

----------------------------------------------------------------------
 docs/en/edge/guide/upgrading/index.md | 29 -----------------------------
 1 file changed, 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/15f11a8e/docs/en/edge/guide/upgrading/index.md
----------------------------------------------------------------------
diff --git a/docs/en/edge/guide/upgrading/index.md b/docs/en/edge/guide/upgrading/index.md
deleted file mode 100644
index e365fec..0000000
--- a/docs/en/edge/guide/upgrading/index.md
+++ /dev/null
@@ -1,29 +0,0 @@
----
-license: Licensed to the Apache Software Foundation (ASF) under one
-         or more contributor license agreements.  See the NOTICE file
-         distributed with this work for additional information
-         regarding copyright ownership.  The ASF licenses this file
-         to you under the Apache License, Version 2.0 (the
-         "License"); you may not use this file except in compliance
-         with the License.  You may obtain a copy of the License at
-
-           http://www.apache.org/licenses/LICENSE-2.0
-
-         Unless required by applicable law or agreed to in writing,
-         software distributed under the License is distributed on an
-         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-         KIND, either express or implied.  See the License for the
-         specific language governing permissions and limitations
-         under the License.
----
-
-# Upgrading Guides
-
-> Learn how to upgrade an application to the latest Apache Cordova release.
-
-- Upgrading Android
-- Upgrading BlackBerry
-- Upgrading iOS
-- Upgrading Windows Phone
-- Upgrading Windows 8
-


[2/5] docs commit: [CB-3827] new 'appdev' tree contains whitelist & privacy topics

Posted by mw...@apache.org.
[CB-3827] new 'appdev' tree contains whitelist & privacy topics


Project: http://git-wip-us.apache.org/repos/asf/cordova-docs/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-docs/commit/c094f967
Tree: http://git-wip-us.apache.org/repos/asf/cordova-docs/tree/c094f967
Diff: http://git-wip-us.apache.org/repos/asf/cordova-docs/diff/c094f967

Branch: refs/heads/3.0.x
Commit: c094f967dd03aa2295b23b9822af155a784c1256
Parents: 96526bf
Author: Mike Sierra <le...@gmail.com>
Authored: Thu Jul 18 16:29:09 2013 -0400
Committer: Michael Brooks <mi...@michaelbrooks.ca>
Committed: Thu Jul 18 14:05:24 2013 -0700

----------------------------------------------------------------------
 docs/en/edge/guide/appdev/privacy/index.md   | 110 +++++++++++++++
 docs/en/edge/guide/appdev/whitelist/index.md | 164 ++++++++++++++++++++++
 docs/en/edge/guide/privacy/index.md          | 110 ---------------
 docs/en/edge/guide/whitelist/index.md        | 164 ----------------------
 4 files changed, 274 insertions(+), 274 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/c094f967/docs/en/edge/guide/appdev/privacy/index.md
----------------------------------------------------------------------
diff --git a/docs/en/edge/guide/appdev/privacy/index.md b/docs/en/edge/guide/appdev/privacy/index.md
new file mode 100644
index 0000000..7603e08
--- /dev/null
+++ b/docs/en/edge/guide/appdev/privacy/index.md
@@ -0,0 +1,110 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# Privacy Guide
+
+Mobile privacy is a critical issue that every app developer must address. Your users expect that their private information will be collected and treated appropriately by your app. Also, there are an increasing number of jurisdictions that now have legal requirements regarding mobile privacy practices.
+
+This guide on mobile app privacy should be considered a "primer" addressing some the most significant issues. It outlines some broadly accepted best practices and provides references to other more detailed guides and references.
+
+* **Privacy Policy**: You app should include a privacy policy that
+  addresses topics such as what kind of information your app collects
+  from or about your users, how that information is used, with whom it
+  is shared, and how users can make privacy-related choices within the
+  app. To aid understanding, you should use plain language and avoid
+  technical jargon. You should make your privacy policy available for
+  users to review prior to download, such as in the app description in
+  the app marketplace. In addition, you should make your privacy
+  policy available within the app itself. The limited size of mobile
+  device displays creates challenges for displaying privacy policies
+  to users. Consider developing a "short form" of the policy that
+  includes the most important information, and then provide a link to
+  the "long form" policy for those interested in more details. Several
+  groups are attempting to develop icon-based standards for
+  communicating privacy practices, which you may want to consider once
+  these standards mature.
+
+* **Collection of sensitive information**: An app's collection of
+  sensitive personal information raises important privacy concerns.
+  Examples of sensitive personal information include financial
+  information, health information, and information from or about
+  children. It also includes information gathered from certain sensors
+  and databases typically found on mobile devices and tablets, such as
+  geolocation information, contacts/phonebook, microphone/camera, and
+  stored pictures/videos. See the following documentation pages for
+  more information: [camera](cordova_camera_camera.md.html),
+  [capture](cordova_media_capture_capture.md.html),
+  [contacts](cordova_contacts_contacts.md.html), and
+  [geolocation](cordova_geolocation_geolocation.md.html). Generally,
+  you should obtain a user's express permission before collecting
+  sensitive information and, if possible, provide a control mechanism
+  that allows a user to easily change permissions. App operating
+  systems can help in some instances by presenting just-in-time dialog
+  boxes that ask for the user's permission before collection. In these
+  cases, be sure to take advantage of any opportunity to customize the
+  dialog box text to clarify how the app uses and, if applicable,
+  shares such information.
+
+* **Avoiding user surprise**: If your app collects or uses information
+  in a way that may be surprising to users in light of the primary
+  purpose of your app (for example, a music player that accesses
+  stored pictures), you should take similar steps as with the
+  collection of sensitive personal information. That is, you should
+  strongly consider the use of just-in-time dialog boxes to inform the
+  user about the collection or use of that information and, if
+  appropriate, provide a corresponding privacy control.
+
+* **Third party data collection or sharing**: If you app collects
+  information that is provided to another company--such as a social
+  networking platform or an ad network (for example, if your app
+  displays advertising)--you should inform your users of that
+  collection and sharing. At a minimum, your privacy policy should
+  describe the information collection and sharing and, if appropriate,
+  offer your users the ability to control or opt-out of such
+  collection or sharing.
+
+* **Collection limitation and security**: Your users entrust your app
+  with their information and they expect that you will take
+  appropriate security precautions to protect it. One of the best ways
+  to avoid security compromises of personal information is not to
+  collect the information in the first place unless your app has a
+  specific and legitimate business reason for the collection. For
+  information that does need to be collected, ensure that you provide
+  appropriate security controls to protect that information, whether
+  it is stored on the device or on your backend servers. You should
+  also develop an appropriate data retention policy that is
+  implemented within the app and on your backend servers.
+
+Following are some additional helpful mobile privacy guides for developers:
+
+* California Attorney General, [Privacy on the Go: Recommendations for the Mobile Ecosystem][1]
+
+* Center for Democracy & Technology, Future of Privacy Forum, [Best Practices for Mobile App Developers][2]
+
+* CTIA-The Wireless Association, [Best Practices and Guidelines for Location Based Services][3]
+
+* Federal Trade Commission, [Mobile Privacy Disclosures: Building Trust Through Transparency][4]
+
+* Future of Privacy Forum, [Application Privacy][5] Website
+
+[1]: http://oag.ca.gov/sites/all/files/pdfs/privacy/privacy_on_the_go.pdf
+[2]: http://www.futureofprivacy.org/wp-content/uploads/Best-Practices-for-Mobile-App-Developers_Final.pdf
+[3]: http://www.ctia.org/business_resources/wic/index.cfm/AID/11300
+[4]: http://www.ftc.gov/os/2013/02/130201mobileprivacyreport.pdf
+[5]: http://www.applicationprivacy.org

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/c094f967/docs/en/edge/guide/appdev/whitelist/index.md
----------------------------------------------------------------------
diff --git a/docs/en/edge/guide/appdev/whitelist/index.md b/docs/en/edge/guide/appdev/whitelist/index.md
new file mode 100644
index 0000000..6307b3f
--- /dev/null
+++ b/docs/en/edge/guide/appdev/whitelist/index.md
@@ -0,0 +1,164 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# Domain Whitelist Guide
+
+## Overview
+
+Domain whitelisting is a security model that controls access to
+outside domains, such as `http://google.com`.  Apache Cordova's
+default security policy allows access to any site. Before moving your
+application to production, you should review its whitelist and declare
+access to specific network domains and subdomains.
+
+## Specification
+
+Domain whitelisting lays the groundwork for the [W3C Widget Access][1] specification. In the Widget Access specification, the `<access>` element is used to declare access to specific network domains. In the future, Apache Cordova will abstract the platform whitelisting implementations to the W3C Widget Access specification. However, for now each platform must implement its own domain whitelisting.
+
+## Syntax
+
+Access to [google.com][2]:
+
+    http://google.com
+
+Access to the secure [google.com][3] (`https://`):
+
+    https://google.com
+
+Access to the subdomain [maps.google.com][4]:
+
+    http://maps.google.com
+
+Access to all the subdomains on [google.com][2] (e.g. [mail.google.com][5] and [docs.google.com][6]):
+
+    http://*.google.com
+
+Access to all domains (e.g. [google.com][2] and [developer.mozilla.org][7]):
+
+    *
+
+## Android
+
+### Details
+
+The whitelisting rules are found in `res/xml/config.xml` and declared
+with the element `<access origin="..." />`.
+
+Android fully supports whitelisting syntax.
+
+### Syntax
+
+Access to [google.com][2]:
+
+    <access origin="http://google.com" />
+
+## BlackBerry
+
+### Details
+
+The whitelisting rules are found in `www/config.xml` and declared with the element `<access uri="..." />`.
+
+For a complete reference, see the [BlackBerry WebWorks Access Element documentation][8].
+
+### Syntax
+
+Access to [google.com][2]:
+
+    <access uri="http://google.com" subdomains="false" />
+
+Access to  [maps.google.com][4]:
+
+    <access uri="http://maps.google.com" subdomains="false" />
+
+Access to all the subdomains on [google.com][2]:
+
+    <access uri="http://google.com" subdomains="true" />
+
+Access to all domains, including `file://` protocol:
+
+    <access uri="*" subdomains="true" />
+
+iOS
+---
+
+### Details
+
+The whitelisting rules are found in `AppName/config.xml` and declared with the element `<access origin="..." />`.
+
+iOS fully supports whitelisting syntax.
+
+__NOTE:__ origins specified without a protocol, such as
+`www.apache.org` rather than `http://www.apache.org`, default to all
+of the `http`, `https`, `ftp`, and `ftps` schemes.
+
+### Syntax
+
+Wildcards on iOS (`*`) are more flexible than the [W3C Widget Access][1] specification.
+
+Access to all subdomains and TLDs (`.com`, `.net`, etc):
+
+    *.google.*
+
+## Windows Phone (7 & 8)
+
+The whitelisting rules are found in `config.xml` and declared with the element `<access origin="..." />`.
+
+Android fully supports whitelisting syntax.
+
+### Syntax
+
+Access to [google.com][2]:
+
+    <access origin="http://google.com" />
+
+## Tizen
+
+### Details
+
+The application root directory's `config.xml` file specifies domain
+whitelisting rules, using the `<access origin="..." />` element.
+For a complete reference, see the [Tizen Accessing External Network Resources documentation][10].
+
+### Syntax
+
+Access to [google.com][2]:
+
+    <access origin="http://google.com" subdomains="false" />
+
+Access to the secure [google.com][3] (`https://`):
+
+    <access origin="https://google.com" subdomains="false" />
+
+Access to all the subdomains on [google.com][2]:
+
+    <access origin="http://google.com" subdomains="true" />
+
+Access to all domains, including `file://` protocol:
+
+    <access origin="*" subdomains="true" />
+
+[1]: http://www.w3.org/TR/widgets-access/
+[2]: http://google.com
+[3]: https://google.com
+[4]: http://maps.google.com
+[5]: http://mail.google.com
+[6]: http://docs.google.com
+[7]: http://developer.mozilla.org
+[8]: https://developer.blackberry.com/html5/documentation/ww_developing/Access_element_834677_11.html
+[9]: https://developer.tizen.org/help/topic/org.tizen.help.gs/Creating%20a%20Project.html?path=0_1_1_4#8814682_CreatingaProject-AccessingExternalNetworkResources

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/c094f967/docs/en/edge/guide/privacy/index.md
----------------------------------------------------------------------
diff --git a/docs/en/edge/guide/privacy/index.md b/docs/en/edge/guide/privacy/index.md
deleted file mode 100644
index 7603e08..0000000
--- a/docs/en/edge/guide/privacy/index.md
+++ /dev/null
@@ -1,110 +0,0 @@
----
-license: Licensed to the Apache Software Foundation (ASF) under one
-         or more contributor license agreements.  See the NOTICE file
-         distributed with this work for additional information
-         regarding copyright ownership.  The ASF licenses this file
-         to you under the Apache License, Version 2.0 (the
-         "License"); you may not use this file except in compliance
-         with the License.  You may obtain a copy of the License at
-
-           http://www.apache.org/licenses/LICENSE-2.0
-
-         Unless required by applicable law or agreed to in writing,
-         software distributed under the License is distributed on an
-         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-         KIND, either express or implied.  See the License for the
-         specific language governing permissions and limitations
-         under the License.
----
-
-# Privacy Guide
-
-Mobile privacy is a critical issue that every app developer must address. Your users expect that their private information will be collected and treated appropriately by your app. Also, there are an increasing number of jurisdictions that now have legal requirements regarding mobile privacy practices.
-
-This guide on mobile app privacy should be considered a "primer" addressing some the most significant issues. It outlines some broadly accepted best practices and provides references to other more detailed guides and references.
-
-* **Privacy Policy**: You app should include a privacy policy that
-  addresses topics such as what kind of information your app collects
-  from or about your users, how that information is used, with whom it
-  is shared, and how users can make privacy-related choices within the
-  app. To aid understanding, you should use plain language and avoid
-  technical jargon. You should make your privacy policy available for
-  users to review prior to download, such as in the app description in
-  the app marketplace. In addition, you should make your privacy
-  policy available within the app itself. The limited size of mobile
-  device displays creates challenges for displaying privacy policies
-  to users. Consider developing a "short form" of the policy that
-  includes the most important information, and then provide a link to
-  the "long form" policy for those interested in more details. Several
-  groups are attempting to develop icon-based standards for
-  communicating privacy practices, which you may want to consider once
-  these standards mature.
-
-* **Collection of sensitive information**: An app's collection of
-  sensitive personal information raises important privacy concerns.
-  Examples of sensitive personal information include financial
-  information, health information, and information from or about
-  children. It also includes information gathered from certain sensors
-  and databases typically found on mobile devices and tablets, such as
-  geolocation information, contacts/phonebook, microphone/camera, and
-  stored pictures/videos. See the following documentation pages for
-  more information: [camera](cordova_camera_camera.md.html),
-  [capture](cordova_media_capture_capture.md.html),
-  [contacts](cordova_contacts_contacts.md.html), and
-  [geolocation](cordova_geolocation_geolocation.md.html). Generally,
-  you should obtain a user's express permission before collecting
-  sensitive information and, if possible, provide a control mechanism
-  that allows a user to easily change permissions. App operating
-  systems can help in some instances by presenting just-in-time dialog
-  boxes that ask for the user's permission before collection. In these
-  cases, be sure to take advantage of any opportunity to customize the
-  dialog box text to clarify how the app uses and, if applicable,
-  shares such information.
-
-* **Avoiding user surprise**: If your app collects or uses information
-  in a way that may be surprising to users in light of the primary
-  purpose of your app (for example, a music player that accesses
-  stored pictures), you should take similar steps as with the
-  collection of sensitive personal information. That is, you should
-  strongly consider the use of just-in-time dialog boxes to inform the
-  user about the collection or use of that information and, if
-  appropriate, provide a corresponding privacy control.
-
-* **Third party data collection or sharing**: If you app collects
-  information that is provided to another company--such as a social
-  networking platform or an ad network (for example, if your app
-  displays advertising)--you should inform your users of that
-  collection and sharing. At a minimum, your privacy policy should
-  describe the information collection and sharing and, if appropriate,
-  offer your users the ability to control or opt-out of such
-  collection or sharing.
-
-* **Collection limitation and security**: Your users entrust your app
-  with their information and they expect that you will take
-  appropriate security precautions to protect it. One of the best ways
-  to avoid security compromises of personal information is not to
-  collect the information in the first place unless your app has a
-  specific and legitimate business reason for the collection. For
-  information that does need to be collected, ensure that you provide
-  appropriate security controls to protect that information, whether
-  it is stored on the device or on your backend servers. You should
-  also develop an appropriate data retention policy that is
-  implemented within the app and on your backend servers.
-
-Following are some additional helpful mobile privacy guides for developers:
-
-* California Attorney General, [Privacy on the Go: Recommendations for the Mobile Ecosystem][1]
-
-* Center for Democracy & Technology, Future of Privacy Forum, [Best Practices for Mobile App Developers][2]
-
-* CTIA-The Wireless Association, [Best Practices and Guidelines for Location Based Services][3]
-
-* Federal Trade Commission, [Mobile Privacy Disclosures: Building Trust Through Transparency][4]
-
-* Future of Privacy Forum, [Application Privacy][5] Website
-
-[1]: http://oag.ca.gov/sites/all/files/pdfs/privacy/privacy_on_the_go.pdf
-[2]: http://www.futureofprivacy.org/wp-content/uploads/Best-Practices-for-Mobile-App-Developers_Final.pdf
-[3]: http://www.ctia.org/business_resources/wic/index.cfm/AID/11300
-[4]: http://www.ftc.gov/os/2013/02/130201mobileprivacyreport.pdf
-[5]: http://www.applicationprivacy.org

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/c094f967/docs/en/edge/guide/whitelist/index.md
----------------------------------------------------------------------
diff --git a/docs/en/edge/guide/whitelist/index.md b/docs/en/edge/guide/whitelist/index.md
deleted file mode 100644
index 6307b3f..0000000
--- a/docs/en/edge/guide/whitelist/index.md
+++ /dev/null
@@ -1,164 +0,0 @@
----
-license: Licensed to the Apache Software Foundation (ASF) under one
-         or more contributor license agreements.  See the NOTICE file
-         distributed with this work for additional information
-         regarding copyright ownership.  The ASF licenses this file
-         to you under the Apache License, Version 2.0 (the
-         "License"); you may not use this file except in compliance
-         with the License.  You may obtain a copy of the License at
-
-           http://www.apache.org/licenses/LICENSE-2.0
-
-         Unless required by applicable law or agreed to in writing,
-         software distributed under the License is distributed on an
-         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-         KIND, either express or implied.  See the License for the
-         specific language governing permissions and limitations
-         under the License.
----
-
-# Domain Whitelist Guide
-
-## Overview
-
-Domain whitelisting is a security model that controls access to
-outside domains, such as `http://google.com`.  Apache Cordova's
-default security policy allows access to any site. Before moving your
-application to production, you should review its whitelist and declare
-access to specific network domains and subdomains.
-
-## Specification
-
-Domain whitelisting lays the groundwork for the [W3C Widget Access][1] specification. In the Widget Access specification, the `<access>` element is used to declare access to specific network domains. In the future, Apache Cordova will abstract the platform whitelisting implementations to the W3C Widget Access specification. However, for now each platform must implement its own domain whitelisting.
-
-## Syntax
-
-Access to [google.com][2]:
-
-    http://google.com
-
-Access to the secure [google.com][3] (`https://`):
-
-    https://google.com
-
-Access to the subdomain [maps.google.com][4]:
-
-    http://maps.google.com
-
-Access to all the subdomains on [google.com][2] (e.g. [mail.google.com][5] and [docs.google.com][6]):
-
-    http://*.google.com
-
-Access to all domains (e.g. [google.com][2] and [developer.mozilla.org][7]):
-
-    *
-
-## Android
-
-### Details
-
-The whitelisting rules are found in `res/xml/config.xml` and declared
-with the element `<access origin="..." />`.
-
-Android fully supports whitelisting syntax.
-
-### Syntax
-
-Access to [google.com][2]:
-
-    <access origin="http://google.com" />
-
-## BlackBerry
-
-### Details
-
-The whitelisting rules are found in `www/config.xml` and declared with the element `<access uri="..." />`.
-
-For a complete reference, see the [BlackBerry WebWorks Access Element documentation][8].
-
-### Syntax
-
-Access to [google.com][2]:
-
-    <access uri="http://google.com" subdomains="false" />
-
-Access to  [maps.google.com][4]:
-
-    <access uri="http://maps.google.com" subdomains="false" />
-
-Access to all the subdomains on [google.com][2]:
-
-    <access uri="http://google.com" subdomains="true" />
-
-Access to all domains, including `file://` protocol:
-
-    <access uri="*" subdomains="true" />
-
-iOS
----
-
-### Details
-
-The whitelisting rules are found in `AppName/config.xml` and declared with the element `<access origin="..." />`.
-
-iOS fully supports whitelisting syntax.
-
-__NOTE:__ origins specified without a protocol, such as
-`www.apache.org` rather than `http://www.apache.org`, default to all
-of the `http`, `https`, `ftp`, and `ftps` schemes.
-
-### Syntax
-
-Wildcards on iOS (`*`) are more flexible than the [W3C Widget Access][1] specification.
-
-Access to all subdomains and TLDs (`.com`, `.net`, etc):
-
-    *.google.*
-
-## Windows Phone (7 & 8)
-
-The whitelisting rules are found in `config.xml` and declared with the element `<access origin="..." />`.
-
-Android fully supports whitelisting syntax.
-
-### Syntax
-
-Access to [google.com][2]:
-
-    <access origin="http://google.com" />
-
-## Tizen
-
-### Details
-
-The application root directory's `config.xml` file specifies domain
-whitelisting rules, using the `<access origin="..." />` element.
-For a complete reference, see the [Tizen Accessing External Network Resources documentation][10].
-
-### Syntax
-
-Access to [google.com][2]:
-
-    <access origin="http://google.com" subdomains="false" />
-
-Access to the secure [google.com][3] (`https://`):
-
-    <access origin="https://google.com" subdomains="false" />
-
-Access to all the subdomains on [google.com][2]:
-
-    <access origin="http://google.com" subdomains="true" />
-
-Access to all domains, including `file://` protocol:
-
-    <access origin="*" subdomains="true" />
-
-[1]: http://www.w3.org/TR/widgets-access/
-[2]: http://google.com
-[3]: https://google.com
-[4]: http://maps.google.com
-[5]: http://mail.google.com
-[6]: http://docs.google.com
-[7]: http://developer.mozilla.org
-[8]: https://developer.blackberry.com/html5/documentation/ww_developing/Access_element_834677_11.html
-[9]: https://developer.tizen.org/help/topic/org.tizen.help.gs/Creating%20a%20Project.html?path=0_1_1_4#8814682_CreatingaProject-AccessingExternalNetworkResources


[4/5] docs commit: [CB-3827] new 'hybrid' tree contains webview & plugins exposition

Posted by mw...@apache.org.
[CB-3827] new 'hybrid' tree contains webview & plugins exposition


Project: http://git-wip-us.apache.org/repos/asf/cordova-docs/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-docs/commit/96526bf2
Tree: http://git-wip-us.apache.org/repos/asf/cordova-docs/tree/96526bf2
Diff: http://git-wip-us.apache.org/repos/asf/cordova-docs/diff/96526bf2

Branch: refs/heads/3.0.x
Commit: 96526bf2b5ca380f1910fe1d829860ddb2b22eea
Parents: f0ec003
Author: Mike Sierra <le...@gmail.com>
Authored: Thu Jul 18 16:26:36 2013 -0400
Committer: Michael Brooks <mi...@michaelbrooks.ca>
Committed: Thu Jul 18 14:05:24 2013 -0700

----------------------------------------------------------------------
 docs/en/edge/guide/hybrid/plugins/index.md  | 120 +++++++++++++++++++++++
 docs/en/edge/guide/hybrid/webviews/index.md |  26 +++++
 docs/en/edge/guide/plugins/index.md         | 120 -----------------------
 docs/en/edge/guide/webviews/index.md        |  26 -----
 4 files changed, 146 insertions(+), 146 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/96526bf2/docs/en/edge/guide/hybrid/plugins/index.md
----------------------------------------------------------------------
diff --git a/docs/en/edge/guide/hybrid/plugins/index.md b/docs/en/edge/guide/hybrid/plugins/index.md
new file mode 100644
index 0000000..64896fd
--- /dev/null
+++ b/docs/en/edge/guide/hybrid/plugins/index.md
@@ -0,0 +1,120 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# Plugin Development Guide
+
+A Cordova plugin bridges a bit of functionality between the WebView
+powering a Cordova application and the native platform the Cordova
+application is running on. Plugins are composed of a single JavaScript
+interface used across all platforms, and native implementations
+following platform-specific Plugin interfaces that the JavaScript
+calls into. All of the core Cordova APIs are implemented using this
+architecture.
+
+This guide steps the process of writing a simple Echo Plugin that
+passes a string from JavaScript and sends it into the native
+environment for the supported platforms. The native code then returns
+the same string back to the callbacks inside the plugin's JavaScript.
+
+This guide provides enough overview on which you can build to write
+more complex plugins.
+
+## JavaScript
+
+The entry point for any plugin is JavaScript. The reason developers use
+Cordova is so they can use and write JavaScript, not Objective-C,
+not Java, not C#. The JavaScript interface for your plugin is the
+front-facing and arguably most important part of your Cordova plugin.
+
+You can structure your plugin's JavaScript however you like. The one
+thing you _must_ use to communicate between the Cordova JavaScript
+ and native environments is the `cordova.exec` function. Here is an example:
+
+    cordova.exec(function(winParam) {}, function(error) {}, "service",
+                 "action", ["firstArgument", "secondArgument", 42,
+                 false]);
+
+The parameters are detailed below:
+
+1. `function(winParam) {}` - Success function callback. Assuming your
+   `exec` call completes successfully, this function is invoked
+    (optionally with any parameters you pass back to it).
+2. `function(error) {}` - Error function callback. If the operation does
+   not complete successfully, this function is invoked (optionally
+   with an error parameter).
+3. `"service"` - The service name to call into on the native side. This
+   is mapped to a native class, about which more information is
+   available in the native guides listed below.
+4. `"action"` - The action name to call into. This is picked up by the
+   native class receiving the `exec` call, and, depending on the
+   platform, essentially maps to a class's method.
+   The native guides listed below provide details.
+5. `[/* arguments */]` - Arguments to pass into the native environment.
+
+### Echo Plugin JavaScript Example
+
+    window.echo = function(str, callback) {
+        cordova.exec(callback, function(err) {
+            callback('Nothing to echo.');
+        }, "Echo", "echo", [str]);
+    };
+
+Let's dive into this. The plugin attaches itself to `window`,
+specifically to the `echo` function. Plugin users would then use it as
+follows:
+
+    window.echo("echome", function(echoValue) {
+        alert(echoValue == "echome"); // should alert true.
+    });
+
+First, let's take a look at the last three arguments to the `exec`
+function. We will be calling the `Echo` "service", requesting the `echo`
+"action", and passing an array of arguments containing the echo string,
+which is the first parameter into the `window.echo` function.
+
+The success callback passed into `exec` is simply a reference to the
+callback function that `window.echo` takes. We do a bit more for the
+error callback: if the native side fires off the error callback, we
+simply invoke the success callback and pass into it a "default"
+string.
+
+## Plugin Specification
+
+Cordova has a plugin specification available to enable automated
+installation of the plugin for Android, iOS, BlackBerry 10 and Windows
+Phone platforms. By structuring your plugin in a particular way and
+adding a `plugin.xml` manifest file, you can enable users to install
+your plugin via the command line tooling.
+
+- Plugin Specification
+
+## Native
+
+Once you define JavaScript for your plugin, you need to complement it
+with at least one native implementation. Details to do so for each
+platform are listed below.  These guides continue to build on the
+simple Echo Plugin example discussed above.
+
+- Android Plugins
+- BlackBerry Plugins
+- BlackBerry 10 Plugins
+- iOS Plugins
+- Windows Phone Plugins
+
+The Tizen platform currently does not support plugins.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/96526bf2/docs/en/edge/guide/hybrid/webviews/index.md
----------------------------------------------------------------------
diff --git a/docs/en/edge/guide/hybrid/webviews/index.md b/docs/en/edge/guide/hybrid/webviews/index.md
new file mode 100644
index 0000000..937db59
--- /dev/null
+++ b/docs/en/edge/guide/hybrid/webviews/index.md
@@ -0,0 +1,26 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+         
+           http://www.apache.org/licenses/LICENSE-2.0
+         
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+# Embedding WebViews
+
+> Implement the Cordova WebView in your own project.
+
+- Android WebViews
+- iOS WebViews
+

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/96526bf2/docs/en/edge/guide/plugins/index.md
----------------------------------------------------------------------
diff --git a/docs/en/edge/guide/plugins/index.md b/docs/en/edge/guide/plugins/index.md
deleted file mode 100644
index 64896fd..0000000
--- a/docs/en/edge/guide/plugins/index.md
+++ /dev/null
@@ -1,120 +0,0 @@
----
-license: Licensed to the Apache Software Foundation (ASF) under one
-         or more contributor license agreements.  See the NOTICE file
-         distributed with this work for additional information
-         regarding copyright ownership.  The ASF licenses this file
-         to you under the Apache License, Version 2.0 (the
-         "License"); you may not use this file except in compliance
-         with the License.  You may obtain a copy of the License at
-
-           http://www.apache.org/licenses/LICENSE-2.0
-
-         Unless required by applicable law or agreed to in writing,
-         software distributed under the License is distributed on an
-         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-         KIND, either express or implied.  See the License for the
-         specific language governing permissions and limitations
-         under the License.
----
-
-# Plugin Development Guide
-
-A Cordova plugin bridges a bit of functionality between the WebView
-powering a Cordova application and the native platform the Cordova
-application is running on. Plugins are composed of a single JavaScript
-interface used across all platforms, and native implementations
-following platform-specific Plugin interfaces that the JavaScript
-calls into. All of the core Cordova APIs are implemented using this
-architecture.
-
-This guide steps the process of writing a simple Echo Plugin that
-passes a string from JavaScript and sends it into the native
-environment for the supported platforms. The native code then returns
-the same string back to the callbacks inside the plugin's JavaScript.
-
-This guide provides enough overview on which you can build to write
-more complex plugins.
-
-## JavaScript
-
-The entry point for any plugin is JavaScript. The reason developers use
-Cordova is so they can use and write JavaScript, not Objective-C,
-not Java, not C#. The JavaScript interface for your plugin is the
-front-facing and arguably most important part of your Cordova plugin.
-
-You can structure your plugin's JavaScript however you like. The one
-thing you _must_ use to communicate between the Cordova JavaScript
- and native environments is the `cordova.exec` function. Here is an example:
-
-    cordova.exec(function(winParam) {}, function(error) {}, "service",
-                 "action", ["firstArgument", "secondArgument", 42,
-                 false]);
-
-The parameters are detailed below:
-
-1. `function(winParam) {}` - Success function callback. Assuming your
-   `exec` call completes successfully, this function is invoked
-    (optionally with any parameters you pass back to it).
-2. `function(error) {}` - Error function callback. If the operation does
-   not complete successfully, this function is invoked (optionally
-   with an error parameter).
-3. `"service"` - The service name to call into on the native side. This
-   is mapped to a native class, about which more information is
-   available in the native guides listed below.
-4. `"action"` - The action name to call into. This is picked up by the
-   native class receiving the `exec` call, and, depending on the
-   platform, essentially maps to a class's method.
-   The native guides listed below provide details.
-5. `[/* arguments */]` - Arguments to pass into the native environment.
-
-### Echo Plugin JavaScript Example
-
-    window.echo = function(str, callback) {
-        cordova.exec(callback, function(err) {
-            callback('Nothing to echo.');
-        }, "Echo", "echo", [str]);
-    };
-
-Let's dive into this. The plugin attaches itself to `window`,
-specifically to the `echo` function. Plugin users would then use it as
-follows:
-
-    window.echo("echome", function(echoValue) {
-        alert(echoValue == "echome"); // should alert true.
-    });
-
-First, let's take a look at the last three arguments to the `exec`
-function. We will be calling the `Echo` "service", requesting the `echo`
-"action", and passing an array of arguments containing the echo string,
-which is the first parameter into the `window.echo` function.
-
-The success callback passed into `exec` is simply a reference to the
-callback function that `window.echo` takes. We do a bit more for the
-error callback: if the native side fires off the error callback, we
-simply invoke the success callback and pass into it a "default"
-string.
-
-## Plugin Specification
-
-Cordova has a plugin specification available to enable automated
-installation of the plugin for Android, iOS, BlackBerry 10 and Windows
-Phone platforms. By structuring your plugin in a particular way and
-adding a `plugin.xml` manifest file, you can enable users to install
-your plugin via the command line tooling.
-
-- Plugin Specification
-
-## Native
-
-Once you define JavaScript for your plugin, you need to complement it
-with at least one native implementation. Details to do so for each
-platform are listed below.  These guides continue to build on the
-simple Echo Plugin example discussed above.
-
-- Android Plugins
-- BlackBerry Plugins
-- BlackBerry 10 Plugins
-- iOS Plugins
-- Windows Phone Plugins
-
-The Tizen platform currently does not support plugins.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/96526bf2/docs/en/edge/guide/webviews/index.md
----------------------------------------------------------------------
diff --git a/docs/en/edge/guide/webviews/index.md b/docs/en/edge/guide/webviews/index.md
deleted file mode 100644
index 937db59..0000000
--- a/docs/en/edge/guide/webviews/index.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-license: Licensed to the Apache Software Foundation (ASF) under one
-         or more contributor license agreements.  See the NOTICE file
-         distributed with this work for additional information
-         regarding copyright ownership.  The ASF licenses this file
-         to you under the Apache License, Version 2.0 (the
-         "License"); you may not use this file except in compliance
-         with the License.  You may obtain a copy of the License at
-         
-           http://www.apache.org/licenses/LICENSE-2.0
-         
-         Unless required by applicable law or agreed to in writing,
-         software distributed under the License is distributed on an
-         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-         KIND, either express or implied.  See the License for the
-         specific language governing permissions and limitations
-         under the License.
----
-
-# Embedding WebViews
-
-> Implement the Cordova WebView in your own project.
-
-- Android WebViews
-- iOS WebViews
-