Plugin Registry

We use npmjs.org. Make sure to set secure_rewrites to false in your CouchDB config (You can use futon for that).

Install Locally

  1. Install couchdb:
  2. Start up couchdb:
  3. Set up admin on couchdb: http://guide.couchdb.org/draft/security.html

  4. Check out Futon panel for couchdb: http://127.0.0.1:5984/_utils/

  5. Sign in as admin:
    • Click on the 'Login' link in the bottom right (kinda hard to find) and use credentials set in step 3
  6. Turn secure_rewrites to false:
    • Go to Tools/Configuration
    • Search for secure_rewrites under the section httpd
    • Make sure secure_rewrites is set to false
  7. install couchapp
    • sudo npm install couchapp -g
  8. Clone npmjs.org: https://github.com/imhotep/npmjs.org

    • Follow the "Installing" part of the readme, but don't synch from the npm registry.
  9. Replicate from cordova registry
  10. Launch the registry locally:
  11. Use plugin-registry to interact with registry locally: https://github.com/imhotep/plugman-registry

plugin.xml tags

To publish a Cordova plugin. One has to specify a couple of things. As per npm, id and version <plugin> attributes are required. Everything else is optional. <name> is a human readable name and does not have to follow npm's rules (no spaces).

There are new XML tags that are pretty self explanatory: <author>, <description>, <license>, <keywords> (comma separated keywords). They help with search and discovery.

plugman

Plugman creates a package.json based on Cordova's plugin.xml which is required by npm. It stores its configuration, log file and cache in a folder named .plugman in the user's directory so that it doesn't interfere with npm's own configuration. It implements and maps the following actions:

plugman

plugman can be pointed at any registry by running

plugman has new commands to handle adduser, publish, unpublish, search. One can install a plugin from registry by specifying the plugin_name if that plugin is not already in the Cordova project's plugins directory.

Examples

Missing

npm does not support download counts or popularity for packages. We might be able to add that later.

PluginDiscovery (last edited 2013-08-19 23:10:03 by timkim)