You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ma...@apache.org on 2013/10/01 05:31:54 UTC

[05/12] [CB-4830] create docs dir for 3.1.0

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/4b231e9b/docs/en/3.1.0/cordova/storage/parameters/size.md
----------------------------------------------------------------------
diff --git a/docs/en/3.1.0/cordova/storage/parameters/size.md b/docs/en/3.1.0/cordova/storage/parameters/size.md
new file mode 100644
index 0000000..106d730
--- /dev/null
+++ b/docs/en/3.1.0/cordova/storage/parameters/size.md
@@ -0,0 +1,22 @@
+---
+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.
+---
+
+# database_size
+
+The size of the database in bytes.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/4b231e9b/docs/en/3.1.0/cordova/storage/parameters/version.md
----------------------------------------------------------------------
diff --git a/docs/en/3.1.0/cordova/storage/parameters/version.md b/docs/en/3.1.0/cordova/storage/parameters/version.md
new file mode 100644
index 0000000..68197bf
--- /dev/null
+++ b/docs/en/3.1.0/cordova/storage/parameters/version.md
@@ -0,0 +1,22 @@
+---
+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.
+---
+
+# database_version
+
+The version of the database.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/4b231e9b/docs/en/3.1.0/cordova/storage/sqlerror/sqlerror.md
----------------------------------------------------------------------
diff --git a/docs/en/3.1.0/cordova/storage/sqlerror/sqlerror.md b/docs/en/3.1.0/cordova/storage/sqlerror/sqlerror.md
new file mode 100644
index 0000000..8fcbbbc
--- /dev/null
+++ b/docs/en/3.1.0/cordova/storage/sqlerror/sqlerror.md
@@ -0,0 +1,43 @@
+---
+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.
+---
+
+# SQLError
+
+A `SQLError` object is thrown when an error occurs.
+
+## Properties
+
+- __code__: One of the predefined error codes listed below.
+
+- __message__: A description of the error.
+
+## Constants
+
+- `SQLError.UNKNOWN_ERR`
+- `SQLError.DATABASE_ERR`
+- `SQLError.VERSION_ERR`
+- `SQLError.TOO_LARGE_ERR`
+- `SQLError.QUOTA_ERR`
+- `SQLError.SYNTAX_ERR`
+- `SQLError.CONSTRAINT_ERR`
+- `SQLError.TIMEOUT_ERR`
+
+## Description
+
+The `SQLError` object is thrown when an error occurs when manipulating a database.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/4b231e9b/docs/en/3.1.0/cordova/storage/sqlresultset/sqlresultset.md
----------------------------------------------------------------------
diff --git a/docs/en/3.1.0/cordova/storage/sqlresultset/sqlresultset.md b/docs/en/3.1.0/cordova/storage/sqlresultset/sqlresultset.md
new file mode 100644
index 0000000..d2262bf
--- /dev/null
+++ b/docs/en/3.1.0/cordova/storage/sqlresultset/sqlresultset.md
@@ -0,0 +1,149 @@
+---
+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.
+---
+
+# SQLResultSet
+
+When a `SQLTransaction` object's `executeSql` method is called, the
+specified callback executes with a `SQLResultSet` parameter.
+
+## Properties
+
+- __insertId__: The row ID of the row that the `SQLResultSet` object's SQL statement inserted into the database.
+
+- __rowsAffected__: The number of rows changed by the SQL statement, zero if the statement did not affect any rows.
+
+- __rows__: a `SQLResultSetRowList` representing the rows returned, empty if no rows are returned.
+
+## Details
+
+When a `SQLTransaction` object's `executeSql` method is called, the
+specified callback executes with a `SQLResultSet` parameter containing
+three properties:
+
+* The `insertId` returns the row number of a successly SQL insertion
+  statement.  If the SQL does not insert any rows, the `insertId` is
+  not set.
+
+* The `rowsAffected` is always `0` for a SQL `select` statement.  For
+  `insert` or `update` statements it returns the number of modified
+  rows.
+
+* The final `SQLResultSetList` contains the data returned from a SQL
+  select statement.
+
+## Supported Platforms
+
+- Android
+- BlackBerry WebWorks (OS 6.0 and higher)
+- iOS
+- Tizen
+
+## Execute SQL Quick Example
+
+    function queryDB(tx) {
+        tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB);
+    }
+
+    function querySuccess(tx, results) {
+        console.log("Returned rows = " + results.rows.length);
+        // this will be true since it was a select statement and so rowsAffected was 0
+        if (!results.rowsAffected) {
+            console.log('No rows affected!');
+            return false;
+        }
+        // for an insert statement, this property will return the ID of the last inserted row
+        console.log("Last inserted row ID = " + results.insertId);
+    }
+
+    function errorCB(err) {
+        alert("Error processing SQL: "+err.code);
+    }
+
+    var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
+    db.transaction(queryDB, errorCB);
+
+## Full Example
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Storage Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for device API libraries to load
+        //
+        document.addEventListener("deviceready", onDeviceReady, false);
+
+        // Populate the database
+        //
+        function populateDB(tx) {
+            tx.executeSql('DROP TABLE IF EXISTS DEMO');
+            tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
+            tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
+            tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
+        }
+
+        // Query the database
+        //
+        function queryDB(tx) {
+            tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB);
+        }
+
+        // Query the success callback
+        //
+        function querySuccess(tx, results) {
+            console.log("Returned rows = " + results.rows.length);
+            // this will be true since it was a select statement and so rowsAffected was 0
+            if (!results.rowsAffected) {
+                console.log('No rows affected!');
+                return false;
+            }
+            // for an insert statement, this property will return the ID of the last inserted row
+            console.log("Last inserted row ID = " + results.insertId);
+        }
+
+        // Transaction error callback
+        //
+        function errorCB(err) {
+            console.log("Error processing SQL: "+err.code);
+        }
+
+        // Transaction success callback
+        //
+        function successCB() {
+            var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
+            db.transaction(queryDB, errorCB);
+        }
+
+        // device APIs are available
+        //
+        function onDeviceReady() {
+            var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
+            db.transaction(populateDB, errorCB, successCB);
+        }
+
+        </script>
+      </head>
+      <body>
+        <h1>Example</h1>
+        <p>Database</p>
+      </body>
+    </html>

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/4b231e9b/docs/en/3.1.0/cordova/storage/sqlresultsetrowlist/sqlresultsetrowlist.md
----------------------------------------------------------------------
diff --git a/docs/en/3.1.0/cordova/storage/sqlresultsetrowlist/sqlresultsetrowlist.md b/docs/en/3.1.0/cordova/storage/sqlresultsetrowlist/sqlresultsetrowlist.md
new file mode 100644
index 0000000..68f7a5c
--- /dev/null
+++ b/docs/en/3.1.0/cordova/storage/sqlresultsetrowlist/sqlresultsetrowlist.md
@@ -0,0 +1,135 @@
+---
+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.
+---
+
+# SQLResultSetRowList
+
+One of the properties of the `SQLResultSet` containing the rows
+returned from a SQL query.
+
+## Properties
+
+- __length__: the number of rows returned by the SQL query.
+
+## Methods
+
+- __item__: returns the row at the specified index represented by a JavaScript object.
+
+## Details
+
+The `SQLResultSetRowList` contains the data returned from a SQL
+`select` statement.  The object contains a `length` property
+indicating how many rows the `select` statement returns.  To get a row
+of data, call the `item` method to specify an index.  It returns a
+JavaScript `Object` whose properties are the database columns the
+`select` statement was executed against.
+
+## Supported Platforms
+
+- Android
+- BlackBerry WebWorks (OS 6.0 and higher)
+- iOS
+- Tizen
+
+## Execute SQL Quick Example
+
+    function queryDB(tx) {
+        tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB);
+    }
+
+    function querySuccess(tx, results) {
+        var len = results.rows.length;
+            console.log("DEMO table: " + len + " rows found.");
+            for (var i=0; i<len; i++){
+                console.log("Row = " + i + " ID = " + results.rows.item(i).id + " Data =  " + results.rows.item(i).data);
+            }
+        }
+
+        function errorCB(err) {
+            alert("Error processing SQL: "+err.code);
+        }
+
+        var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
+        db.transaction(queryDB, errorCB);
+
+## Full Example
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Storage Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for device API libraries to load
+        //
+        document.addEventListener("deviceready", onDeviceReady, false);
+
+        // Populate the database
+        //
+        function populateDB(tx) {
+            tx.executeSql('DROP TABLE IF EXISTS DEMO');
+            tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
+            tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
+            tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
+        }
+
+        // Query the database
+        //
+        function queryDB(tx) {
+            tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB);
+        }
+
+        // Query the success callback
+        //
+        function querySuccess(tx, results) {
+            var len = results.rows.length;
+            console.log("DEMO table: " + len + " rows found.");
+            for (var i=0; i<len; i++){
+                console.log("Row = " + i + " ID = " + results.rows.item(i).id + " Data =  " + results.rows.item(i).data);
+            }
+        }
+
+        // Transaction error callback
+        //
+        function errorCB(err) {
+            console.log("Error processing SQL: "+err.code);
+        }
+
+        // Transaction success callback
+        //
+        function successCB() {
+            var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
+            db.transaction(queryDB, errorCB);
+        }
+
+        // device APIs are available
+        //
+        function onDeviceReady() {
+            var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
+            db.transaction(populateDB, errorCB, successCB);
+        }
+
+        </script>
+      </head>
+      <body>
+        <h1>Example</h1>
+        <p>Database</p>
+      </body>
+    </html>

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/4b231e9b/docs/en/3.1.0/cordova/storage/sqltransaction/sqltransaction.md
----------------------------------------------------------------------
diff --git a/docs/en/3.1.0/cordova/storage/sqltransaction/sqltransaction.md b/docs/en/3.1.0/cordova/storage/sqltransaction/sqltransaction.md
new file mode 100644
index 0000000..93901d6
--- /dev/null
+++ b/docs/en/3.1.0/cordova/storage/sqltransaction/sqltransaction.md
@@ -0,0 +1,108 @@
+---
+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.
+---
+
+# SQLTransaction
+
+Allows execution of SQL statements against the Database.
+
+## Methods
+
+- __executeSql__: executes a SQL statement.
+
+## Details
+
+Calling a `Database` object's transaction method, passes a
+`SQLTransaction` object to the specified callback method.
+
+## Supported Platforms
+
+- Android
+- BlackBerry WebWorks (OS 6.0 and higher)
+- iOS
+- Tizen
+
+## Execute SQL Quick Example
+
+    function populateDB(tx) {
+        tx.executeSql('DROP TABLE IF EXISTS DEMO');
+        tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
+        tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
+        tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
+    }
+
+    function errorCB(err) {
+        alert("Error processing SQL: "+err);
+    }
+
+    function successCB() {
+        alert("success!");
+    }
+
+    var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
+    db.transaction(populateDB, errorCB, successCB);
+
+## Full Example
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Storage Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for device API libraries to load
+        //
+        document.addEventListener("deviceready", onDeviceReady, false);
+
+        // device APIs are available
+        //
+        function onDeviceReady() {
+            var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
+            db.transaction(populateDB, errorCB, successCB);
+        }
+
+        // Populate the database
+        //
+        function populateDB(tx) {
+            tx.executeSql('DROP TABLE IF EXISTS DEMO');
+            tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
+            tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
+            tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
+        }
+    
+        // Transaction error callback
+        //
+        function errorCB(err) {
+            alert("Error processing SQL: "+err);
+        }
+    
+        // Transaction success callback
+        //
+        function successCB() {
+            alert("success!");
+        }
+
+        </script>
+      </head>
+      <body>
+        <h1>Example</h1>
+        <p>SQLTransaction</p>
+      </body>
+    </html>

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/4b231e9b/docs/en/3.1.0/cordova/storage/storage.md
----------------------------------------------------------------------
diff --git a/docs/en/3.1.0/cordova/storage/storage.md b/docs/en/3.1.0/cordova/storage/storage.md
new file mode 100644
index 0000000..8462bde
--- /dev/null
+++ b/docs/en/3.1.0/cordova/storage/storage.md
@@ -0,0 +1,81 @@
+---
+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.
+---
+
+# Storage
+
+> Provides access to the device's storage options.
+
+This API offers storage options based on two different W3C
+specifications:
+
+* The
+  [Web Storage API Specification](http://dev.w3.org/html5/webstorage/)
+  allows you to access data via simple key/value pairs.  See the
+  section on localStorage for complete details on this interface.
+
+* The
+  [Web SQL Database Specification](http://dev.w3.org/html5/webdatabase/)
+  offers more full-featured database tables accessed via SQL queries.
+  A summary of this interface appears immediately below.
+
+Cordova provides access to both interfaces for the minority of devices
+that don't already support them. Otherwise the built-in
+implementations apply.
+
+## Methods
+
+- openDatabase
+
+## Arguments
+
+- database_name
+- database_version
+- database_displayname
+- database_size
+
+## Objects
+
+- Database
+- SQLTransaction
+- SQLResultSet
+- SQLResultSetRowList
+- SQLError
+
+## Accessing the Feature
+
+As of version 3.0, access to Storage APIs is built into Cordova, and
+does not require using the CLI to add plugins as described in The
+Command-line Interface.
+
+If you are using the older set of Cordova tools that precede the CLI,
+the following platform-specific configuration settings are still
+required:
+
+* Android (in `app/res/xml/config.xml`)
+
+        <feature name="Storage">
+            <param name="android-package" value="org.apache.cordova.Storage" />
+        </feature>
+
+* BlackBerry WebWorks (in `www/config.xml`)
+
+        <feature id="blackberry.widgetcache" required="true" version="1.0.0.0" />
+
+Some platforms may support this feature without requiring any special
+configuration.  See _Platform Support_ in the Overview section.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/4b231e9b/docs/en/3.1.0/cordova/storage/storage.opendatabase.md
----------------------------------------------------------------------
diff --git a/docs/en/3.1.0/cordova/storage/storage.opendatabase.md b/docs/en/3.1.0/cordova/storage/storage.opendatabase.md
new file mode 100644
index 0000000..310ba6c
--- /dev/null
+++ b/docs/en/3.1.0/cordova/storage/storage.opendatabase.md
@@ -0,0 +1,68 @@
+---
+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.
+---
+
+# openDatabase
+
+Returns a new `Database` object.
+
+    var dbShell = window.openDatabase(database_name, database_version, database_displayname, database_size);
+
+## Description
+
+The method creates a new SQL Lite Database and returns a `Database`
+object that allows manipulation of the data.
+
+## Supported Platforms
+
+- Android
+- BlackBerry WebWorks (OS 6.0 and higher)
+- iOS
+- Tizen
+
+## Quick Example
+
+    var db = window.openDatabase("test", "1.0", "Test DB", 1000000);
+
+## Full Example
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Storage Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for device API libraries to load
+        //
+        document.addEventListener("deviceready", onDeviceReady, false);
+
+        // device APIs are available
+        //
+        function onDeviceReady() {
+            var db = window.openDatabase("test", "1.0", "Test DB", 1000000);
+        }
+
+        </script>
+      </head>
+      <body>
+        <h1>Example</h1>
+        <p>Open Database</p>
+      </body>
+    </html>

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/4b231e9b/docs/en/3.1.0/guide/appdev/privacy/index.md
----------------------------------------------------------------------
diff --git a/docs/en/3.1.0/guide/appdev/privacy/index.md b/docs/en/3.1.0/guide/appdev/privacy/index.md
new file mode 100644
index 0000000..601ee38
--- /dev/null
+++ b/docs/en/3.1.0/guide/appdev/privacy/index.md
@@ -0,0 +1,117 @@
+---
+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/4b231e9b/docs/en/3.1.0/guide/appdev/whitelist/index.md
----------------------------------------------------------------------
diff --git a/docs/en/3.1.0/guide/appdev/whitelist/index.md b/docs/en/3.1.0/guide/appdev/whitelist/index.md
new file mode 100644
index 0000000..88a0ffe
--- /dev/null
+++ b/docs/en/3.1.0/guide/appdev/whitelist/index.md
@@ -0,0 +1,175 @@
+---
+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 10
+
+### Details
+
+The whitelisting rules are found in `www/config.xml` and declared with 
+the element `<access origin="..." />`.
+
+BlackBerry 10 handles wildcards differently than other platforms in two ways:
+
+1) Content accessed by XMLHttpRequest must be declared explicity. origin="*" will
+   not be respected for this use case. Alternatively, all web security may be
+   disabled using a preference.
+ 
+2) subdomains="true" may be used in place of "*.domain"
+
+### Syntax
+
+Access to [google.com][2]:
+
+    <access origin="http://google.com" subdomains="false" />
+
+Access to  [maps.google.com][4]:
+
+    <access origin="http://maps.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" />
+
+Disable all web security:
+
+    <preference name="websecurity" value="disable" />
+
+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/4b231e9b/docs/en/3.1.0/guide/cli/index.md
----------------------------------------------------------------------
diff --git a/docs/en/3.1.0/guide/cli/index.md b/docs/en/3.1.0/guide/cli/index.md
new file mode 100644
index 0000000..610ca1b
--- /dev/null
+++ b/docs/en/3.1.0/guide/cli/index.md
@@ -0,0 +1,372 @@
+---
+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.
+
+---
+
+# The Command-line Interface
+
+This guide shows you how to create applications and deploy them to
+various native mobile platforms using the `cordova` command-line
+interface (CLI). This tool allows you to create new projects, build
+them on different platforms, and run them within an emulator. You can
+also use the CLI to initialize project code, after which you use
+various platforms' SDKs to develop them further.
+
+## Prerequisites
+
+Before running any command-line tools, you need to install SDKs for
+each platform you wish to target.
+(See the Platform Guides for more details.)
+
+To add support or rebuild a project for any platform, you need to run
+the command-line interface from the same machine that supports the
+platform's SDK. The CLI supports the following combinations:
+
+* iOS             (Mac)
+* Android         (Mac, Linux)
+* BlackBerry 10   (Mac, Linux, Windows)
+* Windows Phone 7 (Windows)
+* Windows Phone 8 (Windows)
+* Windows 8       (Windows)
+* Firefox OS      (Mac, Linux, Windows)
+
+On the Mac, the command-line is available via the _Terminal_
+application. On the PC, it's available as _Command Prompt_ under
+_Accessories_.
+
+The more likely it is that you run the CLI from different machines,
+the more it makes sense to maintain a remote source code repository,
+whose assets you pull down to local working directories.
+
+To install the `cordova` command-line tool, follow these steps:
+
+1. Download and install [Node.js](http://nodejs.org/). Following
+   installation, you should be able to invoke `node` or `npm` on your
+   command line.
+
+1. Install the `cordova` utility. In Unix, prefixing the additional
+   `sudo` command may be necessary to install development utilities in
+   otherwise restricted directories:
+
+        $ sudo npm install -g cordova
+
+   The installation log may produce errors for any uninstalled
+   platform SDKs.  Following installation, you should be able to run
+   `cordova` on the command line.
+
+## Create the App
+
+Go to the directory where you maintain your source code, and run a
+command such as the following:
+
+        $ cordova create hello com.example.hello HelloWorld
+
+It may take some time for the command to complete, so be patient. Run
+the `cordova -d` to see information about progress.
+
+The first argument specifies a _hello_ directory to be generated
+for your project. Its `www` subdirectory houses your application's
+home page, along with various resources under `css`, `js`, and `img`,
+which follow common web development file-naming conventions. The
+`config.xml` file contains important metadata needed to generate and
+distribute the application.
+
+The other two arguments are optional: the `com.example.hello` argument
+provides your project with a reverse domain-style identifier, and the
+`HelloWorld` provides the application's display text. You can edit
+both of these values later in the `config.xml` file.
+
+## Add Platforms
+
+All subsequent commands need to be run within the project's directory,
+or any subdirectories within its scope:
+
+        $ cd hello
+
+Before you can build the project, you need to specify a set of target
+platforms. Your ability to run these commands depends on whether your
+machine supports each SDK, and whether you have already installed each
+SDK.  Run any of these from a Mac:
+
+        $ cordova platform add ios
+        $ cordova platform add android
+        $ cordova platform add blackberry10
+        $ cordova platform add firefoxos
+
+Run any of these from a Windows machine, where _wp_ refers to
+different versions of the Windows Phone operating system:
+
+        $ cordova platform add wp7
+        $ cordova platform add wp8
+        $ cordova platform add windows8
+        $ cordova platform add android
+        $ cordova platform add blackberry10
+        $ cordova platform add firefoxos
+
+Run this to check your current set of platforms:
+
+        $ cordova platforms ls
+
+(Note the `platform` and `platforms` commands are synonymous.)
+
+Run either of the following synonymous commands to remove a platform:
+
+        $ cordova platform remove blackberry10
+        $ cordova platform rm android
+
+Running commands to add or remove platforms affects the contents of
+the project's _platforms_ directory, where each specified platform
+appears as a subdirectory. The _www_ source directory is reproduced
+within each platform's subdirectory, appearing for example in
+`platforms/ios/www` or `platforms/android/assets/www`.  By default,
+each platform's configuration file is set up to be able to access all
+of Cordova's APIs.
+
+If you wish, you can use an SDK at this point to open the project you
+created. However, any edits you make to the project within an SDK
+affect the derivative set of assets, not the original cross-platform
+source files. Use this approach if you simply want to initialize a
+project.
+(See the Platform Guides for information on how to develop applications within each SDK.)
+Read on if you wish to use command-line tools for the entire
+development cycle.
+
+## Build the App
+
+By default, the `cordova create` script generates a skeletal web-based
+application whose home page is the project's `www/index.html` file.
+Edit this application however you want, but any initialization should
+be specified as part of the `deviceready` event handler, referenced by
+default from `www/js/index.js`.
+<!-- XREF
+(See the Application Development Guide for details.)
+XREF -->
+
+Run the following command to iteratively build the project:
+
+        $ cordova build
+
+This generates platform-specific code within the project's `platforms`
+subdirectory.  You can optionally limit the scope of each build to
+specific platforms:
+
+        $ cordova build ios
+
+The `cordova build` command is a shorthand for the following, which in
+this example is also targeted to a single platform:
+
+        $ cordova prepare ios
+        $ cordova compile ios
+
+In this case, once you run `prepare`, you can use Apple's Xcode SDK as
+an alternative to modify and compile the platform-specific code that
+Cordova generates within `platforms/ios`. You can use the same
+approach with other platforms' SDKs.
+
+## Test the App on an Emulator or Device
+
+SDKs for mobile platforms often come bundled with emulators that
+execute a device image, so that you can launch the app from the home
+screen and see how it interacts with many platform features.  Run a
+command such as the following to rebuild the app and view it within a
+specific platform's emulator:
+
+        $ cordova emulate android
+
+Some mobile platforms emulate a particular device by default, such as
+the iPhone for iOS projects. For other platforms, you may need to
+first associate a device with an emulator.
+(See the Platform Guides for details.)
+For example, you may first run the `android` command to launch the
+Android SDK, then run a particular device image, which launches it
+according to its default behavior:
+
+![](img/guide/cli/android_emulate_init.png)
+
+Following up with the `cordova emulate` command refreshes the emulator
+image to display the latest application, which is now available for
+launch from the home screen:
+
+![](img/guide/cli/android_emulate_install.png)
+
+Alternately, you can plug the handset into your computer and test the
+app directly:
+
+        $ cordova run android
+
+Before running this command, you need to set up the device for
+testing, following procedures that vary for each platform. In
+Android's case, you would have to enable a __USB debugging__ option on
+the device, and perhaps add a USB driver depending on your development
+environmnent.
+See Platform Guides for details on each platform's requirements.
+
+## Add Features
+
+When you build and view a new project, the default application that
+appears doesn't do very much. You can modify the app in many ways to
+take advantage of standard web technologies, but for the app to
+communicate closely with various device-level features, you need to
+add plugins that provide access to core Cordova APIs.
+
+A _plugin_ is a bit of add-on code that provides an interface to
+native components. You can design your own plugin interface, for
+example when designing a hybrid app that mixes a Cordova WebView with
+native components. (See Embedding WebViews and Plugin Development Guide for details.)  More commonly, you would add a plugin to enable
+one of Cordova's basic device-level features
+<!-- XREF
+discussed in the Application Development Guide and
+XREF -->
+detailed in the API Reference.
+
+The `cordova plugin add` command requires you to specify the
+repository for the plugin code.  Here are examples of features you
+might add:
+
+* Basic device information (Device API):
+
+        $ cordova plugin add org.apache.cordova.device
+
+* Network Connection and Battery Events:
+
+        $ cordova plugin add org.apache.cordova.network-information
+        $ cordova plugin add org.apache.cordova.battery-status
+
+* Accelerometer, Compass, and Geolocation:
+
+        $ cordova plugin add org.apache.cordova.device-motion
+        $ cordova plugin add org.apache.cordova.device-orientation
+        $ cordova plugin add org.apache.cordova.geolocation
+
+* Camera, Media playback and Capture:
+
+        $ cordova plugin add org.apache.cordova.camera
+        $ cordova plugin add org.apache.cordova.media-capture
+        $ cordova plugin add org.apache.cordova.media    
+
+* Access files on device or network (File API):
+
+        $ cordova plugin add org.apache.cordova.file
+        $ cordova plugin add org.apache.cordova.file-transfer
+
+* Notification via dialog box or vibration:
+
+        $ cordova plugin add org.apache.cordova.dialogs
+        $ cordova plugin add org.apache.cordova.vibration
+
+* Contacts:
+
+        $ cordova plugin add org.apache.cordova.contacts
+
+* Globalization:
+
+        $ cordova plugin add org.apache.cordova.globalization
+
+* Splashscreen:
+
+        $ cordova plugin add org.apache.cordova.splashscreen
+
+* Open new browser windows (InAppBrowser):
+
+        $ cordova plugin add org.apache.cordova.inappbrowser
+
+* Debug console:
+
+        $ cordova plugin add org.apache.cordova.console
+
+Use `plugin ls` (or `plugin list`, or `plugin` by itself) to view
+currently installed plugins. Each displays by its identifier:
+
+        $ cordova plugin ls    # or 'plugin list'
+        [ 'org.apache.cordova.console' ]
+
+To remove a plugin, refer to it by the same identifier that appears in
+the listing. For example, here is how you would remove support for a
+debug console from a release version:
+
+        $ cordova plugin rm org.apache.cordova.console        
+        $ cordova plugin remove org.apache.cordova.console    # same
+
+You can batch-remove or add plugins by specifying more than one
+argument for each command.
+
+## Customize Each Platform
+
+While Cordova allows you to easily deploy an app for many different
+platforms, sometimes you need to add customizations.  In that case,
+you don't want to modify the source files in various `www` directories
+within the top-level `platforms` directory, because they're regularly
+replaced with the top-level `www` directory's cross-platform source.
+
+Instead, the top-level `merges` directory offers a place to specify
+assets to deploy on specific platforms. Each platform-specific
+subdirectory within `merges` mirrors the directory structure of the
+`www` source tree, allowing you to override or add files as needed.
+For example, here is how you might uses `merges` to boost the default
+font size for Android devices:
+
+* Edit the `www/index.html` file, adding a link to an additional CSS
+  file, `overrides.css` in this case:
+
+        <link rel="stylesheet" type="text/css" href="css/overrides.css" />
+
+* Optionally create an empty `www/css/overrides.css` file, which would
+  apply for all non-Android builds, preventing a missing-file error.
+
+* Create a `css` subdirectory within `merges/android`, then add a
+  corresponding `overrides.css` file. Specify CSS that overrides the
+  12-point default font size specified within `www/css/index.css`, for
+  example:
+
+        body { font-size:14px; }
+
+When you rebuild the project, the Android version features the custom
+font size, while others remain unchanged.
+
+You can also use `merges` to add files not present in the original
+`www` directory. For example, an app can incorporate a _back button_
+graphic into the iOS interface, stored in
+`merges/ios/img/back_button.png`, while the Android version can
+instead capture `backbutton` events from the corresponding hardware
+button.
+
+## Updating Cordova
+
+After installing the `cordova` utility, you can always
+update it to the latest version by running the following command:
+
+        $ sudo npm update -g cordova
+
+Use this syntax to install a specific version:
+
+        $ sudo npm install -g cordova@3.1.0
+
+Run `cordova -v` to see the currently running version.  Run the `npm
+info` command for a longer listing that includes the current version
+along with other available version numbers:
+
+        $ npm info cordova
+
+Cordova 3.0 is the first version to support the command-line interface
+described in this section. If you are updating from a version prior to
+3.0, you need to create a new project as described above, then copy
+the older application's assets into the top-level `www` directory.
+Where applicable, further details about upgrading to 3.0 are available
+in the Platform Guides.  Once you upgrade to the `cordova`
+command-line interface and use `npm update` to stay current, the more
+time-consuming procedures described there are no longer relevant.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/4b231e9b/docs/en/3.1.0/guide/hybrid/plugins/index.md
----------------------------------------------------------------------
diff --git a/docs/en/3.1.0/guide/hybrid/plugins/index.md b/docs/en/3.1.0/guide/hybrid/plugins/index.md
new file mode 100644
index 0000000..cf720d7
--- /dev/null
+++ b/docs/en/3.1.0/guide/hybrid/plugins/index.md
@@ -0,0 +1,137 @@
+---
+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:
+
+* `function(winParam) {}`: Success function callback. Assuming your
+  `exec` call completes successfully, this function is invoked
+  (optionally with any parameters you pass back to it).
+
+* `function(error) {}`: Error function callback. If the operation does
+  not complete successfully, this function is invoked (optionally with
+  an error parameter).
+
+* `"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.
+
+* `"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.
+
+* `[/* 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.
+
+## Publishing plugins
+
+Once you developed your plugin, you might want to publish it and share it with the community. You can publish your plugin to the cordova registry (based on [npmjs](https://github.com/isaacs/npmjs.org)) or to any other npmjs based registry. Users will be able to install it automatically using either plugman or cordova-cli.
+
+To publish a plugin you need to use the plugman tool and go through the following steps:
+
+    $ plugman adduser # that is if you don't have an account yet
+    $ plugman publish /path/to/your/plugin
+    
+That is it!
+
+Other registry-based commands are available and `plugman --help` will give you a list of what commands are available and how to use them.  

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/4b231e9b/docs/en/3.1.0/guide/hybrid/webviews/index.md
----------------------------------------------------------------------
diff --git a/docs/en/3.1.0/guide/hybrid/webviews/index.md b/docs/en/3.1.0/guide/hybrid/webviews/index.md
new file mode 100644
index 0000000..937db59
--- /dev/null
+++ b/docs/en/3.1.0/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/4b231e9b/docs/en/3.1.0/guide/overview/index.md
----------------------------------------------------------------------
diff --git a/docs/en/3.1.0/guide/overview/index.md b/docs/en/3.1.0/guide/overview/index.md
new file mode 100644
index 0000000..b2a025e
--- /dev/null
+++ b/docs/en/3.1.0/guide/overview/index.md
@@ -0,0 +1,383 @@
+---
+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.
+
+---
+
+# Overview
+
+Cordova is an open-source mobile development framework. It allows you
+to use standard web technologies such as HTML5, CSS3, and JavaScript
+for cross-platform development, avoiding each mobile platforms' native
+development language.  Applications execute within wrappers targeted
+to each platform, and rely on standards-compliant API bindings to
+access each device's sensors, data, and network status.
+
+Use Cordova if you are:
+
+* a mobile developer and want to extend an application across more
+  than one platform, without having to re-implement it with each
+  platform's language and tool set.
+
+* a web developer and want to deploy a web app that's packaged for
+  distribution in various app store portals.
+
+* a mobile developer interested in mixing native application
+  components with a _WebView_ (browser window) that can access
+  device-level APIs, or if you want to develop a plugin interface
+  between native and WebView components.
+
+## Basic Components
+
+Cordova applications rely on a common `config.xml` file that provides
+information about the app and specifies parameters affecting how it
+works, such as whether it responds to orientation shifts. This file
+adheres to the W3C's
+[Packaged Web App](http://www.w3.org/TR/widgets/),
+or _widget_, specification.
+
+The application itself is implemented as a web page, named
+_index.html_ by default, that references whatever CSS, JavaScript,
+images, media files, or other resources are necessary for it to run.
+The app executes as a _WebView_ within the native application wrapper,
+which you distribute to app stores.  For the web app to interact with
+various device features the way native apps do, it must also reference
+a `cordova.js` file, which provides API bindings.
+<!-- XREF
+(See the API Reference for an overview, and the Application
+Development Guide for examples of how to use them.)
+XREF -->
+
+The Cordova-enabled WebView may provide the application with its
+entire user interface. It can also be a component within a larger,
+hybrid application that mixes the WebView with native application
+components.  Cordova provides a _plugin_ interface for these
+components to communicate with each other.
+
+## Development Paths
+
+The easiest way to set up an application is to run the `cordova`
+command-line utility, also known as the _command-line interface_
+(CLI). (To install the CLI, see The Command-line Interface.)
+Depending on the set of platforms you wish to target, you can rely on
+the CLI for progressively greater shares of the development cycle:
+
+* In the most basic scenario, you can use the CLI simply to create a
+  new project that is populated with default configuration for you to
+  modify.
+
+* For many mobile platforms, you can also use the CLI to set up
+  additional project files required to compile within each SDK.  For
+  this to work, you must install each targeted platform's SDK.
+  (See the Platform Guides for instructions.)
+  As indicated in the Platform Support table below, you may need to
+  run the CLI on different operating systems depending on the targeted
+  platform.
+
+* For supporting platforms, the CLI can compile executible
+  applications and run them in an SDK-based device emulator.
+  <!-- XREF
+  (See Application Development Guide for details.)
+  XREF -->
+  For comprehensive testing, you can also generate application files
+  and install them directly on a device.
+
+At any point in the development cycle, you can also rely on
+platform-specific SDK tools, which may provide a richer set of
+options. 
+(See the Platform Guides for details about each platform's SDK tool set.)
+An SDK environment is more appropriate if you want implement a hybrid
+app that mixes web-based and native application components.
+<!-- XREF
+(See Hybrid Application Guide for more information.)
+XREF -->
+You may use the command-line utility to initially generate the app, or
+iteratively thereafter to feed updated code to SDK tools.  You may
+also build the app's configuration file yourself.
+<!-- XREF
+(See The config.xml File for details.)
+XREF -->
+
+<!-- XREF
+To build projects on some platforms, you may need to apply digital signatures.
+See Distributing Applications for information on how to upload your app to various store portals.
+XREF -->
+
+## Platform Support
+
+The following shows the set of development tools and device APIs
+available for each mobile platform. (Column headers display the
+CLI's shorthand stubs.)
+
+<!-- START HTML -->
+
+<table class="compat" width="100%">
+
+<thead>
+    <tr>
+        <th></td>
+        <th><tt>android</tt></th>
+        <th><tt>blackberry</tt> (6)</th>
+        <th><tt>blackberry10</tt></th>
+        <th><tt>ios</tt></th>
+        <th><tt>wp7</tt> (Windows<br/>Phone 7)</th>
+        <th><tt>wp8</tt> (Windows<br/>Phone 8)</th>
+        <th><tt>win8</tt><br/>(Windows 8)</th>
+        <th><tt>firefoxos</tt></th>
+        <th><tt>tizen</tt></th>
+    </tr>
+
+</thead>
+
+<tbody>
+    <tr>
+        <th><a href="guide_cli_index.md.html">cordova<br/>CLI</a></th>
+        <td data-col="android"    class="y">Mac, Windows, Linux</td>
+        <td data-col="blackberry" class="n">Mac, Windows</td>
+        <td data-col="blackberry10" class="y">Mac, Windows</td>
+        <td data-col="ios"        class="y">Mac</td>
+        <td data-col="winphone7"  class="y">Windows</td>
+        <td data-col="winphone8"  class="y">Windows</td>
+        <td data-col="win8"       class="n"></td>
+        <td data-col="tizen"       class="n"></td>
+    </tr>
+
+    <tr>
+        <th><a href="guide_hybrid_webviews_index.md.html">Embedded<br/>WebView</a></th>
+        <td data-col="android"    class="y"><a href="guide_platforms_android_webview.md.html">(see details)</a></td>
+        <td data-col="blackberry" class="n"></td>
+        <td data-col="blackberry10" class="n"></td>
+        <td data-col="ios"        class="y"><a href="guide_platforms_ios_webview.md.html">(see details)</a></td>
+        <td data-col="winphone7"  class="n"></td>
+        <td data-col="winphone8"  class="n"></td>
+        <td data-col="win8"       class="n"></td>
+        <td data-col="tizen"       class="n"></td>
+    </tr>
+
+    <tr>
+        <th><a href="guide_hybrid_plugins_index.md.html">Plug-in<br/>Interface</a></th>
+        <td data-col="android"    class="y"><a href="guide_guide_platforms_android_plugin.md.html">(see details)</a></td>
+        <td data-col="blackberry" class="y"><a href="guide_guide_platforms_blackberry_plugin.md.html">(see details)</a></td>
+        <td data-col="blackberry10" class="y"><a href="guide_guide_platforms_blackberry10_plugin.md.html">(see details)</a></td>
+        <td data-col="ios"        class="y"><a href="guide_guide_platforms_ios_plugin.md.html">(see details)</a></td>
+        <td data-col="winphone7"  class="y"><a href="guide_guide_platforms_wp8_plugin.md.html">(see details)</a></td>
+        <td data-col="winphone8"  class="y"></td>
+        <td data-col="win8"       class="n"></td>
+        <td data-col="tizen"       class="n"></td>
+    </tr>
+
+    <tr>
+        <th></th>
+        <th colspan="20">Platform APIs</th>
+    </tr>
+
+    <tr>
+        <th><a href="cordova_accelerometer_accelerometer.md.html">Accelerometer</a></th>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry" class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="winphone7"  class="y"></td>
+        <td data-col="winphone8"  class="y"></td>
+        <td data-col="win8"       class="y"></td>
+        <td data-col="tizen"       class="y"></td>
+    </tr>
+
+    <tr>
+        <th><a href="cordova_camera_camera.md.html">Camera</a></th>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry" class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="winphone7"  class="y"></td>
+        <td data-col="winphone8"  class="y"></td>
+        <td data-col="win8"       class="y"></td>
+        <td data-col="tizen"       class="y"></td>
+    </tr>
+
+    <tr>
+        <th><a href="cordova_media_capture_capture.md.html">Capture</a></th>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry" class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="winphone7"  class="y"></td>
+        <td data-col="winphone8"  class="y"></td>
+        <td data-col="win8"       class="n"></td>
+        <td data-col="tizen"       class="n"></td>
+    </tr>
+
+    <tr>
+        <th><a href="cordova_compass_compass.md.html">Compass</a></th>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry" class="n"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="ios"        class="y">(3GS+)</td>
+        <td data-col="winphone7"  class="y"></td>
+        <td data-col="winphone8"  class="y"></td>
+        <td data-col="win8"       class="y"></td>
+        <td data-col="tizen"       class="y"></td>
+    </tr>
+
+    <tr>
+        <th><a href="cordova_connection_connection.md.html">Connection</a></th>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry" class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="winphone7"  class="y"></td>
+        <td data-col="winphone8"  class="y"></td>
+        <td data-col="win8"       class="y"></td>
+        <td data-col="tizen"       class="y"></td>
+    </tr>
+
+    <tr>
+        <th><a href="cordova_contacts_contacts.md.html">Contacts</a></th>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry" class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="winphone7"  class="y"></td>
+        <td data-col="winphone8"  class="y"></td>
+        <td data-col="win8"       class="y"></td>
+        <td data-col="tizen"       class="n"></td>
+    </tr>
+
+    <tr>
+        <th><a href="cordova_device_device.md.html">Device</a></th>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry" class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="winphone7"  class="y"></td>
+        <td data-col="winphone8"  class="y"></td>
+        <td data-col="win8"       class="y"></td>
+        <td data-col="tizen"       class="y"></td>
+    </tr>
+
+    <tr>
+        <th><a href="cordova_events_events.md.html">Events</a></th>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry" class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="winphone7"  class="y"></td>
+        <td data-col="winphone8"  class="y"></td>
+        <td data-col="win8"       class="y"></td>
+        <td data-col="tizen"       class="y"></td>
+    </tr>
+
+    <tr>
+        <th><a href="cordova_file_file.md.html">File</a></th>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry" class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="winphone7"  class="p">no FileTransfer</td>
+        <td data-col="winphone8"  class="p">no FileTransfer</td>
+        <td data-col="win8"       class="y"></td>
+        <td data-col="tizen"       class="n"></td>
+    </tr>
+
+    <tr>
+        <th><a href="cordova_geolocation_geolocation.md.html">Geolocation</a></th>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry" class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="winphone7"  class="y"></td>
+        <td data-col="winphone8"  class="y"></td>
+        <td data-col="win8"       class="y"></td>
+        <td data-col="tizen"       class="y"></td>
+    </tr>
+
+    <tr>
+        <th><a href="cordova_globalization_globalization.md.html">Globalization</a></th>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry" class="y"></td>
+        <td data-col="blackberry10" class="n"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="winphone7"  class="n"></td>
+        <td data-col="winphone8"  class="y"></td>
+        <td data-col="win8"       class="n"></td>
+        <td data-col="tizen"       class="n"></td>
+    </tr>
+
+    <tr>
+        <th><a href="cordova_inappbrowser_inappbrowser.md.html">InAppBrowser</a></th>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry" class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="winphone7"  class="y"></td>
+        <td data-col="winphone8"  class="y"></td>
+        <td data-col="win8"       class="n"></td>
+        <td data-col="tizen"       class="n"></td>
+    </tr>
+
+    <tr>
+        <th><a href="cordova_media_media.md.html">Media</a></th>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry" class="n"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="winphone7"  class="y"></td>
+        <td data-col="winphone8"  class="y"></td>
+        <td data-col="win8"       class="y"></td>
+        <td data-col="tizen"       class="y"></td>
+    </tr>
+
+    <tr>
+        <th><a href="cordova_notification_notification.md.html">Notification</a></th>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry" class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="winphone7"  class="y"></td>
+        <td data-col="winphone8"  class="y"></td>
+        <td data-col="win8"       class="y"></td>
+        <td data-col="tizen"       class="y"></td>
+    </tr>
+
+    <tr>
+        <th><a href="cordova_splashscreen_splashscreen.md.html">Splashscreen</a></th>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry" class="n"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="winphone7"  class="y"></td>
+        <td data-col="winphone8"  class="y"></td>
+        <td data-col="win8"       class="y"></td>
+        <td data-col="tizen"       class="n"></td>
+    </tr>
+
+    <tr>
+        <th><a href="cordova_storage_storage.md.html">Storage</a></th>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry" class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="winphone7"  class="p">localStorage only</td>
+        <td data-col="winphone8"  class="p">localStorage only</td>
+        <td data-col="win8"       class="y"></td>
+        <td data-col="tizen"       class="y"></td>
+    </tr>
+
+</tbody>
+</table>
+
+<!-- END HTML -->

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/4b231e9b/docs/en/3.1.0/guide/platforms/android/config.md
----------------------------------------------------------------------
diff --git a/docs/en/3.1.0/guide/platforms/android/config.md b/docs/en/3.1.0/guide/platforms/android/config.md
new file mode 100644
index 0000000..f30886c
--- /dev/null
+++ b/docs/en/3.1.0/guide/platforms/android/config.md
@@ -0,0 +1,66 @@
+---
+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.
+---
+
+# Android Configuration
+
+The `config.xml` file controls an app's basic settings that apply
+across each application and CordovaWebView instance. This section
+details preferences that only apply to Android builds. See The
+config.xml File for information on global configuration options.
+
+- `KeepRunning` (boolean, defaults to `true`): Determines whether the
+  application stays running in the background even after a `pause`
+  event fires.
+
+        <preference name="KeepRunning" value="false"/>
+
+- `ErrorUrl`: Specifies an error page that displays in response to
+  standard HTTP errors in the 400-500 range. Place the specified file
+  in the top-level directory containing the home page and other web
+  assets.
+
+        <preference name="ErrorUrl" value="error.html"/>
+
+- `LoadingDialog`: Display a native dialog when loading the app. The
+  value's format is _Title, Message_
+
+        <preference name="LoadingDialog" value="Please wait, the app is loading"/>
+
+- `LoadingPageDialog`: Display a native dialog when loading sub-pages
+  within an app. The value's format is _Title, Message_
+
+        <preference name="LoadingPageDialog" value="Please wait, the data is loading"/>
+
+- `LoadUrlTimeoutValue` (number, default is `20000`): When loading a
+  page, the amount of time to wait before throwing a timeout error.
+  This example specifies 10 seconds rather than 20:
+
+        <preference name="LoadUrlTimeoutValue" value="10000"/>
+
+- `SplashScreen`: The name of the file minus its extension in the
+  `res/drawable` directory.  Various assets must share this common
+  name in various subdirectories.
+
+        <preference name="SplashScreen" value="splash"/>
+
+- `SplashScreenDelay` (number, defaults to `5000`): The amount of
+  time the splash screen image displays.
+
+        <preference name="SplashScreenDelay" value="10000"/>
+

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/4b231e9b/docs/en/3.1.0/guide/platforms/android/index.md
----------------------------------------------------------------------
diff --git a/docs/en/3.1.0/guide/platforms/android/index.md b/docs/en/3.1.0/guide/platforms/android/index.md
new file mode 100644
index 0000000..4e42f50
--- /dev/null
+++ b/docs/en/3.1.0/guide/platforms/android/index.md
@@ -0,0 +1,211 @@
+---
+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.
+---
+
+# Android Platform Guide
+
+This guide shows how to set up your SDK development environment to
+deploy Cordova apps for Android devices. See the following for more
+detailed platform-specific information:
+
+* Android Configuration
+* Android WebViews
+* Android Plugins
+* Upgrading Android
+* Android Command-line Tools
+
+The command-line tools above refer to versions prior to Cordova 3.0.
+See The Command-line Interface for information about the
+current interface.
+
+## Requirements and Support
+
+See the [System Requirements](http://developer.android.com/sdk/index.html)
+for the Android SDK.
+
+Cordova supports Android 2.2, 2.3, and 4.x.  As a general rule,
+platforms are deprecated as they dip below 5% on Google's
+[distribution dashboard](http://developer.android.com/about/dashboards/index.html).
+
+<!--
+NOTE, doc said:
+- Android 2.1 (Deprecated May 2013)
+- Android 3.x (Deprecated May 2013)
+-->
+
+Developers should use the `cordova` utility in conjunction with
+the Android SDK.  See The Command-line Interface for
+information how to install it, add projects, then build and deploy a
+project.
+
+## Install the SDK
+
+Install the Android SDK from
+[developer.android.com/sdk](http://developer.android.com/sdk/).  You
+may be presented with a choice of where to install the SDK, otherwise
+move the downloaded `adt-bundle` tree to wherever you store
+development tools.
+
+For Cordova command-line tools to work, you need to include the SDK's
+`tools` and `platform-tools` directories in your PATH environment.  On
+Mac, you can use a text editor to create or modify the
+`~/.bash_profile` file, adding a line such as the following, depending
+on where the SDK installs:
+
+    export PATH=${PATH}:/Development/adt-bundle/sdk/platform-tools:/Development/adt-bundle/sdk/tools
+
+This exposes SDK tools in newly opened terminal windows. Otherwise run
+this to make them available in the current session:
+
+    $ source ~/.bash_profile
+
+To modify the PATH environment on Windows 7:
+
+* Click on the __Start__ menu in the lower-left corner of the desktop,
+  right-click on __Computer__, then click __Properties__.
+
+* Click __Advanced System Settings__ in the column on the left.
+
+* In the resulting dialog box, press __Environment Variables__.
+
+* Select the __PATH__ variable and press __Edit__.
+
+* Append the following to the PATH based on where you installed the
+  SDK, for example:
+
+        ;C:\Development\adt-bundle\sdk\platform-tools;C:\Development\adt-bundle\sdk\tools
+
+* Save the value and close both dialog boxes.
+
+You may also need to enable Java and Ant. Open a command prompt and
+type `java`, and also type `ant`. Append to the PATH whichever fail to
+run:
+
+        ;%JAVA_HOME%\bin;%ANT_HOME%\bin
+
+## Open a Project in the SDK
+
+Use the `cordova` utility to set up a new project, as described in The
+Cordova The Command-line Interface. For example, in a source-code directory:
+
+        $ cordova create hello com.example.hello "HelloWorld"
+        $ cd hello
+        $ cordova platform add android
+        $ cordova build
+
+Once created, here's how to use the SDK to modify it:
+
+* Launch the __Eclipse__ application.
+
+* Select the __New Project__ menu item.
+
+* Choose __Android Project from Existing Code__ from the resulting dialog box, and press __Next__:
+    ![](img/guide/platforms/android/eclipse_new_project.png)
+
+* Navigate to `hello`, or whichever directory you created for the project, then to the `platforms/android` subdirectory.
+
+* Press __Finish__.
+
+Once the Eclipse window opens, a red __X__ may appear to indicate
+unresolved problems. If so, follow these additional steps:
+
+* Right-click on the project directory.
+
+* In the resulting __Properties__ dialog, select __Android__ from the navigation pane.
+
+* For the project build target, select the highest Android API level you have installed.
+
+* Click __OK__.
+
+* Select __Clean__ from the __Project__ menu. This should correct all the errors in the project.
+
+## Deploy to Emulator
+
+You can use the `cordova` utility to run an app in an emulator, or you
+can run it within the SDK.  Either way, the SDK must first be
+configured to display at least one device. To do so, use the Android
+SDK Manager, a Java application that runs separately from Eclipse.
+There are two ways to open it:
+
+* Run `android` on the command line.
+
+* From within Eclipse, press this toolbar icon:
+
+  ![](img/guide/platforms/android/eclipse_android_sdk_button.png)
+
+Once open, the Android SDK Manager displays various runtime libraries:
+
+![](img/guide/platforms/android/asdk_window.png)
+
+Choose __Tools &rarr; Manage AVDs__ (Android Virtual Devices), then
+choose any item from __Device Definitions__ in the resulting dialog
+box:
+
+![](img/guide/platforms/android/asdk_device.png)
+
+Press __Create AVD__, optionally modifying the name, then press __OK__
+to accept the changes:
+
+![](img/guide/platforms/android/asdk_newAVD.png)
+
+The AVD then appears in the __Android Virtual Devices__ list:
+
+![](img/guide/platforms/android/asdk_avds.png)
+
+To open the emulator as a separate application, select the AVD and
+press __Start__. It launches much as it would on the device, with
+additional controls available for hardware buttons:
+
+![](img/guide/platforms/android/asdk_emulator.png)
+
+At this point you can use the `cordova` utility to deploy the
+application to the emulator from the command line:
+
+        $ cordova emulate android
+
+If instead you are working within Eclipse, right-click the project and
+choose __Run As &rarr; Android Application__. You may be asked to
+specify an AVD if none are already open.
+
+For a faster experience, use an Intel-based emulator image:
+
+* Install one or more `Intel x86 Atom` System Images as well as the
+  `Intel Hardware Accelerated Execution Manager`, available under
+  __Extras__.
+
+* Run the Intel installer, which is available within your Android SDK
+  at `extras/intel/Hardware_Accelerated_Execution_Manager`.
+
+* Create a new AVD with the target set to an Intel image.
+
+* When starting the emulator, ensure there are no error messages
+  indicating a failure to load HAX modules.
+
+## Deploy to Device
+
+To push an app directly to the device, make sure USB debugging is
+enabled on your device as described on the
+[Android Developer Site](http://developer.android.com/tools/device.html),
+and use a mini USB cable to plug it into your system.
+
+You can push the app to the device from the command line:
+
+        $ cordova run android
+
+Alternately within Eclipse, right-click the project and choose __Run
+As &rarr; Android Application__.