Authorise with server
The plugin tool needs to be authorised to use your server. Start the process by running the plugin tool
auth command, specifying the hostname of your application.
haplo-plugin auth app.example.com
Next, you need to open your web browser and authenticate the request. The plugin tool will have printed out a URL to visit, and on some platforms, will have automatically opened the page in your web browser.
After you have authenticated, return to the terminal and wait until the plugin tool finishes the authorisation process.
This will set the default server, which will be used for future
haplo-plugin commands. You can authorise the plugin tool for multiple servers, then use the
server command to switch between them. To choose a server temporarily, use the
-s command line switch. You only need specify a unique substring of the server name.
The API keys used by the plugin tool are stored in a
.server.json file in the current directory. Do not commit this to source control.
Creating a new plugin
To create a new plugin called
test_plugin, make sure you’re in your project folder, then type:
haplo-plugin -p test_plugin new
This will create a
test_plugin folder, populated with the minimum files necessary to register the plugin and respond to an HTTP request.
Developing your plugin
haplo-plugin -p test_plugin
will upload the plugin to the server, and install it. You can test the plugin by visiting the URL given in the output from the
new command, replacing the hostname with the hostname of the application you’re using for development.
While it is running:
- if you make any changes to the files on the disc, the Plugin Tool will automatically upload them to the server
- if your plugin calls console.log(), the message will output by the Plugin Tool.
When developing a plugin, you may occasionally make a mistake.
Errors are reported in two ways. Firstly, within your web browser, and secondly, as output from the Plugin Tool.
The Plugin Tool also does syntax and code correctness checking with JSHint. Plugins won’t be accepted unless they pass these tests which help you avoid common mistakes.
If your plugin doesn’t work as you expect, for example a change isn’t applied, check the output of the Plugin Tool in the terminal window. It will attempt to make a beep sound when it needs your attention, but this may not work on your platform.
Where appropriate, you should write automated tests for your plugin’s key functionality. To run them, use the
haplo-plugin -p test_plugin test
test command takes an optional argument to specify a subset of the tests. If given, only the test scripts whose filenames contain the given string will be run.
Currently debugging support is a little minimal, limited to reporting errors in the web browser and viewing the output of console.log() while the Plugin Tool is running the
You can also view the output of
console.log() in System management:
A full debugger may be provided in the future.
To remove a plugin under development, type
haplo-plugin -p test_plugin uninstall
Run the plugin tool again to upload and re-install the plugin.
For full command line usage information, type
to display the built in documentation.