Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1590)

Unified Diff: native_client_sdk/src/doc/_developer.chrome.com_generated/devguide/devcycle/running.html

Issue 140993006: [NaCl SDK Docs] Check in the generated NaCl SDK Documentation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: try without pepper_{dev,beta,stable} Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: native_client_sdk/src/doc/_developer.chrome.com_generated/devguide/devcycle/running.html
diff --git a/native_client_sdk/src/doc/_developer.chrome.com_generated/devguide/devcycle/running.html b/native_client_sdk/src/doc/_developer.chrome.com_generated/devguide/devcycle/running.html
new file mode 100644
index 0000000000000000000000000000000000000000..2327329b3799cb96f7ca7df065cea31184e0338d
--- /dev/null
+++ b/native_client_sdk/src/doc/_developer.chrome.com_generated/devguide/devcycle/running.html
@@ -0,0 +1,441 @@
+{{+bindTo:partials.standard_nacl_article}}
+
+<section id="running">
+<span id="devcycle-running"></span><h1 id="running"><span id="devcycle-running"></span>Running</h1>
+<div class="contents local topic" id="contents">
+<ul class="small-gap">
+<li><a class="reference internal" href="#introduction" id="id5">Introduction</a></li>
+<li><a class="reference internal" href="#portable-native-client-pnacl-applications" id="id6">Portable Native Client (PNaCl) applications</a></li>
+<li><a class="reference internal" href="#native-client-applications-and-the-chrome-web-store" id="id7">Native Client applications and the Chrome Web Store</a></li>
+<li><p class="first"><a class="reference internal" href="#prerequisites" id="id8">Prerequisites</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#browser-and-pepper-versions" id="id9">Browser and Pepper versions</a></li>
+<li><a class="reference internal" href="#chrome-cache" id="id10">Chrome Cache</a></li>
+</ul>
+</li>
+<li><p class="first"><a class="reference internal" href="#requirements" id="id11">Requirements</a></p>
+<ul class="small-gap">
+<li><a class="reference internal" href="#native-client-flag" id="id12">Native Client flag</a></li>
+<li><a class="reference internal" href="#web-server" id="id13">Web server</a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#technique-1-local-server" id="id14">Technique 1: Local server</a></li>
+<li><a class="reference internal" href="#technique-2-packaged-application-loaded-as-an-unpacked-extension" id="id15">Technique 2: Packaged application loaded as an unpacked extension</a></li>
+<li><a class="reference internal" href="#technique-3-hosted-application-loaded-as-an-unpacked-extension" id="id16">Technique 3: Hosted application loaded as an unpacked extension</a></li>
+<li><a class="reference internal" href="#technique-4-chrome-web-store-application-with-trusted-testers" id="id17">Technique 4: Chrome Web Store application with trusted testers</a></li>
+</ul>
+</div>
+<section id="introduction">
+<h2 id="introduction">Introduction</h2>
+<p>This document describes how to run Native Client applications during
+development.</p>
+<p>The workflow for PNaCl applications is straightfoward and will only be discussed
+briefly. For NaCl applications distributed through the web-store, there is a
+number of options and these will be discussed more in-depth.</p>
+</section><section id="portable-native-client-pnacl-applications">
+<h2 id="portable-native-client-pnacl-applications">Portable Native Client (PNaCl) applications</h2>
+<p>Running PNaCl applications from the open web is enabled in Chrome version 31 and
+above; therefore, no special provisions are required to run and test such
+applications locally. An application that uses a PNaCl module can be tested
+similarly to any other web application that only consists of HTML, CSS and
+JavaScript.</p>
+<p>To better simulate a production environment, it&#8217;s recommended to start a local
+web server to serve the application&#8217;s files. The NaCl SDK comes with a simple
+local server built in, and the process of using it to run PNaCl applications is
+described in <a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part1.html#tutorial-step-2"><em>the tutorial</em></a>.</p>
+</section><section id="native-client-applications-and-the-chrome-web-store">
+<h2 id="native-client-applications-and-the-chrome-web-store">Native Client applications and the Chrome Web Store</h2>
+<p>Before reading about how to run Native Client applications, it&#8217;s important to
+understand a little bit about how Native Client applications are distributed.
+As explained in <a class="reference internal" href="/native-client/devguide/distributing.html"><em>Distributing Your Application</em></a>, Native
+Client applications must currently be distributed through the <strong>Chrome Web
+Store (CWS)</strong>. Applications in the CWS are one of three types:</p>
+<ul class="small-gap">
+<li>A <strong>hosted application</strong> is an application that you host on a server of your
+choice. To distribute an application as a hosted application, you upload
+application metadata to the CWS.</li>
+<li>A <strong>packaged application</strong> is an application that is hosted in the CWS and
+downloaded to the user&#8217;s machine. To distribute an application as a packaged
+application, you upload the entire application, including all application
+assets and metadata, to the CWS.</li>
+<li>An <strong>extension</strong> is a packaged application that has a tiny UI component
+(extensions are typically used to extend the functionality of the Chrome
+browser). To distribute an application as an extension, you upload the entire
+application, including all application assets and metadata, to the CWS.</li>
+</ul>
+<p>It&#8217;s clearly not convenient to package and upload files to the Chrome Web Store
+every time you want to run a new build of your application, but there are four
+alternative techniques you can use to run the application during development.
+These techniques are listed in the following table and described in detail
+below. Each technique has certain requirements (NaCl flag, web server, and/or
+CWS metadata); these are explained in the <a class="reference internal" href="#requirements"><em>Requirements</em></a>
+section below.</p>
+<table border="1" class="docutils">
+<colgroup>
+</colgroup>
+<thead valign="bottom">
+<tr class="row-odd"><th class="head">#</th>
+<th class="head">Technique</th>
+<th class="head">Requires NaCl flag</th>
+<th class="head">Requires Web Server</th>
+<th class="head">Requires CWS Metadata</th>
+<th class="head">Description</th>
+</tr>
+</thead>
+<tbody valign="top">
+<tr class="row-even"><td>1</td>
+<td>Local server</td>
+<td><img alt="CHK" src="/native-client/images/check-red.png" /></td>
+<td><img alt="CHK" src="/native-client/images/check-red.png" /></td>
+<td>&nbsp;</td>
+<td>Run a local server and simply point your browser to your application on
+the server.</td>
+</tr>
+<tr class="row-odd"><td>2</td>
+<td>Packaged application loaded as an unpacked extension</td>
+<td>&nbsp;</td>
+<td>&nbsp;</td>
+<td><img alt="CHK" src="/native-client/images/check-red.png" /></td>
+<td>Load your packaged application into Chrome as an unpacked extension and
+run it without a server. An unpacked extension is simply an application
+whose source and metadata files are located in a plain (unzipped) folder
+on your development machine. The CWS manifest file (explained below) must
+specify a <code>local_path</code> field.</td>
+</tr>
+<tr class="row-even"><td>3</td>
+<td>Hosted application loaded as an unpacked extension</td>
+<td>&nbsp;</td>
+<td><img alt="CHK" src="/native-client/images/check-red.png" /></td>
+<td><img alt="CHK" src="/native-client/images/check-red.png" /></td>
+<td>Load your hosted application into Chrome as an unpacked extension and run
+it from a server (which can be a local server). The CWS manifest file
+must specify a <code>web_url</code> field.</td>
+</tr>
+<tr class="row-odd"><td>4</td>
+<td>CWS application with untrusted testers</td>
+<td>&nbsp;</td>
+<td>&nbsp;</td>
+<td><img alt="CHK" src="/native-client/images/check-red.png" /></td>
+<td>This is the standard technique for distributing a packaged or hosted
+application in the CWS, but you can limit the application to a few
+trusted testers. This technique requires a server if your application is
+a hosted application.</td>
+</tr>
+</tbody>
+</table>
+<p>Which of the above techniques you use to run your application during development
+is largely a matter of personal preference (i.e., would you rather start a local
+server or create CWS metadata?). As a general rule, once you have an idea of how
+you plan to distribute your application, you should use the corresponding
+technique during development. Choosing a distribution option depends on a number
+of factors such as application size, application start-up time, hosting costs,
+offline functionality, etc. (see <a class="reference internal" href="/native-client/devguide/distributing.html"><em>Distributing Your Application</em></a> for details), but you don&#8217;t need to make a decision about how
+to distribute your application at the outset.</p>
+<p>The next two sections of this document describe a couple of prerequisites for
+running applications during development, and explain the three requirements
+listed in the table above (NaCl flag, web server, and CWS metadata). The
+subsequent sections of the document provide instructions for how to use each of
+the four techniques.</p>
+</section><section id="prerequisites">
+<h2 id="prerequisites">Prerequisites</h2>
+<section id="browser-and-pepper-versions">
+<h3 id="browser-and-pepper-versions">Browser and Pepper versions</h3>
+<p>Before you run a new build of your application, make sure that you&#8217;re using the
+correct version of Chrome. Each version of Chrome supports a corresponding
+version of the Pepper API. You (and your users) must use a version of Chrome
+that is equal to or higher than the version of the Pepper API that your
+application uses. For example, if you compiled your application using the
+<code>pepper_31</code> bundle, your application uses the Pepper 31 API, and you must run
+the application in Chrome 31 or higher. To check which version of Chrome you&#8217;re
+using, type <code>about:version</code> in the Chrome address bar.</p>
+</section><section id="chrome-cache">
+<span id="cache"></span><h3 id="chrome-cache"><span id="cache"></span>Chrome Cache</h3>
+<p>Chrome caches resources aggressively. You should disable Chrome&#8217;s cache whenever
+you are developing a Native Client application in order to make sure Chrome
+loads new versions of your application. Follow the instructions <a class="reference internal" href="/native-client/devguide/tutorial/tutorial-part1.html#tutorial-step-3"><em>in the
+tutorial</em></a>.</p>
+</section></section><section id="requirements">
+<span id="id1"></span><h2 id="requirements"><span id="id1"></span>Requirements</h2>
+<section id="native-client-flag">
+<span id="flag"></span><h3 id="native-client-flag"><span id="flag"></span>Native Client flag</h3>
+<p>Native Client is automatically enabled for applications that are installed from
+the Chrome Web Store. To enable Native Client for applications that are not
+installed from the Chrome Web Store, you must explicitly turn on the Native
+Client flag in Chrome as follows:</p>
+<ol class="arabic simple">
+<li>Type <code>about:flags</code> in the Chrome address bar.</li>
+<li>Scroll down to &#8220;Native Client&#8221;.</li>
+<li>If the link below &#8220;Native Client&#8221; says &#8220;Disable&#8221;, then Native Client is
+already enabled and you don&#8217;t need to do anything else.</li>
+<li>If the link below &#8220;Native Client&#8221; says &#8220;Enable&#8221;:<ul class="small-gap">
+<li>Click the &#8220;Enable&#8221; link.</li>
+<li>Click the &#8220;Relaunch Now&#8221; button in the bottom of the screen. <strong>Native
+Client will not be enabled until you relaunch your browser</strong>. All browser
+windows will restart when you relaunch Chrome.</li>
+</ul>
+</li>
+</ol>
+<p>If you enable the Native Client flag and still can&#8217;t run applications from
+outside the Chrome Web Store, you may need to enable the Native Client plugin:</p>
+<ol class="arabic simple">
+<li>Type <code>about:plugins</code> in the Chrome address bar.</li>
+<li>Scroll down to &#8220;Native Client&#8221;.</li>
+<li>If the link below &#8220;Native Client&#8221; says &#8220;Enable&#8221;, click the link to enable
+the Native Client plugin. You do not need to relaunch Chrome after enabling
+the Native Client plugin.</li>
+</ol>
+</section><section id="web-server">
+<span id="id2"></span><h3 id="web-server"><span id="id2"></span>Web server</h3>
+<p>For security reasons, Native Client applications must come from a server (you
+can&#8217;t simply drag HTML files into your browser). The Native Client SDK comes
+with a lightweight Python web server that you can run to serve your application
+locally. The server can be invoked from a Makefile. Here is how to run the
+server:</p>
+<pre>
+$ cd examples
+$ make serve
+</pre>
+<p>By default, the server listens for requests on port 5103. You can use the server
+to run most applications under the <code>examples</code> directory where you started the
+server. For example, to run the <code>flock</code> example in the SDK, start the server
+and point your browser to <a class="reference external" href="http://localhost:5103/demo/flock/">http://localhost:5103/demo/flock/</a>.</p>
+<p>Some of the applications need special flags to Chrome, and must be run with the
+<code>make run</code> command. See <a class="reference internal" href="/native-client/sdk/examples.html#id1"><em>Run the SDK examples</em></a> for more details.</p>
+<section id="chrome-web-store-metadata">
+<span id="metadata"></span><h4 id="chrome-web-store-metadata"><span id="metadata"></span>Chrome Web Store metadata</h4>
+<p>Applications published in the Chrome Web Store must be accompanied by CWS
+metadata; specifically, a Chrome Web Store manifest file named
+<code>manifest.json</code>, and at least one icon.</p>
+<p>Below is an example of a CWS manifest file for a <strong>hosted application</strong>:</p>
+<pre class="prettyprint">
+{
+ &quot;name&quot;: &quot;My NaCl App&quot;,
+ &quot;description&quot;: &quot;Simple game implemented using Native Client&quot;,
+ &quot;version&quot;: &quot;0.1&quot;,
+ &quot;icons&quot;: {
+ &quot;128&quot;: &quot;icon128.png&quot;
+ },
+ &quot;app&quot;: {
+ &quot;urls&quot;: [
+ &quot;http://mysubdomain.example.com/&quot;
+ ],
+ &quot;launch&quot;: {
+ &quot;web_url&quot;: &quot;http://mysubdomain.example.com/my_app_main_page.html&quot;
+ }
+ }
+}
+</pre>
+<p>For a <strong>packaged application</strong>, you can omit the urls field, and replace the
+<code>web_url</code> field with a <code>local_path</code> field, as shown below:</p>
+<pre class="prettyprint">
+{
+ &quot;name&quot;: &quot;My NaCl App&quot;,
+ &quot;description&quot;: &quot;Simple game implemented using Native Client&quot;,
+ &quot;version&quot;: &quot;0.1&quot;,
+ &quot;icons&quot;: {
+ &quot;16&quot;: &quot;icon16.png&quot;,
+ &quot;128&quot;: &quot;icon128.png&quot;
+ },
+ &quot;app&quot;: {
+ &quot;launch&quot;: {
+ &quot;local_path&quot;: &quot;my_app_main_page.html&quot;
+ }
+ }
+}
+</pre>
+<p>You must put the <code>manifest.json</code> file in the same directory as your
+application&#8217;s main HTML page.</p>
+<p>If you don&#8217;t have icons for your application, you can use the following icons as
+placeholders:</p>
+<p><img alt="ICON16" src="/native-client/images/icon16.png" /></p>
+<p><img alt="ICON128" src="/native-client/images/icon128.png" /></p>
+<p>Put the icons in the same directory as the CWS manifest file. For more
+information about CWS manifest files and application icons, see:</p>
+<ul class="small-gap">
+<li><a class="reference external" href="https://developers.google.com/chrome/web-store/docs/get_started_simple">Chrome Web Store Tutorial: Getting Started</a></li>
+<li><a class="reference external" href="http://code.google.com/chrome/extensions/manifest.html">Chrome Web Store Formats: Manifest Files</a></li>
+</ul>
+</section></section></section><section id="technique-1-local-server">
+<h2 id="technique-1-local-server">Technique 1: Local server</h2>
+<p>To run your application from a local server:</p>
+<ul class="small-gap">
+<li>Enable the <a class="reference internal" href="#flag"><em>Native Client flag</em></a> in Chrome.</li>
+<li>Start a <a class="reference internal" href="#web-server"><em>local web server</em></a>.</li>
+<li>Put your application under the examples directory in the SDK bundle you are
+using (e.g., in the directory <code>pepper_31/examples/my_app</code>).</li>
+<li>Access your application on the local server by typing the location of its
+HTML file in Chrome, e.g.:
+<code>http://localhost:5103/my_app/my_app_main_page.html</code>.</li>
+</ul>
+<aside class="note">
+<strong>Note:</strong> You don&#8217;t have to use a local web server&#8212;you can use another
+server if you already have one running. You must still enable the Native
+Client flag in order to run your application from the server.
+</aside>
+</section><section id="technique-2-packaged-application-loaded-as-an-unpacked-extension">
+<h2 id="technique-2-packaged-application-loaded-as-an-unpacked-extension">Technique 2: Packaged application loaded as an unpacked extension</h2>
+<p>For development purposes, Chrome lets you load a packaged application as an
+unpacked extension. To load and run your packaged application as an unpacked
+extension:</p>
+<ol class="arabic simple">
+<li>Create a Chrome Web Store manifest file and one or more icons for your
+application.<ul class="small-gap">
+<li>Follow the instructions above under Chrome Web Store metadata to create
+these files.</li>
+<li>Note that the CWS manifest file should contain the <code>local_path</code> field
+rather than the <code>web_url</code> field.</li>
+</ul>
+</li>
+<li>Put the CWS manifest file and the application icon(s) in the same directory
+as your application&#8217;s main HTML page.</li>
+<li>Load the application as an unpacked extension in Chrome:<ul class="small-gap">
+<li>Bring up the extensions management page in Chrome by clicking the menu
+icon <img alt="menu-icon" src="/native-client/images/menu-icon.png" /> and choosing <strong>Tools &gt; Extensions</strong>.</li>
+<li>Check the box for <strong>Developer mode</strong> and then click the <strong>Load unpacked
+extension</strong> button:
+<img alt="extensions" src="/native-client/images/extensions-management.png" /></li>
+<li>In the file dialog that appears, select your application directory. Unless
+you get an error dialog, you&#8217;ve now installed your app in Chrome.</li>
+</ul>
+</li>
+<li>Open a new tab in Chrome and click the <strong>Apps</strong> link at the bottom of the
+page to show your installed apps:
+<img alt="new-tab-apps" src="/native-client/images/new-tab-apps.png" /></li>
+<li>The icon for your newly installed app should appear on the New Tab page.
+Click the icon to launch the app.</li>
+</ol>
+<p>For additional information about how to create CWS metadata and load your
+application into Chrome (including troubleshooting information), see the
+<a class="reference external" href="https://developers.google.com/chrome/web-store/docs/get_started_simple">Chrome Web Store Tutorial: Getting Started</a>.</p>
+<p>See also <a class="reference internal" href="/native-client/sdk/examples.html#run-sdk-examples-as-packaged"><em>Run the SDK examples as packaged apps</em></a>.</p>
+</section><section id="technique-3-hosted-application-loaded-as-an-unpacked-extension">
+<h2 id="technique-3-hosted-application-loaded-as-an-unpacked-extension">Technique 3: Hosted application loaded as an unpacked extension</h2>
+<p>For development purposes, Chrome lets you load a hosted application as an
+unpacked extension. To load and run your hosted application as an unpacked
+extension:</p>
+<ol class="arabic simple">
+<li>Start a web server to serve your application.<ul class="small-gap">
+<li>You can use the <a class="reference internal" href="#web-server"><em>local web server</em></a> included with the
+Native Client SDK if you want.</li>
+</ul>
+</li>
+<li>Upload your application (.html, .nmf, .nexe, .css, .js, image files, etc.)
+to the server.<ul class="small-gap">
+<li>If you&#8217;re using the local server included with the Native Client SDK,
+simply put your application under the <code>examples</code> directory in the SDK
+bundle you are using (e.g., in the directory
+<code>pepper_31/examples/my_app</code>).</li>
+</ul>
+</li>
+<li>Create a Chrome Web Store manifest file and one or more icons for your
+application.<ul class="small-gap">
+<li>Follow the instructions above under <a class="reference internal" href="#metadata"><em>Chrome Web Store metadata</em></a> to create these files.</li>
+<li>In the CWS manifest file, the <code>web_url</code> field should specify the
+location of your application on your server. If you&#8217;re using the local
+server included with the SDK, the <code>web_url</code> field should look something
+like <code>http://localhost:5103/my_app/my_app_main_page.html</code>.</li>
+</ul>
+</li>
+<li>Put the CWS manifest file and the application icon(s) in the same directory
+as your application&#8217;s main HTML page.</li>
+<li>Load the application as an unpacked extension in Chrome:<ul class="small-gap">
+<li>Bring up the extensions management page in Chrome by clicking the menu
+icon <img alt="menu-icon" src="/native-client/images/menu-icon.png" /> and choosing <strong>Tools &gt; Extensions</strong>.</li>
+<li>Check the box for <strong>Developer mode</strong> and then click the <strong>Load unpacked
+extension</strong> button:
+<img alt="extensions" src="/native-client/images/extensions-management.png" /></li>
+<li>In the file dialog that appears, select your application directory. Unless
+you get an error dialog, you&#8217;ve now installed your app in Chrome.</li>
+</ul>
+</li>
+<li>Open a new tab in Chrome and click the <strong>Apps</strong> link at the bottom of the
+page to show your installed apps:
+<img alt="new-tab-apps" src="/native-client/images/new-tab-apps.png" /></li>
+<li>The icon for your newly installed app should appear on the New Tab page.
+Click the icon to launch the app.</li>
+</ol>
+<p>For additional information about how to create CWS metadata and load your
+application into Chrome (including troubleshooting information), see the
+<a class="reference external" href="https://developers.google.com/chrome/web-store/docs/get_started_simple">Chrome Web Store Tutorial: Getting Started</a>.</p>
+</section><section id="technique-4-chrome-web-store-application-with-trusted-testers">
+<h2 id="technique-4-chrome-web-store-application-with-trusted-testers">Technique 4: Chrome Web Store application with trusted testers</h2>
+<p>When you&#8217;re ready to test your application more broadly, you can upload the
+application to the Chrome Web Store and let some trusted testers run it. Here
+is how to do so:</p>
+<ol class="arabic simple">
+<li>Create the Chrome Web Store metadata required to publish your application:<ul class="small-gap">
+<li>First, create a Chrome Web Store manifest file and one or more icons for
+your application, as described above under <a class="reference internal" href="#metadata"><em>Chrome Web Store metadata</em></a>. Note that packaged applications must have at least two icons
+(a 16x16 icon and a 128x128 icon).</li>
+<li>You also need to create the following additional assets before you can
+publish your application:<ul class="small-gap">
+<li>a screenshot (size must be 640x400 or 1280x800)</li>
+<li>a promotional image called a &#8220;small tile&#8221; (size must be 440x280)</li>
+</ul>
+</li>
+</ul>
+</li>
+<li>For a <strong>packaged application</strong>:<ul class="small-gap">
+<li>Create a zip file with the CWS manifest file, the application icons, and
+all your application files (.html, .nmf, .nexe, .css, .js, image files,
+etc.)</li>
+</ul>
+</li>
+<li>For a <strong>hosted application</strong>:<ul class="small-gap">
+<li>Create a zip file with the CWS manifest file and the application icon(s).</li>
+<li>Upload the application files (.html, .nmf, .nexe, .css, .js, image files,
+etc.) to the server on which the application is being hosted.</li>
+<li>Use <a class="reference external" href="http://www.google.com/webmasters/tools/">Google Webmaster Tools</a> to
+verify ownership of the web site on which the application runs.</li>
+</ul>
+</li>
+<li>Log in to the <a class="reference external" href="https://chrome.google.com/webstore/developer/dashboard">Chrome Web Store Developer Dashboard</a>.<ul class="small-gap">
+<li>The first time you log in, click the &#8220;Add new item&#8221; button to display the
+Google Chrome Web Store Developer Agreement. Review and accept the
+agreement and then return to the <a class="reference external" href="https://chrome.google.com/webstore/developer/dashboard">Developer Dashboard</a>.</li>
+</ul>
+</li>
+<li>Click &#8220;Edit your tester accounts&#8221; at the bottom of the Developer Dashboard.</li>
+<li>Enter a series of email addresses for your testers (separated by commas or
+whitespace), and click the &#8220;Save Changes&#8221; button.</li>
+<li>Click the &#8220;Add new item&#8221; button to add your application to the Chrome Web
+Store.</li>
+<li>Click the &#8220;Choose file&#8221; button and select the zip file you created earlier.</li>
+<li>Click the &#8220;Upload&#8221; button; this uploads your zip file and opens the &#8220;Edit
+item&#8221; page.</li>
+<li>Edit the following required fields on the &#8220;Edit item&#8221; page:<ul class="small-gap">
+<li>Upload an application icon.</li>
+<li>Upload a screenshot.</li>
+<li>Upload a small tile.</li>
+<li>Select a category for your application (accounting application, action
+game, etc.).</li>
+<li>Select a language for your application.</li>
+</ul>
+</li>
+<li>If you are an owner or manager of a Google Group, you can select that group
+in the &#8220;Trusted testers&#8221; field.<ul class="small-gap">
+<li>You may want to create a Google Group specifically for your testers. When
+you add a group to the &#8220;Trusted testers&#8221; field, all group members will be
+able to test the application, in addition to the individuals you added to
+the &#8220;trusted tester accounts&#8221; field on the Developer Dashboard.</li>
+</ul>
+</li>
+<li>Click the &#8220;Publish to test accounts&#8221; button at the bottom of the page and
+click &#8220;OK&#8221;.</li>
+<li>A page comes up that shows your application&#8217;s listing in the Chrome Web
+Store. Copy the URL and mail it to your trusted testers.<ul class="small-gap">
+<li>When you publish an application to test accounts, the application&#8217;s CWS
+listing is visible only to you and to people who are logged into those
+accounts. Your application won&#8217;t appear in search results, so you need to
+give testers a direct link to your application&#8217;s CWS listing. Users won&#8217;t
+be able to find the application by searching in the CWS.</li>
+</ul>
+</li>
+</ol>
+<p>To publish an application to the world after publishing it to test accounts,
+you must first unpublish the application. For additional information see
+<a class="reference external" href="https://developers.google.com/chrome/web-store/docs/publish">Publishing Your App</a>, and in
+particular <a class="reference external" href="https://developers.google.com/chrome/web-store/docs/publish#testaccounts">Publishing to test accounts</a>.</p>
+</section></section>
+
+{{/partials.standard_nacl_article}}

Powered by Google App Engine
This is Rietveld 408576698