You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by st...@apache.org on 2014/10/16 23:40:03 UTC

[2/7] updated upgrading guides

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/0b0e5143/docs/en/4.0.0/guide/platforms/win8/index.md
----------------------------------------------------------------------
diff --git a/docs/en/4.0.0/guide/platforms/win8/index.md b/docs/en/4.0.0/guide/platforms/win8/index.md
new file mode 100644
index 0000000..52ff85a
--- /dev/null
+++ b/docs/en/4.0.0/guide/platforms/win8/index.md
@@ -0,0 +1,235 @@
+---
+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.
+---
+
+# Windows Platform Guide
+
+This guide shows how to set up your SDK development environment to build 
+and deploy Cordova apps for Windows 8, Windows 8.1 and Windows Phone 8.1.
+It shows how to use either shell tools to generate and build apps, or 
+the cross-platform Cordova CLI discussed in The Command-Line Interface.
+(See the Overview for a comparison of these development options.) This
+section also shows how to modify Cordova apps within Visual Studio.
+Regardless of which approach you take, you need to install the 
+Visual Studio SDK, as described below.
+
+See Upgrading Windows 8 for information on how to upgrade existing
+Windows 8 Cordova projects.
+
+Window Phone 8 (wp8) stays as a separate platform,
+see Windows Phone 8 Platform Guide for details.
+
+Cordova WebViews running on Windows rely on Internet Explorer 10 (Windows 8)
+and Internet Explorer 11 (Windows 8.1 and Windows Phone 8.1) as
+their rendering engine, so as a practical matter you can use IE's
+powerful debugger to test any web content that doesn't invoke Cordova
+APIs.  The Windows Phone Developer Blog provides
+[helpful guidance](http://blogs.windows.com/windows_phone/b/wpdev/archive/2012/11/15/adapting-your-webkit-optimized-site-for-internet-explorer-10.aspx)
+on how to support IE along with comparable WebKit browsers.
+
+## Requirements and Support
+
+You need one of the following OS/SDK combinations, either from an
+installation disk or an _ISO_ disk image file.
+
+To develop apps for Windows 8.0 only:
+
+- Windows 8.0 or 8.1, 32 or 64-bit _Home_, _Pro_, or _Enterprise_
+  editions, along with
+  [Visual Studio 2012 Express](http://www.visualstudio.com/downloads).
+
+To develop apps for all platforms (Windows 8.0, Windows 8.1 and Windows Phone 8.1):
+
+- Windows 8.1, 32 or 64-bit _Home_, _Pro_, or _Enterprise_ editions,
+  along with 
+  [Visual Studio 2013 Express](http://www.visualstudio.com/downloads)
+  or higher. An evaluation version of Windows 8.1 Enterprise is
+  available from the
+  [Microsoft Developer Network](http://msdn.microsoft.com/en-US/evalcenter/jj554510).
+
+Apps compiled under Windows 8.1 do _not_ run under Windows 8.0. Apps
+compiled under Windows 8.0 are forward-compatible with 8.1.
+
+  <!-- 64-bit necessary? Pro necessary? ELSE still recommended for parallel WP dev -->
+
+Follow the instructions at
+[windowsstore.com](http://www.windowsstore.com/)
+to submit the app to Windows Store.
+
+  <!-- true? -->
+
+To develop Cordova apps for Windows, you may use a PC running
+Windows, but you may also develop on a Mac, either by running a
+virtual machine environment or by using Boot Camp to dual-boot a
+Windows 8.1 partition. Consult these resources to set up the required
+Windows development environment on a Mac:
+
+- [VMWare Fusion](http://msdn.microsoft.com/en-US/library/windows/apps/jj945426)
+
+- [Parallels Desktop](http://msdn.microsoft.com/en-US/library/windows/apps/jj945424),
+  
+- [Boot Camp](http://msdn.microsoft.com/en-US/library/windows/apps/jj945423).
+  
+## Using Cordova Shell Tools
+
+If you want to use Cordova's Windows-centered shell tools in
+conjunction with the SDK, you have two basic options:
+
+- Access them locally from project code generated by the CLI. They are
+  available in the `platforms/windows/cordova` directory after you add
+  the `windows` platform as described below.
+
+- Download them from a separate distribution at
+  [cordova.apache.org](http://cordova.apache.org).  The Cordova
+  distribution contains separate archives for each platform.  Be sure
+  to expand the appropriate archive, `cordova-windows\windows` in
+  this case, within an empty directory.  The relevant batch utilities
+  are available in the top-level `bin` directory. (Consult the
+  __README__ file if necessary for more detailed directions.)
+
+These shell tools allow you to create, build, and run Windows apps.
+For information on the additional command-line interface that enables
+plugin features across all platforms, see Using Plugman to Manage
+Plugins.
+
+## Install the SDK
+
+Install the _Ultimate_, _Premium_, or _Professional_ 2013 editions of
+[Visual Studio](http://www.visualstudio.com/downloads).
+
+![](img/guide/platforms/win8/win8_installSDK.png)
+
+## Create a New Project
+
+At this point, to create a new project you can choose between the
+cross-platform CLI tool described in The Command-Line Interface, or
+the set of Windows-specific shell tools. From within a source-code
+directory, this CLI approach generates an app named _HelloWorld_
+within a new `hello` project directory:
+
+        > cordova create hello com.example.hello HelloWorld
+        > cd hello
+        > cordova platform add windows
+        > cordova build
+
+Here's the corresponding lower-level shell-tool approach:
+
+        C:\path\to\cordova-win\bin\create.bat C:\path\to\new\hello com.example.hello HelloWorld
+
+## Build the Project
+
+If you are using the CLI in development, the project directory's
+top-level `www` directory contains the source files. Run either of
+these within the project directory to rebuild the app:
+
+        > cordova build
+        > cordova build windows   # do not rebuild other platforms
+
+Once you generate the project, the default app's source is available in the
+`projects\windows\www` subdirectory. Subsequent commands are available in
+the `cordova` subdirectory at the same level.
+
+The `build` command cleans project files and rebuilds the app.  The first
+example generates debugging information, and the second signs the apps
+for release:
+
+        C:\path\to\project\cordova\build.bat --debug        
+        C:\path\to\project\cordova\build.bat --release
+
+The `clean` command helps flush out directories in preparation for the
+next `build`:
+
+        C:\path\to\project\cordova\clean.bat
+
+## Configure target Windows version
+
+By default `build` command produces two packages: Windows 8.0 and Windows Phone 8.1.
+To upgrade Windows package to version 8.1 the following configuration setting must be 
+added to configuration file (`config.xml`).
+
+        <preference name='windows-target-version' value='8.1' />
+
+Once you add this setting `build` command will start producing Windows 8.1 
+and Windows Phone 8.1 packages.
+
+## Deploy the app
+
+To deploy Windows Phone package:
+
+        > cordova run windows -- --phone  # deploy app to Windows Phone 8.1 emulator
+        > cordova run windows --device -- --phone  # deploy app to connected device
+
+To deploy Windows package:
+
+        > cordova run windows -- --win  # explicitly specify Windows as deployment target
+        > cordova run windows # `run` uses Windows package by default
+
+## Open the Project in the SDK and Deploy the App
+
+Once you build a Cordova app as described above, you can open it with
+Visual Studio. The various `build` commands generate a Visual Studio
+Solution (_.sln_) file. Open the file in the File Explorer to modify
+the project within Visual Studio:
+
+![](img/guide/platforms/win8/win8_sdk_openSLN.png)
+
+The `CordovaApp` component displays within the solution, and its `www`
+directory contains the web-based source code, including the
+`index.html` home page:
+
+![](img/guide/platforms/win8/win8_sdk.png)
+
+The controls below Visual Studio's main menu allow you to test or
+deploy the app:
+
+![](img/guide/platforms/win8/win8_sdk_deploy.png)
+
+With __Local Machine__ selected, press the green arrow to install the
+app on the same machine running Visual Studio. Once you do so, the app
+appears in Windows 8's app listings:
+
+![](img/guide/platforms/win8/win8_sdk_runApp.png)
+
+Each time you rebuild the app, the version available in the interface
+is refreshed.
+
+Once available in the app listings, holding down the __CTRL__ key
+while selecting the app allows you to pin it to the main screen:
+
+![](img/guide/platforms/win8/win8_sdk_runHome.png)
+
+Note that if you open the app within a virtual machine environment,
+you may need to click in the corners or along the sides of the windows
+to switch apps or access additional functionality:
+
+![](img/guide/platforms/win8/win8_sdk_run.png)
+
+Alternately, choose the __Simulator__ deployment option to view the
+app as if it were running on a tablet device:
+
+![](img/guide/platforms/win8/win8_sdk_sim.png)
+
+Unlike desktop deployment, this option allows you to simulate the
+tablet's orientation, location, and vary its network settings.
+
+__NOTE__: Consult the Overview for advice on how to use Cordova's
+command-line tools or the SDK in your workflow. The Cordova CLI relies
+on cross-platform source code that routinely overwrites the
+platform-specific files used by the SDK. If you want to use the SDK to
+modify the project, use the lower-level shell tools as an alternative
+to the CLI.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/0b0e5143/docs/en/4.0.0/guide/platforms/win8/plugin.md
----------------------------------------------------------------------
diff --git a/docs/en/4.0.0/guide/platforms/win8/plugin.md b/docs/en/4.0.0/guide/platforms/win8/plugin.md
new file mode 100644
index 0000000..c8f5956
--- /dev/null
+++ b/docs/en/4.0.0/guide/platforms/win8/plugin.md
@@ -0,0 +1,216 @@
+---
+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.
+---
+
+# Windows Plugins
+
+This section provides details for how to implement a plugin for use in 
+a Windows Store app. Before reading this, see Application Plugins for 
+an overview of the plugin's structure and its common JavaScript interface. 
+This section continues to demonstrate the sample _echo_ plugin that 
+communicates from the Cordova webview to the native platform and back.
+
+It is important to note that Windows supports developing directly in Javascript, which means developing the 'native' portions in only required in special cases.
+
+Creating a Windows Plugin in JavaScript
+---
+
+These instructions are to create a pure JavaScript plugin. Understanding this is crucial to understanding how to add the native/managed bits.
+
+Windows Cordova plugins are essentially a thin wrapper around existing WinJS provided functions, but assuming you will want to define your JS common interface for multiple devices, you will typically have 1 JS file that provides the API.
+
+    // inside file echoplugin.js
+    var EchoPlugin = {
+        // the echo function calls successCallback with the provided text in strInput
+        // if strInput is empty, it will call the errorCallback
+        echo:function(successCallback, errorCallback, strInput) {
+            cordova.exec(successCallback,errorCallback,"EchoPlugin","echo",[strInput]);
+        }
+    }
+
+Inside Cordova exec on Windows
+---
+
+The cordova.exec function is defined differently on every platform, this is because each platform has it's own way of communicating between the application js code, and the native wrapper code. But in the case of Windows, there is no native wrapper, so the exec call is there for consistency. You could do your js only plugin work directly in EchoPlugin.echo, something like :
+
+    // inside file echoplugin.js ( this is what NOT to do if you want to reuse the JS API cross platform )
+    var EchoPlugin = {
+        echo:function(successCallback,errorCallback,strInput) {
+            if(!strInput || !strInput.length) {
+                errorCallback("Error, something was wrong with the input string. =>" + strInput);
+            }
+            else {
+                successCallback(strInput + "echo");
+            }
+        }
+    }
+
+This would/could work fine, however it means that you will need different versions of echoPlugin.js for different platforms, and possibly you could have issues with inconsistencies in your implementations. As a best practice, we decided to mimic a native API inside cordova.exec on Windows, so we could run the same JS code, and not have to rewrite it for the platform, and also take advantage of any parameter checking, or other common code provided by developers who were working on other platforms.
+
+The Cordova exec proxy
+---
+
+On Windows, cordova provides a proxy that you can use to register an object that will handle all cordova.exec calls to an API.
+
+For example if you wanted to provide the implementation for the Accelerometer API, you would do this :
+
+cordova.commandProxy.add("Accelerometer",{
+    start:function(){
+        // your code here ...
+    }
+    // ,
+    //  ... and the rest of the API here
+});
+
+So in our case, we will assume that the code in echoplugin.js is handling cross platform relevant JavaScript, and we can simply write a proxy for Windows
+
+    // in file echopluginProxy.js
+    cordova.commandProxy.add("EchoPlugin",{
+        echo:function(successCallback,errorCallback,strInput) {
+            if(!strInput || !strInput.length) {
+                errorCallback("Error, something was wrong with the input string. =>" + strInput);
+            }
+            else {
+                successCallback(strInput + "echo");
+            }
+        }
+    });
+
+The plugin definition
+
+If we want users of our plugin to be able to easily install our plugin, we will need to define it according to how PlugMan defines plugins. More on this in the [Plugin Spec](plugin_ref_spec.md.html#Plugin%20Specification)
+
+    <?xml version="1.0" encoding="UTF-8"?>
+    <plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
+        id="com.risingj.echoplugin"
+        version="0.1.0">
+
+        <js-module src="www/echoplugin.js" name="echoplugin">
+            <clobbers target="window.echoplugin" />
+        </js-module>
+
+        <!-- windows -->
+        <platform name="windows">
+            <js-module src="src/windows/echopluginProxy.js" name="EchoProxy">
+                <merges target="" />
+            </js-module>
+        </platform>
+
+        <!-- other platforms -->
+
+    </plugin>
+
+This gives us a working Windows JavaScript plugin that uses a common file ( echoplugin.js ) and uses a proxy to provide the Windows only portion of implementation ( echopluginProxy.js ). So how do we add native/managed code to this? Well we are going to start the same, the only difference will be what we do inside in echopluginProxy methods.
+
+How WinJS accesses native/managed code
+===
+
+
+In Windows, WinJS authored apps are able to interact with native code, this inter-op is available for Windows Runtime Components. The details are numerous, and this guide will only cover the basics. Microsoft provides much more info [here](http://msdn.microsoft.com/en-us/library/windows/apps/hh441569.aspx).
+
+When you create your Windows Runtime Component, any class that is defined as 'public ref class sealed' is considered an 'activatable class' and will be callable from JavaScript.
+
+    // in your header file .h
+    namespace EchoRuntimeComponent
+    {
+        public ref class EchoPluginRT sealed 
+        {
+            public:
+            static Platform::String^ Echo(Platform::String^ input);
+        }
+    }
+
+    // in the implementation file .cpp
+    using namespace EchoRuntimeComponent;
+    using namespace Platform;
+
+    Platform::String^ EchoPluginRT::Echo(Platform::String^ input)
+    {
+        if(input->IsEmpty()) 
+        {
+            return "Error: input string is empty.";
+        }
+        else
+        {
+            return input->ToString() + "echo";
+        }
+    }
+
+Now in order for us to call the native code, we use the namespace, classname, and lowerCamelCase the method we are calling.
+
+var res = EchoRuntimeComponent.EchoPluginRT.echo("boom");
+Moving this to our echopluginProxy.js file, we get this :
+
+    // in file echopluginProxy.js
+    cordova.commandProxy.add("EchoPlugin",{
+        echo:function(successCallback,errorCallback,strInput) {
+            var res = EchoRuntimeComponent.EchoPluginRT.echo(strInput);
+            if(res.indexOf("Error") == 0) {
+                errorCallback(res);
+            }
+            else {
+                successCallback(res);
+            }
+        }
+    });
+
+And that's it, we have an end to end C++ backed js callable plugin for use in Apache Cordova Windows!
+
+Some technical notes:
+===
+
+- the callback is typically async, so calling the callback right away is probably not expected by the caller. In practice, if the call is not async, you should at least use a javascript timeout to force the callback to be called async.
+- Activatable classes can do all kinds of awesome, like event dispatching, async callbacks, passing your own object types, arrays, collections, overloaded methods and much more. I recommend you do your homework.
+- If you stick to common Windows Phone 8.0 and Windows SDK API calls, you will be able to use the same runtime component ( native or managed bits ) in a Windows Phone 8.0 Apache Cordova plugin. ~stay tuned for that post.
+
+Defining your plugin
+===
+
+Now that we have a working plugin, we need to revisit the plugin definition from earlier so we can publish it. We can now add the runtime component as a framework.
+Note that the output type of a WindowsRuntimeComponent can be either .winmd or .dll
+
+    <?xml version="1.0" encoding="UTF-8"?>
+    <plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
+        id="com.risingj.echoplugin"
+        version="0.2.0">
+
+        <js-module src="www/echoplugin.js" name="echoplugin">
+            <clobbers target="window.echoplugin" />
+        </js-module>
+
+        <!-- windows -->
+        <platform name="windows">
+            <js-module src="src/windows/echopluginProxy.js" name="EchoProxy">
+                <merges target="" />
+            </js-module>
+            <framework src="src/windows/EchoRuntimeComponent.winmd" custom="true"/>
+        </platform>
+
+        <!-- other platforms -->
+
+    </plugin>
+
+That's it, you now have a distributable plugin that you can share with the world!
+One thing to note, support for adding frameworks to Windows Cordova project was only recently added so you will need to make sure your cordova tooling current.  The cordova-cli and cordova-plugman both support adding removing native backed plugins.
+
+\> cordova plugin add com.risingj.echoplugin
+or
+\> plugman install --platform windows --plugin com.risingj.echoplugin --project .
+
+https://github.com/purplecabbage/cordova-runtimecomp-echoplug
+

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/0b0e5143/docs/en/4.0.0/guide/platforms/win8/upgrade.md
----------------------------------------------------------------------
diff --git a/docs/en/4.0.0/guide/platforms/win8/upgrade.md b/docs/en/4.0.0/guide/platforms/win8/upgrade.md
new file mode 100644
index 0000000..b457f2c
--- /dev/null
+++ b/docs/en/4.0.0/guide/platforms/win8/upgrade.md
@@ -0,0 +1,61 @@
+---
+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 Windows 8
+
+This guide shows how to modify Windows 8 projects to upgrade from older versions of Cordova.
+Most of these instructions apply to projects created with an older set
+of command-line tools that precede the `cordova` CLI utility. See The Command-Line Interface for information how to update the
+version of the CLI.
+
+## Upgrade to 4.0.0 from 3.1.0 or later
+
+For projects that were created with the cordova CLI: 
+
+1. Update the `cordova` CLI version. See The Command-Line Interface. 
+
+2. Run `cordova platform update windows8`.
+        
+For projects not created with the cordova CLI, run:
+
+        bin\update <project_path>
+
+## Upgrade to 3.1.0
+
+Cordova CLI support for Windows 8 was introduced in Cordova 3.1.0. To upgrade, we suggest creating a new Cordova CLI project and moving over all necessary assets.  
+
+## Upgrade to 2.9.0 from 2.8.0
+
+The following commands should be done from within Visual Studio to be sure that the any project references are updated/deleted.
+
+1. Remove `cordova-2.8.0.js` from the project's `www` directory.
+
+2. Add `cordova.js` file from the source to the project's `www` directory. (Note that the file no longer contains a version number in the filename.)
+
+3. Build and test!
+
+## Upgrade to 2.8.0 from 2.7.0
+
+The following commands should be done from within Visual Studio to be sure that the any project references are updated/deleted.
+
+1. Remove `cordova-2.7.0.js` from the project's `www` directory. 
+
+2. Add `cordova.js` file from the source to the project's `www` directory. (Note that the file no longer contains a version number in the filename.)
+
+3. Build and test!

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/0b0e5143/docs/en/4.0.0/guide/platforms/wp8/index.md
----------------------------------------------------------------------
diff --git a/docs/en/4.0.0/guide/platforms/wp8/index.md b/docs/en/4.0.0/guide/platforms/wp8/index.md
new file mode 100644
index 0000000..3828c26
--- /dev/null
+++ b/docs/en/4.0.0/guide/platforms/wp8/index.md
@@ -0,0 +1,249 @@
+---
+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.
+---
+
+# Windows Phone 8 Platform Guide
+
+This guide shows how to set up your SDK development environment to
+deploy Cordova apps for Windows Phone devices.  It focuses on Windows
+Phone 8, but provides additional details on how to support Windows
+Phone 7.
+
+It shows how to use either Windows Phone-specific shell tools to
+generate and build apps, or the cross-platform Cordova CLI discussed
+in The Command-Line Interface.  (See the Overview for a comparison of
+these development workflows.) This section also shows how to open
+Cordova apps so that you can modify them within Visual Studio.
+Regardless of which approach you take, you need to install the Windows
+Phone SDK, as described below.
+
+See the following for details specific to the Windows Phone platform:
+
+- Windows Phone 8 Plugins
+- Upgrading Windows Phone 8
+
+For the Windows Phone 8 platform, the Cordova WebView relies on
+Internet Explorer 10 as its rendering engine, so as a practical matter
+you can use IE10's powerful debugger to test any web content that
+doesn't invoke Cordova APIs.  The Windows Phone Developer Blog
+provides
+[helpful guidance](http://blogs.windows.com/windows_phone/b/wpdev/archive/2012/11/15/adapting-your-webkit-optimized-site-for-internet-explorer-10.aspx)
+on how to support IE10 along with comparable WebKit browsers.
+
+## Requirements and Support
+
+You need the following:
+
+- A 64-bit version of Windows 8 Pro, either an installation disk or an
+  _ISO_ disk image file. An evaluation version is available on the
+  [Microsoft Developer Network](http://msdn.microsoft.com/en-US/evalcenter/jj554510).
+  The Pro version is necessary to run the device emulator.
+
+- The [Windows Phone SDK](https://dev.windowsphone.com/en-us/downloadsdk).
+
+To develop Cordova apps for Windows Phone devices, you may use a PC
+running Windows, but you may also develop on a Mac, either by running
+a virtual machine environment or by using Boot Camp to dual-boot a
+Windows partition. Consult these resources to set up the required
+Windows development environment on a Mac:
+
+- __VMWare Fusion__: To set up the Windows 8 virtual machine, follow
+  the instructions provided by the
+  [Microsoft Developer Network](http://msdn.microsoft.com/en-US/library/windows/apps/jj945426),
+  then see Configuring VMWare Fusion for information on preparing the
+  virtual environment to run the emulator bundled with the SDK.
+
+- __Parallels Desktop__: To set up the Windows 8 virtual machine,
+  follow the instructions provided by the
+  [Microsoft Developer Network](http://msdn.microsoft.com/en-US/library/windows/apps/jj945424),
+  then see Configuring Parallels Desktop for information on preparing
+  the virtual environment to run the emulator bundled with the SDK.
+  
+<!--
+- __VirtualBox__: To set up the Windows 8 virtual machine, follow the
+  installation instructions provided by the [Microsoft Developer
+  Network](http://msdn.microsoft.com/en-US/library/windows/apps/jj945425).
+
+  2DO: virtualBox doesn't work yet; any extra config info?
+-->
+
+- __Boot Camp__: To set up the Windows 8 partition, follow the
+  installation instructions provided by the [Microsoft Developer
+  Network](http://msdn.microsoft.com/en-US/library/windows/apps/jj945423).
+  
+If you are developing on a PC, its processor must support
+virtualization (_VT-x_ on Intel) and [Second Level Address Translation
+(SLAT)](http://en.wikipedia.org/wiki/Second_Level_Address_Translation).
+Consult [Intel's list of supporting
+processors](http://ark.intel.com/Products/VirtualizationTechnology).
+Virtualization is typically disabled by default, so you need to enable
+it in your BIOS settings. The PC should have at least 6.5GB of free
+hard disk space, and 4GB of RAM.
+
+## Using Cordova Shell Tools
+
+If you want to use Cordova's Windows Phone-centered shell tools in
+conjunction with the SDK, you have two basic options:
+
+- Access them locally from project code generated by the CLI. They are
+  available in the `platforms/wp8/cordova` directory after you add the
+  `wp8` platform as described below.
+
+- Download them from a separate distribution at
+  [cordova.apache.org](http://cordova.apache.org).  The Cordova
+  distribution contains separate archives for each platform.  Be sure
+  to expand the appropriate archive, `cordova-wp8\wp8` in this case,
+  within an empty directory.  The relevant batch utilities are
+  available in the top-level `bin` directory. (Consult the __README__
+  file if necessary for more detailed directions.)
+
+These shell tools allow you to create, build, and run Windows Phone
+apps.  For information on the additional command-line interface that
+enables plugin features across all platforms, see Using Plugman to
+Manage Plugins. See Application Plugins for guidance on how to develop
+plugins, and Windows Phone 8 Plugins for details specific to the Windows
+Phone platform.
+
+## Install the SDK
+
+Install the latest version of the Windows Phone SDK from the
+__Downloads__ area of
+[dev.windowsphone.com](https://dev.windowsphone.com/en-us/downloadsdk).
+You may also install more recent emulator update packages.
+
+![](img/guide/platforms/wp8/wp8_downloadSDK.png)
+
+## Create a New Project
+
+At this point, to create a new project you can choose between the
+cross-platform CLI tool described in The Command-Line Interface, or
+the set of Windows Phone-specific shell tools. From within a
+source-code directory, here's the CLI approach:
+
+        > cordova create hello com.example.hello HelloWorld
+        > cd hello
+        > cordova platform add wp8
+
+Here's the corresponding lower-level shell-tool approach:
+
+        C:\path\to\cordova-wp8\bin\create.bat C:\path\to\new\hello com.example.hello HelloWorld
+
+## Build the Project
+
+If you are using the CLI in development, the project directory's
+top-level `www` directory contains the source files. Run either of
+these within the project directory to rebuild the app:
+
+        > cordova build
+        > cordova build wp8   # do not rebuild other platforms
+
+If you are using the Windows Phone-specific shell tools in
+development, there is a different approach.  Once you generate the
+project, the default app's source is available in the
+`projects\wp8\www` subdirectory. Subsequent commands are available in
+the `cordova` subdirectory at the same level.
+
+The `build` command cleans project files and rebuilds the app.  The first
+example generates debugging information, and the second signs the apps
+for release:
+
+        C:\path\to\project\cordova\build.bat --debug        
+        C:\path\to\project\cordova\build.bat --release
+
+The `clean` command helps flush out directories in preparation for the
+next `build`:
+
+        C:\path\to\project\cordova\clean.bat
+
+## Deploy to Emulator
+
+At this point you can use the `cordova` CLI utility to deploy the
+application to the emulator from the command line:
+
+        > cordova emulate wp8
+
+Otherwise use the alternate shell interface:
+
+        C:\path\to\project\cordova\run
+
+By default, the `run` script invokes the emulator flag, and accepts
+additional build flags, for which `--debug` provides the default:
+
+        C:\path\to\project\cordova\run --emulator --debug
+        C:\path\to\project\cordova\run --emulator --release
+        C:\path\to\project\cordova\run --emulator --nobuild
+
+The emulator launches a device image with the app installed. From the
+home screen, navigate to the apps panel to launch the __HelloWorld__
+app. This shows the app launching with its splash screen followed by
+its main interface:
+
+![](img/guide/platforms/wp8/wp8_emulator.png)
+
+The emulator's basic controls on the top-right of the device screen
+allow you to toggle between portrait and landscape orientation. The
+__>>__ button opens more controls that allow you to test more complex
+orientations and gestures:
+
+![](img/guide/platforms/wp8/wp8_emulator_orient.png)
+
+These advanced controls also allow you to modify the device's
+location or to simulate sequences of movements:
+
+![](img/guide/platforms/wp8/wp8_emulator_loc.png)
+
+## Deploy to Device
+
+Before testing your application on a device, the device must be
+registered. Consult [Microsoft's
+documentation][1]
+for details on how to deploy and test on Windows Phone 8. Also, make
+sure the phone is connected to the computer, and the screen is
+unlocked.
+
+Then run the following CLI command to run the app on the device:
+
+    > cordova run wp8
+
+It corresponds to this lower-level shell command:
+
+    C:\path\to\project\cordova\run --device
+
+Alternately, if you are working in Visual Studio, select __Windows
+Phone Device__ from the drop-down menu at the top, then press the
+green __Play__ button nearby or else type __F5__.
+
+## Modify the Project in the SDK
+
+Once you build a Cordova app as described above, you can open it with
+the SDK. The various `build` commands generates a Visual Studio
+Solution (_.sln_) file. Open the file to modify the project within
+Visual Studio. The web-based source code is available within the
+project's `www` directory. Along with other tools the SDK provides,
+the control below the menu allows you to launch the app in a Windows
+Phone emulator:
+
+![](img/guide/platforms/wp8/wp8_vs.png)
+
+Consult the Overview for advice on how to use Cordova's command-line
+tools or the SDK in your workflow. The Cordova CLI relies on
+cross-platform source code that routinely overwrites the
+platform-specific files used by the SDK. If you want to work within
+the SDK, use the lower-level shell tools as an alternative to the CLI.
+
+[1]: http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff402565.aspx

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/0b0e5143/docs/en/4.0.0/guide/platforms/wp8/parallels.md
----------------------------------------------------------------------
diff --git a/docs/en/4.0.0/guide/platforms/wp8/parallels.md b/docs/en/4.0.0/guide/platforms/wp8/parallels.md
new file mode 100644
index 0000000..c023209
--- /dev/null
+++ b/docs/en/4.0.0/guide/platforms/wp8/parallels.md
@@ -0,0 +1,46 @@
+---
+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.
+---
+
+# Configuring Parallels Desktop
+
+This section shows how to configure Parallels Desktop on a Mac so that
+you can use Cordova to generate Windows Phone applications.
+
+The
+[Microsoft Developer Network](http://msdn.microsoft.com/en-US/library/windows/apps/jj945424)
+provides general instructions for how to run Windows under Parallels
+Desktop. After installing Windows, follow these steps:
+
+1. Within Parallels Desktop, select the Windows 8 disk image you have
+   prepared, and choose __Settings__.
+
+1. Choose the __General &rarr; CPUs__ options. Specify _two_ CPUs.
+   Specify at least 2GB of memory, even if it falls outside the
+   recommended range:
+
+   ![](img/guide/platforms/wp8/parallel_cpu_opts.png)
+
+1. To be able to run the device emulator image within the Windows 8
+   virtual machine, choose the __Optimizations__ options and enable
+   __Nested Virtualization__.
+
+   ![](img/guide/platforms/wp8/parallel_optimize_opts.png)
+
+Once you complete these steps, you are ready to install the Windows
+Phone SDK.  See the Windows Phone 8 Platform Guide for details.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/0b0e5143/docs/en/4.0.0/guide/platforms/wp8/plugin.md
----------------------------------------------------------------------
diff --git a/docs/en/4.0.0/guide/platforms/wp8/plugin.md b/docs/en/4.0.0/guide/platforms/wp8/plugin.md
new file mode 100644
index 0000000..b86a558
--- /dev/null
+++ b/docs/en/4.0.0/guide/platforms/wp8/plugin.md
@@ -0,0 +1,235 @@
+---
+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.
+---
+
+# Windows Phone 8 Plugins
+
+This section provides details for how to implement native plugin code
+on the Windows Phone platform. Before reading this, see Application
+Plugins for an overview of the plugin's structure and its common
+JavaScript interface. This section continues to demonstrate the sample
+_echo_ plugin that communicates from the Cordova webview to the native
+platform and back.
+
+Writing a plugin for Cordova on Windows Phone requires a basic
+understanding of Cordova's architecture. Cordova-WP8 consists of a
+`WebBrowser` that hosts the application's JavaScript code and manages
+native API calls. You can extend a C# `BaseCommand` class
+(`WPCordovaClassLib.Cordova.Commands.BaseCommand`), which comes with
+most of the functionality you need:
+
+1. Select your project, and right-click to choose __Add &rarr; New
+   Item...__ If you wish, you can add it to the `Plugins` folder.
+
+2. Select __Class__ and name it `Echo.cs`.  This class name must
+   _exactly_ match what you call specify as the service in the
+   `cordova.exec()` call on the JavaScript side.
+
+3. Include the base classes implementation:
+
+        using WPCordovaClassLib.Cordova;
+        using WPCordovaClassLib.Cordova.Commands;
+        using WPCordovaClassLib.Cordova.JSON;
+
+4. Extend your class from `BaseCommand`:
+
+        public class Echo : BaseCommand
+        {
+            // ...
+        }
+
+5. Add an `echo` method that is callable from JavaScript:
+
+        public class Echo : BaseCommand
+        {
+            public void echo(string options)
+            {
+                // all JS callable plugin methods MUST have this signature!
+                // public, returning void, 1 argument that is a string
+            }
+        }
+
+See the
+[BaseCommand.cs](https://github.com/apache/cordova-wp8/blob/master/wp8/template/cordovalib/Commands/BaseCommand.cs)
+class for methods available for the plugin to override.  For example,
+the plugin can capture 'pause' and 'resume' events.
+
+## Namespaces
+
+The default namespace for unqualified commands is:
+
+        namespace Cordova.Extension.Commands
+        {
+            // ...
+        }
+
+If you want to specify your own namespace, you need to make a fully
+qualified call to `cordova.exec`. For example, if you want to define
+your C# class like this:
+
+        namespace com.mydomain.cordovaExtensions
+        {
+            public class Echo : BaseCommand
+            {
+                // ...
+            }
+        }
+
+The JavaScript would need to call `exec` like this:
+
+        cordova.exec(win, fail, "com.mydomain.cordovaExtensions.Echo", ...);
+
+## Interpreting Arguments in C#
+
+In the example discussed in Application Plugins, the data your plugin
+receives is a string, but what if you want to pass an array of
+strings?  Suppose the JavaScript `cordova.exec` call is specified like
+this:
+
+        cordova.exec(win, fail, "Echo", "echo", ["input string"]);
+
+The value of `options` string passed to the `Echo.echo` method is
+JSON:
+
+        "[\"input string\"]"
+
+All JavaScript `exec` arguments are JSON-encoded before being passed
+into C#, and so need to be decoded:
+
+        string optVal = JsonHelper.Deserialize<string[]>(options)[0];
+        // optVal now has the value of "input string"
+
+## Passing Results from C# to JavaScript
+
+The `BaseCommand` class provides methods to pass data to JavaScript
+callback handlers.  If you simply want to signal success with no
+accompanying result, you can simply call:
+
+        DispatchCommandResult();
+        // calls back with an empty plugin result, considered a success callback
+
+To pass data back, you need to call `DispatchCommandResult`
+differently:
+
+        DispatchCommandResult(new PluginResult(PluginResult.Status.OK, "Everything went as planned, this is a result that is passed to the success handler."));
+
+Use an encoded JSON string to pass structured object data back to
+JavaScript:
+
+        DispatchCommandResult(new PluginResult(PluginResult.Status.OK, "{result:\"super awesome!\"}"));
+
+To signal an error, call `DispatchCommandResult` with a `PluginResult`
+object whose status is `ERROR`:
+
+        DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR, "Echo signaled an error"));
+
+## Handling Serialization Errors
+
+When interpreting your arguments, `try`/`catch` blocks help screen out
+bad input. This pattern appears throughout the Cordova C# code:
+
+        string optVal = null;
+
+        try
+        {
+            optVal = JsonHelper.Deserialize<string[]>(options)[0];
+        }
+        catch(Exception)
+        {
+            // simply catch the exception, we handle null values and exceptions together
+        }
+
+        if (optVal == null)
+        {
+            DispatchCommandResult(new PluginResult(PluginResult.Status.JSON_EXCEPTION));
+        }
+        else
+        {
+            // ... continue on to do our work
+        }
+
+## Plugin Lifetime
+
+Plugins with long-running requests, background activity such as media
+playback, listeners, or that maintain internal state should implement
+the `onReset` method to clean up those activities. The method runs
+when the CordovaView WebBrowser navigates to a new page or refreshes, which
+reloads the JavaScript.
+
+        // defined in WPCordovaClassLib.Cordova.Commands.BaseCommand
+        public virtual void OnReset() { }
+
+## Plugin XML
+
+The following shows how to use the `plugin.xml` file to specify a
+plugin's source files on the Windows Phone platform.  See Application
+Plugins for an overview, and Plugin Specification for details on
+available options.
+
+- The `<source-file>` element defines all plugin resources, such
+  as _.cs_, _.xaml_, _.xaml.cs_, and _.dll_ files, and image assets.
+
+- The `<config-file>` element defines elements to inject into a
+  configuration file. This example adds a plugin to the platform's
+  `config.xml` file:
+
+        <config-file target="config.xml" parent="/*">
+            <feature name="PluginName">
+                <param name="wp-package" value="PluginName"/>
+            </feature>
+        </config-file>
+
+  This example adds the contacts capability to the `WMAppManifest.xml`
+  file:
+
+        <config-file target="Properties/WMAppManifest.xml" parent="/Deployment/App/Capabilities">
+            <Capability Name="ID_CAP_CONTACTS" />
+        </config-file>
+
+## Debugging Plugins
+
+Use Visual Studio's debugger to debug a plugin's C# component. You can
+set a break point at any of the methods exposed by your class.
+
+JavaScript is more difficult to debug on Windows Phone. You need to
+use `console.log` to output the plugin's state, or to inform
+yourself of errors.
+
+## Common Pitfalls
+
+- Be careful not to pass arguments from JavaScript to the native side
+  that are difficult to deserialize as JSON. Most device platforms
+  expect the argument passed to `cordova.exec()` to be an array, such
+  as the following:
+
+        cordova.exec(win, fail, "ServiceName", "MethodName", ["this is a string", 54, {literal:'trouble'}]);
+
+  This may result in an overly complex string value for C# to decode:
+
+        "[\"this is a string\", 54, { literal:'trouble' }]"
+
+  Instead, consider converting _all_ parameters to strings before
+  calling `exec()`, and decoding each separately:
+
+        cordova.exec(win, fail, "ServiceName", "MethodName", ["this is a string", "54", "{literal:'trouble'}"]);
+        string[] optValues = JsonHelper.Deserialize<string[]>(options);
+
+- It is usually better to check parameters in JavaScript before
+  calling `exec()`. Doing so allows you to re-use more code and pull
+  unnecessary functionality from the plugin's various native
+  implementations.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/0b0e5143/docs/en/4.0.0/guide/platforms/wp8/upgrade.md
----------------------------------------------------------------------
diff --git a/docs/en/4.0.0/guide/platforms/wp8/upgrade.md b/docs/en/4.0.0/guide/platforms/wp8/upgrade.md
new file mode 100644
index 0000000..da00bce
--- /dev/null
+++ b/docs/en/4.0.0/guide/platforms/wp8/upgrade.md
@@ -0,0 +1,105 @@
+---
+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 Windows Phone 8
+
+This guide shows how to modify Windows Phone 8 projects, to upgrade from older versions of Cordova. Some of these
+instructions apply to projects created with an older set of
+command-line tools that precede the `cordova` CLI utility. See The
+Command-Line Interface for information how to update the version of
+the CLI.  The following section shows how to upgrade from non-CLI
+projects.
+
+## Upgrading 3.6.0 Projects to 4.0.0
+
+For non-CLI projects, run:
+
+        bin/update path/to/project
+        
+For CLI projects:
+
+1. Update the `cordova` CLI version. See The Command-Line Interface.
+
+2. Run `cordova platform update wp8` in your existing projects.
+
+
+## Upgrade to 3.2.0 from 3.1.0
+
+For projects that were created with the cordova CLI: 
+
+1. Update the `cordova` CLI version. See The Command-Line Interface. 
+
+2. Run `cordova platform update wp8`
+        
+For projects not created with the cordova CLI, run:
+
+        bin\update <project_path>
+
+## Upgrade to 3.1.0 from 3.0.0
+
+For projects that were created with the cordova CLI: 
+
+1. Update the `cordova` CLI version. See The Command-Line Interface. 
+
+2. Run `cordova platform update wp8`
+        
+For projects not created with the cordova CLI, run:
+
+        bin\update <project_path>
+
+## Upgrade to the CLI (3.0.0) from 2.9.0
+
+1. Create a new Apache Cordova 3.0.0 project using the cordova CLI, as
+   described in The Command-Line Interface.
+
+2. Add your platforms to the cordova project, for example: `cordova
+   platform add wp8`.
+
+3. Copy the contents of the project's `www` directory to the `www` directory
+   at the root of the cordova project you just created.
+
+4. Copy or overwrite any native assets from your original project
+   (`SplashScreen`, `ApplicationIcon`, etc.), making sure to add any
+   new files to the `.csproj` file. The windows phone project builds
+   inside the `platforms\wp8` directory.
+
+5. Use the cordova CLI tool to install any plugins you need. Note that
+   the CLI handles all core APIs as plugins, so they may need to be
+   added. Only 3.0.0 plugins are compatible with the CLI.
+
+6. Build and test.
+
+## Upgrade to 3.0.0 (non-CLI) from 2.x
+
+In Visual Studio's Solution Explorer window:
+
+1. Create a new Apache Cordova WP8 3.0.0 Project.
+
+2. Copy the contents of the `www` directory to the new project, and be sure these items are added to the VS project.
+
+3. Copy and overwrite any splash screen, or icon images.
+
+4. Copy over any plugins from the `plugins` directory to the new project and ensure that they are also added to the VS project. 
+
+5. Build and test.
+
+__NOTE__: all core APIs are removed from Cordova version 3.0, and must
+be installed separately as plugins.  For more information on how to
+re-enable these features in a non-CLI workflow, see Using Plugman to
+Manage Plugins.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/0b0e5143/docs/en/4.0.0/guide/platforms/wp8/vmware.md
----------------------------------------------------------------------
diff --git a/docs/en/4.0.0/guide/platforms/wp8/vmware.md b/docs/en/4.0.0/guide/platforms/wp8/vmware.md
new file mode 100644
index 0000000..7ce1b71
--- /dev/null
+++ b/docs/en/4.0.0/guide/platforms/wp8/vmware.md
@@ -0,0 +1,54 @@
+---
+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.
+---
+
+# Configuring VMWare Fusion
+
+This section shows how to configure VMWare Fusion on a Mac so that
+you can use Cordova to generate Windows Phone applications.
+
+The [Microsoft Developer
+Network](http://msdn.microsoft.com/en-US/library/windows/apps/jj945426)
+provides general instructions for how to run Windows under VMWare
+Fusion.  After installing Windows, follow these steps:
+
+1. Within VMWare Fusion, select the Windows 8 disk image you have
+   prepared and choose __Settings__.
+
+1. Choose the __Processors & Memory__ configuration options. Make sure
+   to specify _two_ processor cores, and to __Enable hypervisor
+   applications in this Virtual machine__:
+
+   ![](img/guide/platforms/wp8/vmware_memory_opts.png)
+
+   The Windows Phone Emulator alone uses half a megabyte of memory, so
+   overall you should reserve at least 2GB for VMWare.
+
+1. Choose the __Advanced__ settings. Enable the __Preferred
+   virtualization engine: Intel VT-x with EPT__ option:
+
+   ![](img/guide/platforms/wp8/vmware_advanced_opts.png)
+
+1. Modify the _.vmx_ file to add or modify the following settings:
+
+        hypervisor.cpuid.v0 = "FALSE"
+        mce.enable = "TRUE"
+        vhv.enable = "TRUE"
+
+Once you complete these steps, you are then ready to install the
+Windows Phone SDK.  See the Windows Phone 8 Platform Guide for details.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/0b0e5143/docs/en/4.0.0/guide/platforms/wp8/webview.md
----------------------------------------------------------------------
diff --git a/docs/en/4.0.0/guide/platforms/wp8/webview.md b/docs/en/4.0.0/guide/platforms/wp8/webview.md
new file mode 100644
index 0000000..8976722
--- /dev/null
+++ b/docs/en/4.0.0/guide/platforms/wp8/webview.md
@@ -0,0 +1,54 @@
+---
+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.
+---
+
+# Windows Phone 8.0 WebViews
+
+This guide shows how to embed a Cordova-enabled WebView component
+within a larger Windows Phone 8.0 application. 
+
+To follow these instructions, make sure you have the latest Cordova 
+distribution. Download it from 
+[cordova.apache.org](http://cordova.apache.org) and unzip its 
+Windows Phone 8.0 package (cordova-wp8-*.zip).
+
+1. Navigate to the package's `wp8/framework` directory and build
+   `WPCordovaClassLib.sln`. 
+   It creates the `Bin\Debug[Release]\WPCordovaClassLib.dll`.
+
+1. Copy the `WPCordovaClassLib.dll` file into the Windows Phone 8 project's
+    `/libs` directory and include `WPCordovaClassLib.dll` to your
+    project via `Project->References->Add Reference`.
+    Alternatively, you can directly reference the
+    `wp8/framework/WPCordovaClassLib.csproj` file.
+
+1. Add `CordovaView` component to your page (for example, `MainPage.xaml`).
+
+        xmlns:my="clr-namespace:WPCordovaClassLib;assembly=WPCordovaClassLib">
+        ...
+        <my:CordovaView HorizontalAlignment="Stretch" Margin="0,0,0,0" 
+        StartPageUri="html/index.html" x:Name="CordovaView" VerticalAlignment="Stretch" />
+
+1. Copy `common/www/cordova.js` along with the application's HTML 
+    and JavaScript files to the Windows Phone 8 project's `html` directory
+    and include new files to the project.
+
+1. Copy the `wp8/template/config.xml`to the project's root directory and 
+
+Instructions above will link core Cordova components only, 
+see Using Plugman to Manage Plugins in order to link Cordova plugins.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/0b0e5143/docs/en/4.0.0/guide/support/index.md
----------------------------------------------------------------------
diff --git a/docs/en/4.0.0/guide/support/index.md b/docs/en/4.0.0/guide/support/index.md
new file mode 100644
index 0000000..fdc41b4
--- /dev/null
+++ b/docs/en/4.0.0/guide/support/index.md
@@ -0,0 +1,344 @@
+---
+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.
+
+---
+
+# Platform Support
+
+The following shows the set of development tools and device APIs
+available for each mobile platform. The device APIs listed here are provided by
+the core plugins, additional APIs are available via
+[third-party plugins](http://plugins.cordova.io). Column headers display the
+CLI's shorthand names.
+
+<!-- START HTML -->
+
+<table class="compat" width="100%">
+
+<thead>
+    <tr>
+        <th></td>
+        <th><tt>amazon-fireos</tt></th>
+        <th><tt>android</tt></th>
+        <th><tt>blackberry10</tt></th>
+        <th><tt>Firefox OS</tt></th>
+        <th><tt>ios</tt></th>
+        <th><tt>Ubuntu</tt></th>
+        <th><tt>wp8</tt><br/>(Windows Phone 8)</th>
+        <th><tt>windows</tt><br/>(8.0, 8.1,<br/>Phone 8.1)</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="amazon-fireos" class="y">Mac, Windows, Linux</td>
+        <td data-col="android"    class="y">Mac, Windows, Linux</td>
+        <td data-col="blackberry10" class="y">Mac, Windows</td>
+        <td data-col="firefoxos" class="y">Mac, Windows, Linux</td>
+        <td data-col="ios"        class="y">Mac</td>
+        <td data-col="ubuntu"        class="y">Ubuntu</td>
+        <td data-col="winphone8"  class="y">Windows</td>
+        <td data-col="win8"       class="y"></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="amazon-fireos" class="y"><a href="guide_platforms_amazonfireos_webview.md.html">(see details)</a></td>
+        <td data-col="android"    class="y"><a href="guide_platforms_android_webview.md.html">(see details)</a></td>
+        <td data-col="blackberry10" class="n"></td>
+        <td data-col="firefoxos" class="n"></td>
+        <td data-col="ios"        class="y"><a href="guide_platforms_ios_webview.md.html">(see details)</a></td>
+        <td data-col="ubuntu"        class="y"></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="amazon-fireos" class="y"><a href="guide_platforms_amazonfireos_plugin.md.html">(see details)</a></td>
+        <td data-col="android"    class="y"><a href="guide_platforms_android_plugin.md.html">(see details)</a></td>
+        <td data-col="blackberry10" class="y"><a href="guide_platforms_blackberry10_plugin.md.html">(see details)</a></td>
+        <td data-col="firefoxos" class="n"></td>
+        <td data-col="ios"        class="y"><a href="guide_platforms_ios_plugin.md.html">(see details)</a></td>
+        <td data-col="ubuntu"        class="y"></td>
+        <td data-col="winphone8"  class="y"><a href="guide_platforms_wp8_plugin.md.html">(see details)</a></td>
+        <td data-col="win8"       class="y"></td>
+        <td data-col="tizen"       class="n"></td>
+    </tr>
+
+    <tr>
+        <th></th>
+        <th colspan="20">Platform APIs</th>
+    </tr>
+
+    <tr>
+        <th><a href="https://github.com/apache/cordova-plugin-device-motion/blob/master/doc/index.md">Accelerometer</a></th>
+        <td data-col="amazon-fireos" class="y"></td>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="firefoxos" class="y"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="ubuntu"        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="https://github.com/apache/cordova-plugin-battery-status/blob/master/doc/index.md">BatteryStatus</a></th>
+        <td data-col="amazon-fireos" class="y"></td>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="firefoxos" class="y"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="ubuntu"        class="n"></td>
+        <td data-col="winphone8"  class="y"></td>
+        <td data-col="win8"       class="n"></td>
+        <td data-col="tizen"       class="y"></td>
+    </tr>
+
+    <tr>
+        <th><a href="https://github.com/apache/cordova-plugin-camera/blob/master/doc/index.md">Camera</a></th>
+        <td data-col="amazon-fireos" class="y"></td>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="firefoxos" class="y"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="ubuntu"        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="https://github.com/apache/cordova-plugin-media-capture/blob/master/doc/index.md">Capture</a></th>
+        <td data-col="amazon-fireos" class="y"></td>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="firefoxos" class="n"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="ubuntu"        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="https://github.com/apache/cordova-plugin-device-orientation/blob/master/doc/index.md">Compass</a></th>
+        <td data-col="amazon-fireos" class="y"></td>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="firefoxos" class="n"></td>
+        <td data-col="ios"        class="y">(3GS+)</td>
+        <td data-col="ubuntu"        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="https://github.com/apache/cordova-plugin-network-information/blob/master/doc/index.md">Connection</a></th>
+        <td data-col="amazon-fireos" class="y"></td>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="firefoxos" class="n"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="ubuntu"        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="https://github.com/apache/cordova-plugin-contacts/blob/master/doc/index.md">Contacts</a></th>
+        <td data-col="amazon-fireos" class="y"></td>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="firefoxos" class="y"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="ubuntu"        class="y"></td>
+        <td data-col="winphone8"  class="y"></td>
+        <td data-col="win8"       class="p">partially</td>
+        <td data-col="tizen"       class="n"></td>
+    </tr>
+
+    <tr>
+        <th><a href="https://github.com/apache/cordova-plugin-device/blob/master/doc/index.md">Device</a></th>
+        <td data-col="amazon-fireos" class="y"></td>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="firefoxos" class="y"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="ubuntu"        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="amazon-fireos" class="y"></td>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="firefoxos" class="n"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="ubuntu"        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="https://github.com/apache/cordova-plugin-file/blob/master/doc/index.md">File</a></th>
+        <td data-col="amazon-fireos" class="y"></td>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="firefoxos" class="n"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="ubuntu"        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="https://github.com/apache/cordova-plugin-file-transfer/blob/master/doc/index.md">File Transfer</a></th>
+        <td data-col="amazon-fireos" class="y"></td>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry10" class="y">* Do not support onprogress nor abort</td>
+        <td data-col="firefoxos" class="n"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="ubuntu"        class="n"></td>
+        <td data-col="winphone8"  class="y">* Do not support onprogress nor abort</td>
+        <td data-col="win8"       class="y">* Do not support onprogress nor abort</td>
+        <td data-col="tizen"       class="n"></td>
+    </tr>
+
+    <tr>
+        <th><a href="https://github.com/apache/cordova-plugin-geolocation/blob/master/doc/index.md">Geolocation</a></th>
+        <td data-col="amazon-fireos" class="y"></td>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="firefoxos" class="y"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="ubuntu"        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="https://github.com/apache/cordova-plugin-globalization/blob/master/doc/index.md">Globalization</a></th>
+        <td data-col="amazon-fireos" class="y"></td>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="firefoxos" class="n"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="ubuntu"        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="https://github.com/apache/cordova-plugin-inappbrowser/blob/master/doc/index.md">InAppBrowser</a></th>
+        <td data-col="amazon-fireos" class="y"></td>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="firefoxos" class="n"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="ubuntu"        class="y"></td>
+        <td data-col="winphone8"  class="y"></td>
+        <td data-col="win8"       class="p">uses iframe</td>
+        <td data-col="tizen"       class="n"></td>
+    </tr>
+
+    <tr>
+        <th><a href="https://github.com/apache/cordova-plugin-media/blob/master/doc/index.md">Media</a></th>
+        <td data-col="amazon-fireos" class="y"></td>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="firefoxos" class="n"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="ubuntu"        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="https://github.com/apache/cordova-plugin-dialogs/blob/master/doc/index.md">Notification</a></th>
+        <td data-col="amazon-fireos" class="y"></td>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="firefoxos" class="n"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="ubuntu"        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="https://github.com/apache/cordova-plugin-splashscreen/blob/master/doc/index.md">Splashscreen</a></th>
+        <td data-col="amazon-fireos" class="y"></td>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="firefoxos" class="n"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="ubuntu"        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="amazon-fireos" class="y"></td>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="firefoxos" class="n"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="ubuntu"        class="y"></td>
+        <td data-col="winphone8"  class="y">localStorage &amp; indexedDB</td>
+        <td data-col="win8"       class="y">localStorage &amp; indexedDB</td>
+        <td data-col="tizen"       class="y"></td>
+    </tr>
+
+    <tr>
+        <th><a href="https://github.com/apache/cordova-plugin-vibration/blob/master/doc/index.md">Vibration</a></th>
+        <td data-col="amazon-fireos" class="y"></td>
+        <td data-col="android"    class="y"></td>
+        <td data-col="blackberry10" class="y"></td>
+        <td data-col="firefoxos" class="y"></td>
+        <td data-col="ios"        class="y"></td>
+        <td data-col="ubuntu"        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>
+
+</tbody>
+</table>
+
+<!-- END HTML -->

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/0b0e5143/docs/en/4.0.0/index.md
----------------------------------------------------------------------
diff --git a/docs/en/4.0.0/index.md b/docs/en/4.0.0/index.md
new file mode 100644
index 0000000..ad874b2
--- /dev/null
+++ b/docs/en/4.0.0/index.md
@@ -0,0 +1,98 @@
+---
+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.
+---
+
+<div id="home">
+
+    <h1>Guides</h1>
+    <ul>
+        <li>
+            <h2>Overview</h2>
+            <span>Start here if you are new to Cordova. Includes installation and next steps.</span>
+        </li>
+        <li>
+            <h2>Platform Support</h2>
+            <span>Compatibility table for all major features.</span>
+        </li>
+        <li>
+            <h2>The Command-Line Interface</h2>
+            <span>Create, build, and deploy from the command-line.</span>
+        </li>
+        <li>
+            <h2>Platform Guides</h2>
+            <span>Set up each platform SDK and update projects.</span>
+        </li>
+        <li>
+         <h2>Using Plugman to Manage Plugins</h2>
+            <span>Manage plugins without the CLI when using the platform-centered workflow.</span>
+        </li>
+        <li>
+            <h2>The config.xml File</h2>
+            <span>Customize your app's features.</span>
+        </li>
+        <li>
+            <h2>Icons and Splash Screens</h2>
+            <span>Customize your app's displaying images.</span>
+        </li>
+        <li>
+            <h2>Embedding WebViews</h2>
+            <span>Implement the Cordova WebView in your native project.</span>
+        </li>
+        <li>
+            <h2>Plugin Development Guide</h2>
+            <span>Develop your own plugin.</span>
+        </li>
+        <li>
+            <h2>Privacy Guide</h2>
+            <span>Learn about important mobile privacy issues.</span>
+        </li>
+        <li>
+            <h2>Security Guide</h2>
+            <span>Information and tips for building a secure application.</span>
+        </li>
+        <li>
+            <h2>Whitelist Guide</h2>
+            <span>Grant an application access to external resources.</span>
+        </li>
+        <li>
+            <h2>Storage</h2>
+            <span>An overview of native storage options.</span>
+        </li>
+        <li>
+            <h2>Next Steps</h2>
+            <span>A look at topics that new Cordova developers will encounter.</span>
+        </li>
+        <li>
+            <h2><a href="_index.html">Keyword Index</a></h2>
+            <span>Full index of the documentation.</span>
+        </li>
+    </ul>
+
+    <h1>API Reference</h1>
+    <ul>
+        <li>
+            <h2>Events</h2>
+            <span>Hook into native events through JavaScript.</span>
+        </li>
+        <li>
+            <h2>Plugin APIs</h2>
+            <span>Discover what Cordova plugins are available to use in your project.</span>
+        </li>
+    </ul>
+
+</div>

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/0b0e5143/docs/en/4.0.0/plugin_ref/plugman.md
----------------------------------------------------------------------
diff --git a/docs/en/4.0.0/plugin_ref/plugman.md b/docs/en/4.0.0/plugin_ref/plugman.md
new file mode 100644
index 0000000..359111b
--- /dev/null
+++ b/docs/en/4.0.0/plugin_ref/plugman.md
@@ -0,0 +1,203 @@
+---
+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, depending on your choice of
+workflow discussed in the Overview:
+
+- If you use a cross-platform workflow, you use the `cordova` CLI
+  utility to add plugins, as described in The Command-Line Interface.
+  The CLI modifies plugins for all specified platforms at once.
+
+- If you use a platform-centered workflow, you use a lower-level
+  [Plugman](https://github.com/apache/cordova-plugman/) command-line
+  interface, separately for each targeted platform.
+
+This section details the Plugman utility.  For more information on
+consuming Plugman as a node module or modifying the source code, see
+[the README file in its repository](https://github.com/apache/cordova-plugman/blob/master/README.md).
+
+## Installing Plugman
+
+To install plugman, you must have [node](http://nodejs.org/) installed
+on your machine. Then you can run the following command from anywhere
+in your environment to install plugman globally, so that it is
+available from any directory:
+
+    $ npm install -g plugman
+
+You must have also have `git` on your `PATH` to be able to install plugins directly from remote git URLs.
+
+__TIP__: If you find that after installing plugman with `npm` you are
+still unable to run any `plugman` commands, make sure that you have
+added the `/npm/` directory into your `PATH`.
+
+__NOTE__: You can skip this step if you don't want to pollute your
+global `npm` namespace by installing Plugman globally. If this is the
+case, then when you create a Cordova project with the shell tools,
+there will be a `node_modules` directory inside your project which
+contains Plugman.  Since you did not install globally, you need to
+invoke `node` for each Plugman command, for example `node
+./node_modules/plugman/main.js -version`.  The rest of this guide
+assumes you have installed Plugman globally, meaning you can invoke it
+with just `plugman`.
+
+## Create a Cordova Project
+
+Before you can use Plugman, you must create a Cordova project.  You can do this with either the Command-line Interface or with
+the lower level shell scripts. Instructions for using the shell scripts to create your project are located in the various "Command-line Tools" guides
+listed on the Platform Guides page. 
+
+## Adding a Plugin
+
+Once you have installed Plugman and have created a Cordova project, you can start adding plugins to the platform with:
+
+    $ plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin <name|url|path> [--plugins_dir <directory>] [--www <directory>] [--variable <name>=<value> [--variable <name>=<value> ...]]
+
+Using minimum parameters, this command installs a plugin into a cordova project. You must specify a platform and cordova project location for that platform. You also must specify a plugin, with the different `--plugin` parameter forms being:
+
+  * `name`: The directory name where the plugin contents exist. This must be an existing directory under the `--plugins_dir` path (see below for more info) or a plugin in the Cordova registry.
+  * `url`: A URL starting with https:// or git://, pointing to a valid git repository that is clonable and contains a `plugin.xml` file. The contents of this repository would be copied into the `--plugins_dir`.
+  * `path`: A path to a directory containing a valid plugin which includes a `plugin.xml` file. This path's contents will be copied into the `--plugins_dir`.
+  
+Other parameters: 
+
+* `--plugins_dir` defaults to `<project>/cordova/plugins`, but can be any directory containing a subdirectory for each fetched plugin.
+* `--www` defaults to the project's `www` folder location, but can be any directory that is to be used as cordova project application web assets.
+* `--variable` allows to specify certain variables at install time, necessary for certain plugins requiring API keys or other custom, user-defined parameters. Please see the [plugin specification](plugin_ref_spec.md.html#Plugin%20Specification) for more information.
+
+## Remove a Plugin
+
+To uninstall a plugin, you simply pass the `--uninstall` flag and provide the plugin ID.
+
+    $ plugman --uninstall --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin <id> [--www <directory>] [--plugins_dir <directory>]
+
+
+## Help Commands
+
+Plugman features a global help command which may help you if you get stuck or are experiencing problems. It will display
+a list of all available Plugman commands and their syntax:
+
+    plugman -help
+    plugman  # same as above
+
+   **NOTE**: `plugman -help` may show some additional registry-related commands. These commands are for plugin developers and may not be implemented on third-party plugin registries.
+
+
+You can also append the `--debug|-d` flag to any Plugman command to run that command in verbose mode, which will display
+any internal debugging messages as they are emitted and may help you track down problems like missing files. 
+
+    # Adding Android battery-status plugin to "myProject":
+    plugman -d --platform android --project myProject --plugin org.apache.cordova.battery-status
+
+Finally, you can use the `--version|-v` flag to see which version of Plugman you are using.
+
+    plugman -v
+    
+## Registry Actions
+
+There are a number of plugman commands that can be used for interacting with the [Plugin registry](http://plugins.cordova.io).
+Please note that these registry commands are specific to the _plugins.cordova.io_ plugin registry and may not be implemented by
+third-party plugin registries.
+
+### Searching for a Plugin
+
+You can use Plugman to search the [Plugin registry](http://plugins.cordova.io) for plugin id's that match the given space separated list of keywords.
+
+    plugman search <plugin keywords>
+
+### Changing the Plugin Registry
+
+You can get or set the URL of the current plugin registry that plugman is using. Generally you should leave this set at http://registry.cordova.io unless you want to use a third party plugin registry.
+
+    plugman config set registry <url-to-registry>
+    plugman config get registry
+
+### Get Plugin Information
+
+You can get information about any specific plugin stored in the plugin repository with:
+
+    plugman info <id>
+
+This will contact the plugin registry and fetch information such as the plugin's version number. 
+
+## 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|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin org.apache.cordova.battery-status
+
+* cordova-plugin-camera
+    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin org.apache.cordova.camera
+    
+* cordova-plugin-console
+    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin org.apache.cordova.console
+
+* cordova-plugin-contacts
+    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin org.apache.cordova.contacts
+    
+* cordova-plugin-device
+    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin org.apache.cordova.device
+
+* cordova-plugin-device-motion (accelerometer)
+    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin org.apache.cordova.device-motion
+
+* cordova-plugin-device-orientation (compass)
+    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin org.apache.cordova.device-orientation
+
+* cordova-plugin-dialogs
+    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin org.apache.cordova.dialogs
+
+* cordova-plugin-file
+    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin org.apache.cordova.file
+
+* cordova-plugin-file-transfer
+    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin org.apache.cordova.file-transfer
+
+* cordova-plugin-geolocation
+    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin org.apache.cordova.geolocation
+
+* cordova-plugin-globalization
+    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin org.apache.cordova.globalization
+
+* cordova-plugin-inappbrowser
+    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin org.apache.cordova.inappbrowser
+
+* cordova-plugin-media
+    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin org.apache.cordova.media
+
+* cordova-plugin-media-capture
+    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin org.apache.cordova.media-capture
+
+* cordova-plugin-network-information
+    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin org.apache.cordova.network-information
+
+* cordova-plugin-splashscreen
+    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin org.apache.cordova.splashscreen
+
+* cordova-plugin-vibration
+    plugman --platform <ios|amazon-fireos|android|blackberry10|wp8> --project <directory> --plugin org.apache.cordova.vibration


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org