| OLD | NEW |
| 1 <div id="pageData-name" class="pageData">Hosting</div> | 1 <div id="pageData-name" class="pageData">Hosting</div> |
| 2 <div id="pageData-showTOC" class="pageData">true</div> | |
| 3 | 2 |
| 4 <p> | 3 <p> |
| 5 Until the | 4 This page tells you how to host <code>.crx</code> files |
| 6 <a href="http://code.google.com/chrome/webstore/">Chrome Web Store</a> | 5 on your own server. |
| 7 is available to the public, | 6 If you distribute your extension, app, or theme solely through the |
| 8 you can host your extension | 7 <a href="http://chrome.google.com/webstore">Chrome Web Store</a>, |
| 9 using the <a href="https://chrome.google.com/extensions">Extensions Gallery</a>. | 8 you don't need this page. |
| 10 Once the store is public, | 9 Instead, consult the store help and |
| 11 the gallery's contents will be merged into the store. | 10 <a href="http://code.google.com/chrome/webstore/index.html">developer documentat
ion</a>. |
| 12 Another option | 11 <!-- PENDING: add a link to the help --> |
| 13 is hosting your extension on other servers. | 12 </p> |
| 13 |
| 14 <p class="note"> |
| 15 <strong>Note:</strong> |
| 16 If you've already published extensions to the |
| 17 <a href="https://chrome.google.com/extensions">Extensions Gallery</a>, |
| 18 they will be merged into the store. |
| 14 </p> | 19 </p> |
| 15 | 20 |
| 16 <p> | 21 <p> |
| 17 This page gives tips for using the gallery, | 22 By convention, extensions, |
| 18 as well as details on how to host extensions on your own server. | 23 installable web apps, and themes are served—whether |
| 19 </p> | 24 by the Chrome Web Store or by a custom server—as |
| 20 | 25 <code>.crx</code> files. |
| 21 <h2 id="gallery">Publishing to the Extensions Gallery</h2> | 26 When you upload a ZIP file with the |
| 22 | 27 <a href="https://chrome.google.com/webstore/developer/dashboard">Chrome Develope
r Dashboard</a>, |
| 23 <p> | 28 the dashboard creates the <code>.crx</code> file for you. |
| 24 To publish extensions, | |
| 25 you first need to pay a one-time | |
| 26 <a href="http://blog.chromium.org/2010/08/security-improvements-and-registration
.html">$5 developer registration fee</a>. | |
| 27 </p> | |
| 28 | |
| 29 <p class="note"> | |
| 30 <b>Note:</b> | |
| 31 If you used the Chrome Developer Dashboard before | |
| 32 the first developer preview release of the Chrome Web Store — | |
| 33 to publish an extension, for example — | |
| 34 you don't need to pay the fee. | |
| 35 </p> | 29 </p> |
| 36 | 30 |
| 37 <p> | 31 <p> |
| 38 Publishing to the gallery is easy, | 32 If you aren't publishing using the dashboard, |
| 39 but your extension might be more popular | 33 you need to create the <code>.crx</code> file yourself, |
| 40 if you take a little time to prepare: | 34 as described in <a href="packaging.html">Packaging</a>. |
| 41 </p> | 35 You can also specify |
| 42 | 36 <a href="autoupdate.html">autoupdate</a> information to ensure that |
| 43 <ul> | 37 your users will have the latest copy of the <code>.crx</code> file. |
| 44 <li> Visit the | |
| 45 <a href="https://chrome.google.com/extensions">gallery</a> | |
| 46 and look at similar extensions' pages. | |
| 47 Your extension's page should look at least as good as theirs. </li> | |
| 48 <li> Consider creating a support site for your extension, | |
| 49 maybe a <a href="http://groups.google.com">Google Group</a>. | |
| 50 If your extension's page has a link to your support site, | |
| 51 people will be less likely to | |
| 52 complain in the user comments. </li> | |
| 53 <li> Consider creating a custom Gmail account | |
| 54 for this extension or for all of your extensions. | |
| 55 Only one account can upload, publish, and update your extension. </li> | |
| 56 <li> Create some great text (titles and descriptions) | |
| 57 and images (maybe even video) for your extension. | |
| 58 See the | |
| 59 <a href="http://www.google.com/support/chrome/bin/answer.py?answer=113909">g
allery help</a> | |
| 60 for details on screenshot and text requirements. </li> | |
| 61 </ul> | |
| 62 | |
| 63 <p> | |
| 64 To upload your extension, | |
| 65 just zip up your extension's directory, | |
| 66 go to the | |
| 67 <a href="https://chrome.google.com/extensions/developer/dashboard">Developer Das
hboard</a>, | |
| 68 and add your extension. | |
| 69 This creates a page for your extension, | |
| 70 viewable only by you. | |
| 71 Now you can edit your extension's page — | |
| 72 uploading images, specifying text, and so on. | |
| 73 </p> | 38 </p> |
| 74 | 39 |
| 75 <p> | 40 <p> |
| 76 Once you verify that your extension's page looks good | 41 A server that hosts <code>.crx</code> files |
| 77 and all links are valid, | |
| 78 publish your extension. | |
| 79 </p> | |
| 80 | |
| 81 <p> | |
| 82 When you want to update your extension, | |
| 83 use the dashboard to upload and publish the new version. | |
| 84 Your users will automatically get the new version | |
| 85 over the next few hours. | |
| 86 </p> | |
| 87 | |
| 88 | |
| 89 <h2 id="server">Hosting on your own server</h2> | |
| 90 | |
| 91 <p> | |
| 92 By convention, extensions are served — | |
| 93 whether by the gallery or by a custom server — | |
| 94 as <code>.crx</code> files. | |
| 95 When you upload an extension to the gallery, | |
| 96 the gallery creates the <code>.crx</code> file for you. | |
| 97 If you aren't using the gallery, | |
| 98 you need to create the <code>.crx</code> file yourself, | |
| 99 as described in <a href="packaging.html">Packaging</a>. | |
| 100 </p> | |
| 101 | |
| 102 <p class="note"> | |
| 103 <b>Note:</b> | |
| 104 If you do your own hosting, | |
| 105 don't forget to set up | |
| 106 <a href="autoupdate.html">autoupdate</a>, | |
| 107 so you can be sure that | |
| 108 your extension's users have the latest version. | |
| 109 </p> | |
| 110 | |
| 111 <p> | |
| 112 A server that hosts extensions | |
| 113 must use appropriate HTTP headers, | 42 must use appropriate HTTP headers, |
| 114 so that users can install your extension | 43 so that users can install the file |
| 115 by clicking a link to it. | 44 by clicking a link to it. |
| 116 </p> | 45 </p> |
| 117 | 46 |
| 118 <p> | 47 <p> |
| 119 Google Chrome considers a file to be an extension | 48 Google Chrome considers a file to be installable |
| 120 if <b>either</b> of the following is true: | 49 if <b>either</b> of the following is true: |
| 121 </p> | 50 </p> |
| 122 | 51 |
| 123 <ul> | 52 <ul> |
| 124 <li> | 53 <li> |
| 125 The file has the content type | 54 The file has the content type |
| 126 <code>application/x-chrome-extension</code> | 55 <code>application/x-chrome-extension</code> |
| 127 </li> | 56 </li> |
| 128 <li> | 57 <li> |
| 129 The file suffix is <code>.crx</code> | 58 The file suffix is <code>.crx</code> |
| (...skipping 13 matching lines...) Expand all Loading... |
| 143 <li> "unknown/unknown" </li> | 72 <li> "unknown/unknown" </li> |
| 144 <li> "application/unknown" </li> | 73 <li> "application/unknown" </li> |
| 145 <li> "*/*" </li> | 74 <li> "*/*" </li> |
| 146 </ul> | 75 </ul> |
| 147 </li> | 76 </li> |
| 148 </ul> | 77 </ul> |
| 149 </li> | 78 </li> |
| 150 </ul> | 79 </ul> |
| 151 | 80 |
| 152 <p> | 81 <p> |
| 153 The most common reason for failing to recognize an extension | 82 The most common reason for failing to recognize an installable file |
| 154 is that the server sends the header | 83 is that the server sends the header |
| 155 <code>X-Content-Type-Options: no sniff</code>. | 84 <code>X-Content-Type-Options: no sniff</code>. |
| 156 The second most common reason | 85 The second most common reason |
| 157 is that the server sends an unknown content type — | 86 is that the server sends an unknown content type—one |
| 158 one that isn't in the previous list. | 87 that isn't in the previous list. |
| 159 To fix an HTTP header issue, | 88 To fix an HTTP header issue, |
| 160 either change the configuration of the server | 89 either change the configuration of the server |
| 161 or try hosting the extension at another server. | 90 or try hosting the <code>.crx</code> file at another server. |
| 162 </p> | 91 </p> |
| OLD | NEW |